{"id":13402461,"url":"https://github.com/itteco/iframely","last_synced_at":"2025-05-13T16:06:23.549Z","repository":{"id":2482966,"uuid":"3456407","full_name":"itteco/iframely","owner":"itteco","description":"oEmbed proxy. Supports over 1800 domains via custom parsers, oEmbed, Twitter Cards and Open Graph","archived":false,"fork":false,"pushed_at":"2025-04-16T20:29:27.000Z","size":11801,"stargazers_count":1565,"open_issues_count":9,"forks_count":308,"subscribers_count":52,"default_branch":"main","last_synced_at":"2025-04-17T07:36:14.855Z","etag":null,"topics":["embeds","oembed","open-graph","responsive","twitter-cards"],"latest_commit_sha":null,"homepage":"https://iframely.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"programmatical/pose","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itteco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-02-16T02:50:07.000Z","updated_at":"2025-04-16T20:29:32.000Z","dependencies_parsed_at":"2023-12-22T18:36:25.250Z","dependency_job_id":"b021cb61-c137-421b-b83c-140d635de9ee","html_url":"https://github.com/itteco/iframely","commit_stats":{"total_commits":5362,"total_committers":62,"mean_commits":86.48387096774194,"dds":"0.49906751212234246","last_synced_commit":"c38710d632f9d61136d675d3a5cf35026b1c590f"},"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itteco%2Fiframely","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itteco%2Fiframely/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itteco%2Fiframely/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itteco%2Fiframely/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itteco","download_url":"https://codeload.github.com/itteco/iframely/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250513678,"owners_count":21443204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embeds","oembed","open-graph","responsive","twitter-cards"],"created_at":"2024-07-30T19:01:16.338Z","updated_at":"2025-04-23T20:48:13.660Z","avatar_url":"https://github.com/itteco.png","language":"JavaScript","readme":"# Iframely API for Responsive Web Embeds and URL Meta\n\nThis is the self-hosted version of [Iframely](https://iframely.com)'s APIs and HTML parsers. \n\nIframely takes your URL and returns its metadata. If supported on the URL, we'll add HTML of rich media embeds. Think layers, posts, slideshows, surveys, infographics, maps and more.\n\nThis package includes specific domain parsers for most popular publishers. YouTube, Facebook, Instagram, Twitter, SoundCloud, Google Maps, TED, Twitch and many more. See `/plugins/domains` folder. In addition, we cover many domains by whitelisting media through the generic publishing protocols: [oEmbed](http://oembed.com/), [Open Graph](http://ogp.me/), [Twitter Cards](https://dev.twitter.com/docs/cards) and microformats. For the rest of URLs, you'll include have metadata and thumbnail images from those protocols. Use it to create your own URL previews.\n\nIframely's [whitelist file](https://iframely.com/qa/domains.json) is fetched from our central database. The changes are synced automatically to your instance by default. But you replace that with [your own whitelist](https://iframely.com/docs/whitelist-format) file. There should be over 1500 domains covered by the central whitelist. \n\n## Breaking changes in version 2.0.0\n\nThe minimum version of the Node required for Iframely starting from version 2.0.0 is Node 14. Please see [migration steps](https://github.com/itteco/iframely/issues/350) from earlier versions.\n\n## API endpoints\n\nTo make use of the data, you need to connect to APIs over HTTP. There are two endpoints available. One in [oEmbed](https://iframely.com/docs/oembed-api) and one in [Iframely API](https://iframely.com/docs/iframely-api) format. The oEmbed endpoint is just an adapter from Iframely to oEmbed spec. \n\nIframely format mimics the `\u003chead\u003e` section of the page. It has `meta` field for data and `links` array for media. \n\nBoth endpoints accept `\u0026url=` input and provide JSON response. Below are some open responses from our [cloud API](https://iframely.com), so you can see the format:\n\n- [\u003e\u003e Iframely API call for Coub video](https://iframe.ly/ACcM3Y.json)\n- [\u003e\u003e Same one, but as oEmbed](https://iframe.ly/ACcM3Y.oembed)\n\nYou can use Iframely can as Node.js library. That's how we use it in the cloud. However, documentation on it [is lacking](https://github.com/itteco/iframely/issues/186).\n\n## Not included as compared to Cloud API\n\nHosted [cloud APIs](https://iframely.com) can optionally return Iframely.com-powered iFrame renders in the `html` field. iFrames deliver all hosted widgets such as cards for URL previews, GIF support, player events, AMP, and others. Our [per-URL customization](https://iframely.com/docs/options), predictive sizing mechanism for JavaScript-based embeds to minimize the layout shift, lazy-loading, type-based media whitelist and the number of other configurations are only available in the cloud. \n\nThis open-source version provides the web parsers only. Iframely cloud use data from those parsers as-is in production. Though the format of API endpoints between the cloud and self-hosted version should match, there might be minor discrepancies.\n\nFinally, there's a number of domain plugins not included in self-hosted version. We seem to have stopped adding new publishers to the open-source. It looks like many of our later providers need quicker turnaround time for updates and fixes. You can extend the self-hosted version with private plugins too.\n\n\n## Get started:\n\nTo get started with the APIs: \n\n - Your API endpoints will be at `{your.server}/iframely?url=` and `{your.server}/oembed?url=`\n - [How to install \u0026 configure](https://iframely.com/docs/host) your Iframely host.  \n - [API in Iframely format](https://iframely.com/docs/iframely-api)\n - [API in oEmbed format](https://iframely.com/docs/oembed-api)\n - [About Link Rels, Types and Media Queries](https://iframely.com/docs/links) in Iframely format (players, thumbnails, app, reader, survey, slideshow, etc)\n - [META semantics](https://iframely.com/docs/meta) Iframely API scrapes for you.\n - Visual debug tool included in the package is at `{your.server}/debug`\n\n\n## Contribute\n\nWe put our best effort to maintain Iframely and all its domain parsers. Please, feel free to [reach us on Twitter](http://twitter.com/iframely) or to [submit an issue](https://github.com/itteco/iframely/issues) if you have any suggestions. Our support email is support at iframely.com\n\nFork 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.\n\nPlease submit your PR against `develop` branch. This is where everything gets merged before we release it into `master`.\n\n\n## License \u0026 Authors\n\nMIT License. (c) 2012-2022 Itteco Software Corp. [Nazar Leush](https://github.com/nleush), [Ivan Paramonau](https://twitter.com/iparamonau) and the [contributors](https://github.com/itteco/iframely/graphs/contributors).\n\n","funding_links":[],"categories":["JavaScript","others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitteco%2Fiframely","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitteco%2Fiframely","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitteco%2Fiframely/lists"}