Skip to content
oEmbed proxy. Supports over 1800 domains via custom parsers, oEmbed, Twitter Cards and Open Graph
JavaScript HTML Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
ansible-docker-iframely Added docker build instructions and ansible playbook Aug 1, 2019
docker change to ash for alpine May 3, 2019
docs doc: fix relative path Sep 3, 2019
lib oembed: fix oembed.html iframe attributes Feb 6, 2020
modules tests: bugfix Jan 29, 2020
patches Add http2 support. Jun 3, 2019
plugins domains: tumblr embed codes are broken atm Feb 13, 2020
static update version to 1.4.1 Feb 17, 2020
test fix test Mar 29, 2019
views unify cache refresh: rename option disableCache to refresh Sep 9, 2019
whitelist Whitelist is available to everyone. Happy 2015! Dec 29, 2014
.dockerignore Add Dockerfile and an init script for container Apr 2, 2016
.gitignore fix custom plugins path in config example Mar 14, 2017
.travis.yml update supported node.js version Aug 29, 2019
Dockerfile Update to latest node May 3, 2019
LICENSE Update readme and license with up-to-date year Jan 13, 2015
Makefile Push version to 1.3.1 Aug 1, 2019 docs: bump (c) year Aug 30, 2019 add what's new Nov 7, 2017
app.js server: use 403 code for 401 errors Mar 26, 2019
cluster.js [server] use 'graceful-cluster' lib Jul 25, 2016
config.js revert: update TEMP_HTTP_ERROR_CODES const with 401, 403 Sep 10, 2019
config.local.js.SAMPLE customizable proxy.cache_ttl Sep 11, 2019
config.test.js [tests] add end to end tests Oct 14, 2016
config.test_with_custom_plugins.js [tests] fix http server tests Jun 22, 2017
logging.js log process id Aug 20, 2019
package.json update version to 1.4.2 Feb 17, 2020
pm2.json [cluster] update pm2 config Jul 21, 2016 [cluster] add restart script Jul 21, 2016
server.js Add http2 support. Jul 1, 2019 Make Debug and Tests UI modules a little nicer Oct 25, 2013
utils.js core: new error with messages Oct 24, 2017
yarn.lock dependencies security updates Feb 17, 2020

Iframely API for Responsive Web Embeds

This is the self-hosted version of Iframely's APIs and parsers.

Iframely gives your fast and simple API for responsive web embeds and semantic meta. The parsers cover well over 1800 domains through 200+ custom domain plugins and generic support for oEmbed, Open Graph and Twitter Cards, that are powered by Iframely's whitelist.

The whitelist file is pulled from database and is updated automatically. The whitelisting is manual process on our end. You can also have your own whitelist file.

HTTP APIs are available in oEmbed or Iframely API formats. To make it simple to understand, Iframely format mimics the <head> section of the page with its meta and links elements.

In response to url request, APIs returns you the embeds and meta for a requested web page. Below are data samples from hosted API, just to show you the format:

Iframely can also be used as Node.js library (that's how it is used in our cloud API).

Requires Node version 7 and up.

Not included as compared to Cloud API

Hosted cloud APIs add optional iFrame renders and number of widgets such as cards, GIF support, player events, AMP, and others. Our more/less toggle for per-URL customizations, predictive height mechanism for non-iFrame embeds, lazy-loading, type-based whitelist and fallbacks as well as number of other customizations is only available in the cloud.

This open-source version provides the web parsers only, though hosted API uses data from parsers as-is. The API endpoints between the version should match format pretty closely, though there might be minor discrepancies.

There's also a bunch of domain parsers that are not included in self-hosted version. Those are the parsers that we consider vulnarable for changes on publisher's origin servers and so requiring quicker turnaround time for any updates and fixes.

Get started:

To get started with the APIs:


We put our best effort to maintain Iframely and all its domain parsers. Please, feel free to reach us on Twitter or to submit an issue if you have any suggestions. Our support email is support at

Fork and pull-request, if you'd like to add more plugins and/or contribute fixes or improvements. By doing so, you make your work available under the same MIT license.

If you see an error in our domains whitelist (you can debug URLs here), please ping us and we'll fix it in no time.

License & Authors

MIT License. (c) 2012-2019 Itteco Software Corp. Nazar Leush, Ivan Paramonau

Please, check the contributors list to get to know awesome folks that also helped a lot.

You can’t perform that action at this time.