oEmbed proxy. Supports over 1800 domains via custom parsers, oEmbed, Twitter Cards and Open Graph
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docker Add Dockerfile and an init script for container Apr 2, 2016
docs docs: update Node version Jan 19, 2018
lib domains: better support for instagram tv Aug 27, 2018
modules views api: set disableCache by refresh get param Dec 12, 2017
plugins general: redirect more embed urls to canonical Sep 7, 2018
static accept: use type names from config Jun 1, 2018
test fix tests May 22, 2018
views try m3u8 with hls.js script May 29, 2018
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 try fix http parse error on node 10 Sep 7, 2018
Dockerfile Add Dockerfile and an init script for container Apr 2, 2016
LICENSE Update readme and license with up-to-date year Jan 13, 2015
README.md 2nd proof-reading of readme updates Sep 14, 2017
WHATSNEW.md add what's new Nov 7, 2017
app.js better fix test issue May 25, 2018
cluster.js [server] use 'graceful-cluster' lib Jul 25, 2016
config.js try fix http parse error on node 10 Sep 7, 2018
config.local.js.SAMPLE options: allow camo proxy for all images, not just non-ssl Jun 8, 2018
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 [logging] log sender ip address Mar 29, 2016
package-lock.json update dependencies Aug 30, 2018
package.json update version to 1.2.7 Sep 7, 2018
pm2.json [cluster] update pm2 config Jul 21, 2016
restart-cluster.sh [cluster] add restart script Jul 21, 2016
server.js better startup message Apr 21, 2017
test-plugins.sh Make Debug and Tests UI modules a little nicer Oct 25, 2013
utils.js core: new error with messages Oct 24, 2017
yarn.lock try fix critical dependencies May 23, 2018

README.md

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 iframely.com 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 0.10.22 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, AMP, and others. 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:

Contribute

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 iframely.com

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-2017 Itteco Software Corp. Nazar Leush, Ivan Paramonau

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