Instagram Hashtag Posts
Instagram Hashtag Posts
Overview
List the posts published under a hashtag, the top posts (sort: top, the default) or the newest posts (sort: recent), as one page per call. Every post carries its id, shortcode, canonical URL, type (image, video, reel or carousel), publication time, author handle, caption (cut at 300 characters) and its like and comment counters. Reels and videos also carry view_count (views or plays); it is null on images and carousels and when the account hides its counters. Duplicate posts inside a page collapse into one entry. Repeat next_cursor back as cursor for the next page; null means the end of the list.
Fetched pages are cached for 24 hours and shared across the platform. A second request for the same page within that window answers instantly and is charged the lower cached price.
When to use
- Read what a niche actually publishes: the top posts show the formats and captions that work under a hashtag.
- Watch a niche over time:
sort: recent surfaces the newest posts instead of the evergreen top posts.
- Collect post-level numbers for a topic: likes, comments and views per post, without resolving every author first.
[!NOTE]
A hashtag without posts completes successfully with count: 0 and is not charged. Genuine errors of the data service (auth, rate limit, 5xx) still fail the run and are refunded.
For the authors behind the posts as short profiles, call instagram_hashtag_authors. For bio, website and public contact fields of an author, call instagram_profile with a returned author_username.
Endpoint
Output
Paging
Each call returns one page. To get the next page, pass the value of next_cursor back as cursor. A null cursor means the list is fully read. Pages are priced individually, so page only as deep as you need.
Pricing
This enrichment costs 2 credits for a freshly fetched page. A page served from the cache (at most 24 hours old) is charged the lower cached tier. Pages without posts are free.
Examples
Playground
States
| State |
Description |
queued |
Request accepted; waiting to be picked up by a worker. |
processing |
Worker is actively running the enrichment. |
completed |
Enrichment finished and results are available in output. |
failed |
Enrichment failed; reason is in error. Credits are refunded for failures unless otherwise noted. |
Errors
| Error |
When it happens |
What to do |
invalid_input |
hashtag is missing or contains characters a hashtag cannot hold (spaces, punctuation), sort is not top or recent, or cursor is malformed. |
Pass a hashtag like hochzeitsfotografie, with or without #. |
rate_limited |
The data service throttled the request. |
Retry with backoff. |
provider_error |
The data service returned an unexpected error. |
Retry; if persistent, contact support. |
503 endpoint_unavailable |
The endpoint is currently not configured or temporarily disabled. Nothing is reserved or charged. |
Retry later; if persistent, contact support. |