# Instagram > Instagram is a photo and video sharing social network owned by Meta. Its developer surface — the > Instagram Platform — lets an app act on behalf of an Instagram professional (Business or Creator) > account: publish media, manage comments, read insights, discover hashtags, track mentions and > handle Direct messages. It is served by the Meta Graph API infrastructure and authenticated with > OAuth 2.0. Generated by the API Evangelist enrichment pipeline on 2026-08-29 from this repository (https://github.com/api-evangelist/instagram). Meta publishes no llms.txt of its own — probed 2026-08-29: developers.facebook.com/llms.txt returned 400, developers.facebook.com/.well-known/llms.txt returned 404, and www.instagram.com/llms.txt returned a single-page-app HTML shell rather than a document. ## What you need to know first - **Two login models, two hosts.** "Instagram API with Instagram Login" is based at `https://graph.instagram.com` and uses `instagram_business_*` permissions. "Instagram API with Facebook Login" is based at `https://graph.facebook.com` and uses `instagram_*` permissions. Hashtag search and business discovery require Facebook Login. - **Version in the path.** `/v26.0/` is the current Graph API version (released 2026-07-29). Every version is supported for two years after its successor ships. An expired version is silently redirected to the next oldest usable one. - **`?fields=` is mandatory in practice.** A bare node request returns almost nothing. This is the single most common cause of "the API returned no data". - **Cursor pagination.** `{data:[], paging:{cursors:{before,after}, next, previous}}`. Follow `paging.next` verbatim. - **Errors are not RFC 9457.** Read `error.code`, not the HTTP status — Meta returns HTTP 400 for most failures. - **No idempotency key.** Nothing on this platform lets a caller make a retry safe. - **Free, but gated.** There is no per-call fee. Access is gated by App Review and Business Verification, not by money. ## APIs - [Instagram Media API](https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login): photos, videos, stories, reels and carousels. `getUserMedia`, `getUserStories`, `getMedia`, `updateMedia`, `deleteMedia`, `getMediaChildren`. - [Instagram Publishing API](https://developers.facebook.com/docs/instagram-platform/content-publishing): two-step container publishing. `createMediaContainer`, `publishMedia`, `getContainer`, `getContentPublishingLimit`. - [Instagram Comments API](https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login): comment moderation. `getMediaComments`, `getComment`, `createComment`, `createCommentReply`, `getCommentReplies`, `hideComment`, `deleteComment`. - [Instagram Insights API](https://developers.facebook.com/docs/instagram-platform/insights): `getUserInsights`, `getMediaInsights`. - [Instagram Hashtags API](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-hashtag-search): `searchHashtag`, `getHashtagTopMedia`, `getHashtagRecentMedia`. Facebook Login only. - [Instagram Mentions API](https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login): `getUserTags`. - [Instagram Users API](https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login): `getUser`, `getBusinessDiscovery`. - [Instagram Messaging API](https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login/messaging-api): Instagram Direct. No OpenAPI in this repo. - [Instagram oEmbed API](https://developers.facebook.com/docs/instagram-platform/oembed): `GET https://graph.facebook.com/v26.0/instagram_oembed?url=...`. **The only endpoint callable with no credential** — anonymous since 2026-05-15, verified live 2026-08-29. ## Machine-readable contracts in this repository - openapi/instagram-media-api-openapi.yml - openapi/instagram-publishing-api-openapi.yml - openapi/instagram-comments-api-openapi.yml - openapi/instagram-insights-api-openapi.yml - openapi/instagram-hashtags-api-openapi.yml - openapi/instagram-mentions-api-openapi.yml - openapi/instagram-users-api-openapi.yml - json-schema/ — 11 schemas for the Media, Comment, User, Container, Insights, Paging and error shapes - collections/ and postman/ — Postman and OpenCollection exports per API - overlays/ — OpenAPI Overlay 1.0.0 documents carrying the enrichment annotations ## Runtime semantics - authentication/instagram-authentication.yml — OAuth 2.0 authorization code, both login models - scopes/instagram-scopes.yml — every `instagram_*` permission and what it grants - conventions/instagram-conventions.yml — pagination, field selection, tracing, reversibility - errors/instagram-problem-types.yml — the full Meta error-code catalog with subcodes - rate-limits/instagram-rate-limits.yml — Platform and Business Use Case limits, `X-App-Usage` - lifecycle/instagram-lifecycle.yml — version train, two-year support window, expiry table - asyncapi/instagram-webhooks.yml — 15 webhook fields, the WebSub handshake, `X-Hub-Signature-256` - conformance/instagram-conformance.yml — oEmbed 1.0 yes, OIDC partial, RFC 9457 no, idempotency no - data-model/instagram-data-model.yml — the node/edge graph - sandbox/instagram-sandbox.yml — there is no sandbox; testing runs against production - packages/instagram-packages.yml — the five Meta Business SDKs, with versions and release dates - agentic-access/instagram-agentic-access.yml — per-operation agent execution contracts - skills/ — four packaged Agent Skills grounded in real operationIds ## Acting safely as an agent - `hideComment` is the only fully reversible write. Prefer it to `deleteComment`. - `deleteMedia` and `deleteComment` are **irreversible** — no restore, no window. - `publishMedia` is a one-way door; the only way back is `deleteMedia`. - `createMediaContainer` is safe to retry and self-cleaning — unpublished containers expire after 24 hours. - An account may publish at most 100 posts per rolling 24 hours; check `getContentPublishingLimit` first. ## Documentation - [Instagram Platform](https://developers.facebook.com/docs/instagram-platform) - [Getting started](https://developers.facebook.com/docs/instagram-api/getting-started) - [API reference](https://developers.facebook.com/docs/instagram-api/reference) - [Permissions reference](https://developers.facebook.com/docs/permissions) - [Rate limiting](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/) - [Error handling](https://developers.facebook.com/docs/graph-api/guides/error-handling/) - [Instagram Platform changelog](https://developers.facebook.com/docs/instagram-platform/changelog) - [Graph API changelog](https://developers.facebook.com/docs/graph-api/changelog/) - [Platform status](https://developers.facebook.com/status/) - [Meta Bug Bounty](https://bugbounty.meta.com/)