Instagram Reels search API
Search public Instagram Reels by keyword — shortcodes, captions, owners, metrics, and media URLs in structured JSON, without GraphQL scrapers or creator OAuth.
GET /v1/instagram/search/reels1 credit per successful request.
About this endpoint
Trend monitors and short-form research often start with a phrase, not a known handle or hashtag. You want Reels about a product, a niche craft, or a local scene, then decide which shortcodes deserve a full post fetch or a transcript. Homegrown Instagram Reels search scrapers chase signed browse requests that rotate without notice, and the result shapes rarely match the rest of your warehouse.
`GET /v1/instagram/search/reels` takes a required `query` string and returns matching public Reels in the shared Social Fetch envelope. Optional `datePosted` narrows by recency (`last-hour`, `last-day`, `last-week`, `last-month`, `last-year`). Pagination is page-based: omit `page` for the first page, or pass a 1-based `page` number. Each reel can include id, shortcode, url, caption, `takenAt`, thumbnail and media URLs, video duration, audio flags, metrics, dimensions, owner, location, audio attribution, and ad / partnership flags when Instagram exposes them. When `data.page.hasMore` is true, request `data.page.nextPage` as the next `page` value. Bill from `meta.creditsCharged`.
This route is keyword Reel discovery. Tag-led posts are `GET /v1/instagram/search/hashtags`. Account discovery is `GET /v1/instagram/search/profiles`. Once you know a creator handle, list that account's Reels tab with `GET /v1/instagram/profiles/{handle}/reels`. A single Reel by URL is `GET /v1/instagram/posts`. Pricing for this operation is 1 credit per successful request.
Instagram Reels search API FAQ
How do I search Instagram Reels via API?
Call `GET /v1/instagram/search/reels` with your Social Fetch API key (`x-api-key`) and a required `query` parameter. Read `data.query`, `data.reels`, and `data.page` in the JSON response. Full parameters and examples are in the API docs.
How much does Instagram Reels search 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 does each Instagram search Reel include?
Reels can include id, shortcode, url, caption, takenAt, thumbnailUrl, displayUrl, videoUrl, videoDurationSec, hasAudio, accessibilityCaption, metrics (views, plays, likes, comments), dimensions, owner (handle, displayName, avatar, verification, counts), location, audio attribution, and isAd / isAffiliate / isPaidPartnership when Instagram exposes them.
Reels search vs hashtag search vs profile Reels list?
Use this route for keyword Reel search across Instagram. Use `GET /v1/instagram/search/hashtags` for posts under a tag (optionally filtered to Reels). Use `GET /v1/instagram/profiles/{handle}/reels` when you already know the creator and want that account's Reels tab. They are separate operations on the Instagram hub.
Can I filter Instagram Reels search by date?
Yes. Pass optional `datePosted` as `last-hour`, `last-day`, `last-week`, `last-month`, or `last-year`. Keep the same `query` and `datePosted` when requesting later pages.
How does pagination work on Instagram Reels search?
Pagination is page-based, not cursor-based. Each response includes `data.page.currentPage`, `data.page.nextPage`, and `data.page.hasMore`. When `hasMore` is true, pass `nextPage` as the `page` query param on the next request. Keep the same `query` and `datePosted` across pages. Omit `page` (or use `1`) for the first page.
Do I need Instagram Graph API access to search Reels?
No. You authenticate to Social Fetch with an API key. The route reads public Reels search results for enrichment-style discovery. Meta's Instagram Graph API is for accounts you manage or that grant your app access — not arbitrary public Reels keyword search.
Other Instagram endpoints
- ProfileGET /v1/instagram/profiles/{handle}
- Basic profileGET /v1/instagram/profiles/{userId}/basic
- Profile postsGET /v1/instagram/profiles/{handle}/posts
- Profile reelsGET /v1/instagram/profiles/{handle}/reels
- Profile highlightsGET /v1/instagram/profiles/{handle}/highlights
- HighlightGET /v1/instagram/highlights/{highlightId}
- Post or reelGET /v1/instagram/posts
- CommentsGET /v1/instagram/posts/comments