Instagram oEmbed: embed HTML vs Sume's instagram_media read
Instagram oEmbed is meant only for embedding, at up to 1,000 requests per hour. Sume's instagram_media returns media candidates for a post or reel URL.

Meta's Instagram oEmbed endpoint is "only meant to be used for embedding Instagram content in websites and apps", accepts post, reel and profile URLs, and allows up to 1,000 requests every hour. If you need the media candidates for a post or reel URL as data, Sume's instagram_media route takes a url or a shortcode and returns them.
Meta facts are from its oEmbed page; Sume facts from the OpenAPI document behind the API reference, read 2026-09-30.
What does Instagram oEmbed return?
Supported URLs are https://www.instagram.com/p/{media-shortcode}/, /reel/{media-shortcode}/ and https://www.instagram.com/{username}. The default response has version, provider_name, provider_url, type, width and html; a fields parameter adds more. The sample call uses graph.facebook.com/v25.0/instagram_oembed. The point of the response is the html snippet to place on a page.
What does instagram_media return instead?
| Topic | Instagram oEmbed | Sume instagram_media |
|---|---|---|
| Intended use | Embedding only | Public read of one post or reel |
| Input | Post, reel or profile URL | url (up to 2048 characters) or shortcode |
| Output | Embed html and basic fields | Candidates only; Sume does not host them |
| Rate wording | Up to 1,000 requests per hour | 429 is a documented response; no hourly number in the schema |
Can I download the video through it?
No: the route hands back candidates, not files Sume stores, and it excludes login, stories, DMs, private accounts and automatic import. What you do with a candidate is your decision, subject to the rights you hold; this is not legal advice. A shortcode is 1 to 64 characters of letters, digits, _ or -, so you can pass the short id from a /reel/ URL directly. Over MCP the read is crawl_media with platform: "instagram" (see MCP tools and gates).
Which one should I pick?
Embedding on your own page: oEmbed. Reading a post's media for a brief: instagram_media.
Sources
Related posts
More in Developers
- Lambda 90-minute timeout: does it change AI video jobs?
AWS raised Lambda's async timeout to 90 minutes on Managed Instances. A Sume job still fits best as submit, then poll or webhook, and sync waits stay 30 s.
- LangGraph interrupt response_schema for paid video approval
LangGraph 1.2.12 adds response_schema to interrupt(). Use a typed approve, edit or reject reply with max spend to drive a Sume dry_run, then submit.
- List music models by API: GET /v1/music-router/models
The Music Router catalog endpoints list routable music model ids and a provider list price. Routable ids today: sume/music-auto, lyria-3.5, lyria-3-pro.
- LlamaIndex failed function tools: decide Sume retries in the tool
LlamaIndex v0.14.25 stops retrying failed function tools. Decide inside your Sume tool which errors are safe to retry, and return a status string.
Written by Sume