Instagram Hashtag search API
Recent posts under a hashtag with cursor pagination: shortcode, type, caption and media URL.
$1.20/1k req, pay per request, no subscription.
{"id": "3714950709444987377","shortcode": "DOOJ_zSjcnx","type": "XDTGraphVideo","url": "https://www.instagram.com/reel/DOOJ_zSjcnx/","caption": "Launch day! 🚀 #spacex","displayUrl": "https://instagram.com/reel/DOOJ_zSjcnx/media.jpg","avatarUrl": string,"comments": integer,... 18 more fields}
Pricing
Instagram Hashtag search API pricing
Try it
Get Instagram hashtag search in one request
This sample shows 9 of 31 fields. See every field
{
"found": true,
"data": {
"posts": [
{
"id": "3714950709444987377",
"shortcode": "DOOJ_zSjcnx",
"type": "XDTGraphVideo",
"url": "https://www.instagram.com/reel/DOOJ_zSjcnx/",
"caption": "Launch day! 🚀 #spacex",
"displayUrl": "https://instagram.com/reel/DOOJ_zSjcnx/media.jpg"
}
]
}
}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-11-05 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- hashtagstring
spacex
Hashtag to search, without the leading #.
- cursorstring
Pagination cursor from a previous response.
- datePostedenum
Restrict results to posts published within this window.
- mediaTypeenum
Filter by media type. One of all, reel.
Response
JSON, one example value per field.
- nextCursorstring
Opaque cursor for the next page of posts, or null when this lane has no more. Pass it back as cursor to continue.
Populated whenever the provider has data for the entity.
- avatarUrlstring
Profile picture URL of the posting account.
- captionstring
Launch day! 🚀 #spacex
Post caption text, including its hashtags.
- commentsinteger
Comment count.
- createdUtcnumber
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- displayNamestring
Display name of the posting account.
- displayUrlstring
https://instagram.com/reel/DOOJ_zSjcnx/media.jpg
Poster image URL. For a video this is the cover frame. Populated whenever the provider has data for the entity.
- durationSecondsnumber
Video duration in seconds. Absent on photo posts.
- hasAudioboolean
True when the media carries an audio track.
- hashtagsstring[]
Hashtags carried in the caption, each including its leading #. Populated whenever the provider has data for the entity.
- idstring
3714950709444987377
Instagram media id. Populated whenever the provider has data for the entity.
- isAdboolean
True when the post is a paid advertisement.
- likesinteger
Like count. Absent when the account hides it.
- 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
True when the post is tagged as a paid partnership.
- productTypestring
Instagram product type of the media, for example feed, clips or igtv.
- shortcodestring
DOOJ_zSjcnx
Short code in the post permalink. Populated whenever the provider has data for the entity.
- typestring
XDTGraphVideo
Instagram media typename, for example XDTGraphVideo or XDTGraphImage.
- urlstring
https://www.instagram.com/reel/DOOJ_zSjcnx/
Canonical permalink to the post. Populated whenever the provider has data for the entity.
- userIdstring
Instagram user id of the posting account.
- usernamestring
Username of the account that posted. Populated whenever the provider has data for the entity.
- verifiedboolean
True when the posting account is verified.
- videoUrlstring
Playable video file URL. Present only on video posts.
- foundboolean
true
- 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 Hashtag search API
The AnyAPI Instagram Hashtag search API returns Instagram hashtag search data as normalized JSON from one POST call to /v1/run/instagram.search_hashtag. Recent posts under a hashtag with cursor pagination: shortcode, type, caption and media URL. 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, 99.8% of Instagram hashtag search calls through AnyAPI succeeded, with a median response time of 10.8 seconds across 26,513 measured calls.
