Instagram Web reels search API
Search Instagram Reels through a web search index rather than Instagram's own search, and get matching reels (caption, likes, comments, creator, and duration). That is what lets it filter by a recency window and page by number, and it is also why the results are whatever the index has crawled rather than what Instagram ranks right now, and why paging tops out around 110 reels per query (11 pages of 10). Instagram does not return view or play counts here. For Instagram's own live reels search, with view counts, use instagram.reels_search.
Try it
Make your first request
{
"data": {
"reels": [
{
"caption": "A short example description of this item.",
"comments": 12500,
"createdUtc": 12.5,
"durationSeconds": 12.5,
"likes": 12500,
"paidPartnership": true,
"shortcode": "a1b2c3d4",
"thumbnail": "https://example.com/image.jpg",
"url": "https://example.com/page",
"username": "alex_rivera",
"verified": true
}
]
},
"found": true
}interface InstagramWebReelsSearchResponse {
data: {
reels: {
caption: string;
comments: number;
createdUtc: number;
durationSeconds: number;
likes: number;
paidPartnership: boolean;
shortcode: string;
thumbnail: string;
url: string;
username: string;
verified: boolean;
}[];
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-16 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/instagram.web_reels_search \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"travel"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| query | string | "travel"Search keyword (e.g. "crossfit"). |
| datePosted | enum | Recency hint, not a hard filter. Reel discovery runs on top of Google search, so this window narrows Google's index by when it discovered or last crawled the reel, which is not the same as when the reel was published to Instagram. Returned reels can have a createdUtc outside the requested window, and the narrowest window, last-week, often returns older reels or no results. Check createdUtc yourself if you need exact publication-time precision. |
| page | integer | 1-based results page. |
| Response | ||
| data | object | Wrapper holding the reels array, or null when nothing was found. |
| data.reels | object[] | Reels matching the search. Populated whenever the provider has data for the entity. |
| data.reels[].caption | string | Reel caption text. Populated whenever the provider has data for the entity. |
| data.reels[].comments | integer | Number of comments on the reel. |
| data.reels[].createdUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.reels[].durationSeconds | number | Reel duration in seconds. |
| data.reels[].likes | integer | Number of likes on the reel. |
| data.reels[].paidPartnership | boolean | True when the reel is a paid partnership. |
| data.reels[].shortcode | string | Instagram media shortcode. Populated whenever the provider has data for the entity. |
| data.reels[].thumbnail | string | URL of the reel thumbnail image. Populated whenever the provider has data for the entity. |
| data.reels[].url | string | Canonical URL of the reel. Populated whenever the provider has data for the entity. |
| data.reels[].username | string | Username of the account that posted the reel. Populated whenever the provider has data for the entity. |
| data.reels[].verified | boolean | True when the posting account is verified. |
| found | boolean | True when matching reels were found; false when the search returned nothing. |
| Price | ||
| Price per request | USD | $0.0012 |
| Price /1k req | USD | $1.20 |
FAQ
About the Instagram Web reels search API
The AnyAPI Instagram Web reels search API returns Instagram web reels search data as normalized JSON from one POST call to /v1/run/instagram.web_reels_search. Search Instagram Reels through a web search index rather than Instagram's own search, and get matching reels (caption, likes, comments, creator, and duration). That is what lets it filter by a recency window and page by number, and it is also why the results are whatever the index has crawled rather than what Instagram ranks right now, and why paging tops out around 110 reels per query (11 pages of 10). Instagram does not return view or play counts here. For Instagram's own live reels search, with view counts, use instagram.reels_search. AnyAPI returns one normalized schema whichever source serves it. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Instagram web reels search calls through AnyAPI succeeded, with a median response time of 4.0 seconds across 1 measured calls.