Instagram profile Reels API
Page a creator's public Instagram Reels tab by handle — shortcodes, captions, play counts, and video URLs when available — without GraphQL scrapers or creator OAuth.
GET /v1/instagram/profiles/{handle}/reels1 credit per successful request.
About this endpoint
Short-form scoring and transcript queues usually want the Reels tab, not the mixed grid. You have a creator username. You need recent clips with play counts and playable URLs so you can rank hooks, queue speech-to-text, or store shortcodes for later detail pulls. Scraping that surface yourself hits the same signed Instagram GraphQL churn that breaks feed parsers.
`GET /v1/instagram/profiles/{handle}/reels` lists the public Reels tab by username (with or without `@`). On a completed call, branch on `data.lookupStatus` (`found` or `not_found`), then read `data.reels` and `data.page`. Each reel can include id, shortcode, caption, `takenAt`, public URL, display and thumbnail URLs, `videoUrl` when present, likeCount, commentCount, playCount, dimensions, and optional `owner` fields (platformUserId, handle, displayName, avatarUrl, verified). When `data.page.hasMore` is true, pass `data.page.nextCursor` as the opaque `cursor` query param. Bill from `meta.creditsCharged`.
This route is Reels-only. The mixed profile feed is `GET /v1/instagram/profiles/{handle}/posts`. Keyword Reel discovery is `GET /v1/instagram/search/reels`. A single Reel by URL is `GET /v1/instagram/posts`; spoken text for that URL is `GET /v1/instagram/posts/transcript`.
Instagram profile Reels API FAQ
How do I list Instagram Reels for a profile via API?
Call `GET /v1/instagram/profiles/{handle}/reels` with your Social Fetch API key (`x-api-key`) and the Instagram username in the path. Read `data.lookupStatus`, then `data.reels` and `data.page`. Full parameters and examples are in the API docs.
How much does the Instagram profile Reels endpoint cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
What fields are in each Instagram profile Reel?
Items can include id, shortcode, caption, takenAt (Unix seconds), public URL, displayUrl, thumbnailUrl, videoUrl when available, likeCount, commentCount, playCount, dimensions, and optional owner metadata (platformUserId, handle, displayName, avatarUrl, verified) when Instagram exposes them.
How do play counts help on Instagram profile Reels?
`playCount` is the view/play signal Instagram exposes on the Reel when available. Use it to rank recent clips for outreach or to decide which shortcodes deserve a transcript or full post fetch. It is not present on every row; treat missing counts as unknown, not zero.
How does pagination work on Instagram profile Reels?
Each response includes `data.page.nextCursor` and `data.page.hasMore`. When `hasMore` is true, pass `nextCursor` as the `cursor` query param on the next request. The cursor is opaque; do not invent or parse it.
Profile Reels vs profile posts vs Reels search?
Use this route when you already know the creator and want that account's Reels tab. Use `GET /v1/instagram/profiles/{handle}/posts` for the mixed feed (images, sidecars, in-feed video). Use `GET /v1/instagram/search/reels` when you have a keyword and no handle yet.
What happens for private or missing Instagram accounts?
Branch on `data.lookupStatus`. This Reels list uses `found` or `not_found` — private accounts surface as `not_found`, same as unknown handles. Do not invent a Reels grid. Keep `meta.requestId` if you need support on a failed list call.
Do I need Instagram Graph API access to list a creator's Reels?
No. Social Fetch returns publicly visible Reels for enrichment-style lookups. Meta's Instagram Graph API is for accounts you manage or that grant your app access — not arbitrary public creator Reels tabs.
Other Instagram endpoints
- ProfileGET /v1/instagram/profiles/{handle}
- Basic profileGET /v1/instagram/profiles/{userId}/basic
- Profile postsGET /v1/instagram/profiles/{handle}/posts
- Profile highlightsGET /v1/instagram/profiles/{handle}/highlights
- HighlightGET /v1/instagram/highlights/{highlightId}
- Post or reelGET /v1/instagram/posts
- CommentsGET /v1/instagram/posts/comments
- TranscriptGET /v1/instagram/posts/transcript