Instagram API

Instagram Hashtag top posts API

Instagram's own top-ranked posts for a hashtag, read from its live hashtag feed rather than a web search index, with view, like, and comment counts. Reels-heavy and engagement-ranked, so it answers what is performing on a tag right now. For older relevance-ranked results with date and media-type filters use instagram.search_hashtag; for the chronological feed use instagram.hashtag_recent_posts.

POST/v1/run/instagram.hashtag_top_posts
Uptime
100.00%
30d · 78 calls
Requests
78
30d
Response
8.3s
median · 30d

Try it

Make your first request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.
{
  "data": {
    "nextCursor": "example",
    "posts": [
      {
        "avatarUrl": "https://example.com/image.jpg",
        "caption": "A short example description of this item.",
        "comments": 12500,
        "createdUtc": 12.5,
        "durationSeconds": 12.5,
        "id": "a1b2c3d4",
        "likes": 12500,
        "media": [
          {
            "type": "general",
            "url": "https://example.com/page",
            "videoUrl": "https://example.com/page"
          }
        ],
        "shortcode": "a1b2c3d4",
        "url": "https://example.com/page",
        "username": "alex_rivera",
        "verified": true,
        "views": 12500
      }
    ]
  },
  "found": true
}
Response interface
interface InstagramHashtagTopPostsResponse {
  data: {
    nextCursor: string | null;
    posts: {
      avatarUrl?: string;
      caption: string;
      comments?: number;
      createdUtc?: number;
      durationSeconds?: number;
      id: string;
      likes?: number;
      media?: {
        type: string;
        url: string;
        videoUrl?: string;
      }[];
      shortcode: string;
      url: string;
      username: string;
      verified?: boolean;
      views?: number;
    }[];
  } | 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-12 · uptime and latency measured over 30d
POST /v1/run/instagram.hashtag_top_posts
curl -X POST https://api.getanyapi.com/v1/run/instagram.hashtag_top_posts \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hashtag":"skincare"}'
FieldTypeExample value
Request body
hashtagstring"skincare"Hashtag to fetch, without the leading #.
cursorstringPagination cursor from a previous response's nextCursor.
Response
dataobject
data.nextCursorstringOpaque cursor for the next page of posts, or null when this lane has no more. Pass it back as cursor to continue.
data.postsobject[]Top-ranked posts for the hashtag, ordered by Instagram's engagement model rather than by time. Populated whenever the provider has data for the entity.
data.posts[].avatarUrlstringProfile picture URL of the posting account. Populated whenever the provider has data for the entity.
data.posts[].captionstringPost caption text, including its hashtags. Populated whenever the provider has data for the entity.
data.posts[].commentsintegerComment count.
data.posts[].createdUtcnumberUTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
data.posts[].durationSecondsnumberVideo duration in seconds. Absent on photo posts.
data.posts[].idstringInstagram media id. Populated whenever the provider has data for the entity.
data.posts[].likesintegerLike count. Absent when the account hides it.
data.posts[].mediaobject[]Photo and video attachments on the post.
data.posts[].media[].typestringOne of photo or video.
data.posts[].media[].urlstringImage URL. For a video this is the cover frame.
data.posts[].media[].videoUrlstringPlayable video file URL. Present only for video items.
data.posts[].shortcodestringShort code in the post permalink. Populated whenever the provider has data for the entity.
data.posts[].urlstringCanonical permalink to the post. Populated whenever the provider has data for the entity.
data.posts[].usernamestringUsername of the account that posted. Populated whenever the provider has data for the entity.
data.posts[].verifiedbooleanTrue when the posting account is verified.
data.posts[].viewsintegerPlay count. Present on video posts.
foundboolean
Price
Price per requestUSD$0.0015
Price /1k reqUSD$1.50

FAQ

About the Instagram Hashtag top posts API

The AnyAPI Instagram Hashtag top posts API returns Instagram hashtag top posts data as normalized JSON from one POST call to /v1/run/instagram.hashtag_top_posts. Instagram's own top-ranked posts for a hashtag, read from its live hashtag feed rather than a web search index, with view, like, and comment counts. Reels-heavy and engagement-ranked, so it answers what is performing on a tag right now. For older relevance-ranked results with date and media-type filters use instagram.search_hashtag; for the chronological feed use instagram.hashtag_recent_posts. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.50 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Instagram hashtag top posts calls through AnyAPI succeeded, with a median response time of 8.3 seconds across 78 measured calls.

It costs from $1.50 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet, each call draws it down, and a failed request costs $0.

Instagram's own top-ranked posts for a hashtag, read from its live hashtag feed rather than a web search index, with view, like, and comment counts. Reels-heavy and engagement-ranked, so it answers what is performing on a tag right now. For older relevance-ranked results with date and media-type filters use instagram.search_hashtag; for the chronological feed use instagram.hashtag_recent_posts. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of Instagram hashtag top posts calls through AnyAPI succeeded, with a median response time of 8.3 seconds across 78 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.