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.
$1.20/1k req, pay per request, no subscription.
{"shortcode": "C9zK3poRxYZ","url": "https://www.instagram.com/reel/C9zK3poRxYZ/","caption": "48 hours in Lisbon on a carry on bag, save this for your next trip","thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/pocketpackedtravel_reel1.jpg","likes": 184300,"comments": 5621,"durationSeconds": 34.5,"createdUtc": 1758916800,... 10 more fields}
Pricing
Instagram Web reels search API pricing
Try it
Get Instagram web reels search in one request
This sample shows 14 of 22 fields. See every field
{
"found": true,
"data": {
"reels": [
{
"shortcode": "C9zK3poRxYZ",
"url": "https://www.instagram.com/reel/C9zK3poRxYZ/",
"caption": "48 hours in Lisbon on a carry on bag, save this for your next trip",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/pocketpackedtravel_reel1.jpg",
"likes": 184300,
"comments": 5621,
"durationSeconds": 34.5,
"createdUtc": 1758916800,
"username": "pocketpackedtravel",
"verified": true,
"paidPartnership": false
},
{
"shortcode": "C9x9mLoUklm",
"url": "https://www.instagram.com/reel/C9x9mLoUklm/",
"caption": "5 underrated beaches in the Algarve nobody talks about",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/saltandsuitcase_reel1.jpg",
"likes": 62410,
"comments": 1129,
"durationSeconds": 41.2,
"createdUtc": 1758657600,
"username": "saltandsuitcase",
"verified": false,
"paidPartnership": true
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- querystring
travel
Search keyword (e.g. "crossfit").
- datePostedenum
last-month
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.
- pageinteger
1
1-based results page.
Response
JSON, one example value per field.
Reels matching the search. Populated whenever the provider has data for the entity.
- captionstring
48 hours in Lisbon on a carry on bag, save this for your next trip
Reel caption text. Populated whenever the provider has data for the entity.
- commentsinteger
5621
Number of comments on the reel.
- createdUtcnumber
1758916800
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- durationSecondsnumber
34.5
Reel duration in seconds. Null when the source does not report it.
- hashtagsstring[]
Hashtags carried in the caption, each including its leading #. Populated whenever the provider has data for the entity.
- likesinteger
184300
Number of likes on the reel.
- locationIdstring
Instagram location id the post is tagged at.
- locationLatnumber
Latitude of the tagged location, in decimal degrees.
- locationLngnumber
Longitude of the tagged location, in decimal degrees.
- locationNamestring
Name of the location the post is tagged at.
- mentionsstring[]
Accounts @mentioned in the caption, each including its leading @. Populated whenever the provider has data for the entity.
- paidPartnershipboolean
false
True when the reel is a paid partnership.
- productTypestring
Instagram's own surface label for the reel, such as clips.
- shortcodestring
C9zK3poRxYZ
Instagram media shortcode. Populated whenever the provider has data for the entity.
- thumbnailstring
https://scontent.cdninstagram.com/v/t51.2885-15/pocketpackedtravel_reel1.jpg
URL of the reel thumbnail image. Populated whenever the provider has data for the entity.
- urlstring
https://www.instagram.com/reel/C9zK3poRxYZ/
Canonical URL of the reel. Populated whenever the provider has data for the entity.
- usernamestring
pocketpackedtravel
Username of the account that posted the reel. Populated whenever the provider has data for the entity.
- verifiedboolean
true
True when the posting account is verified.
- foundboolean
true
True when matching reels were found; false when the search returned nothing.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
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, 98.9% of Instagram web reels search calls through AnyAPI succeeded, with a median response time of 11.3 seconds across 23,968 measured calls.
