Powering link previews, metadata extraction, screenshots, Markdown conversion, embeds, and URL intelligence workflows at scale.
The oEmbed API helps developers turn URLs into embeddable content for apps, dashboards, CMS platforms, publishing tools, internal systems, and user-generated content workflows.
Send a URL and receive embeddable output your application can display, store, or transform into a rich link experience.
Return provider-supported oEmbed data when the URL supports native embeds.
Use embed-ready HTML when available from supported providers like YouTube, Vimeo, and others.
Generate a rich fallback card when a URL does not support native oEmbed.
Use page metadata to provide context around the embedded URL.
Display a visual thumbnail or preview image alongside the embed when available.
Every response includes a source field (native, discovery, or og_frame) so you know which resolver tier produced the embed.
Use normalized URL data to build consistent embed experiences across providers.
Receive structured output that your application can render, save, or pass into other workflows.
oEmbed, Embed, and Link Preview can sound similar. Here is how to know which fits your use case.
Generate embed-ready output across links, media, articles, and webpages.
You want a broader embedding workflow that is less tied to the oEmbed format.
Generate rich link previews with title, description, image, domain, and metadata.
You need preview cards instead of full embed behavior.
Pass any public URL via path or ?url= query parameter. Optionally set maxwidth and maxheight for layout control.
OpenGraph.io checks native oEmbed providers, then oEmbed discovery links, then generates a hosted fallback card. The source field tells you which tier resolved the embed.
Use the html field to render a native embed or fallback card. Structured errors with code and stage when resolution fails.
Every response includes a source field so you know exactly how the embed was resolved. Broken native providers gracefully degrade to the fallback frame.
source: nativeThe URL matches a known oEmbed provider such as YouTube or Vimeo. The native embed is passed through.
source: discoveryThe page advertises an oEmbed endpoint via a discovery link tag. We fetch and return it.
source: og_frameNo native embed exists. A hosted preview card is generated from the page OpenGraph metadata.
Pass URLs the way that fits your integration. Control sizing. Read structured errors when resolution fails.
Pass the target URL as ?url= instead of a path segment. Easier for demos, migrations, and playground integrations.
Standard oEmbed sizing hints forwarded to native providers and applied to fallback frame dimensions.
Responses include source: native | discovery | og_frame so you can label embeds and debug resolution paths.
Customize fallback card appearance with theme=light|dark|auto and template=default|compact for card vs banner layouts.
Start with an API key and generate embed-ready output from URLs without provider-specific setup.
Use native oEmbed when available and fallback cards when it is not. One endpoint covers both.
Implementation details live in the docs so this page stays focused on product fit.
Test real URLs before using embeds in production workflows.
Render useful previews for links submitted by users, editors, customers, or internal teams.
Pair embeds with previews, metadata, screenshots, extraction, and audits when your workflow needs more context.