Catalog/Instagram/Hashtag recent posts
POST

Instagram Hashtag recent posts API

/v1/run/instagram.hashtag_recent_posts

Instagram posts published under a hashtag, newest first, read from its live chronological feed rather than a web search index. Built for monitoring: results arrive within a couple of minutes of posting, so engagement counts are usually still zero and reels do not appear (Instagram keeps those on a separate tab). For engagement-ranked results use instagram.hashtag_top_posts; for older relevance-ranked results use instagram.search_hashtag.

Category SocialRequests / mo 31Routing 2 lanes · auto failover
Get ~100 free requests

Provider network

Providers ranked by traffic

click a provider for traffic and endpoints · routing stays automatic
Request
Gateway request
discovered operation
↓
Router
↓
↳ Calls hit the first lane first; on timeout or 5xx we retry down the ladder. Fallback order: Lynx → Tiger

Try it

Make your first request

run it free, no key · same shape for every API
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": [
      {
        "caption": "A short example description of this item.",
        "carouselCount": 12500,
        "comments": 12500,
        "createdUtc": 12.5,
        "hashtags": [
          "a1b2c3d4"
        ],
        "id": "a1b2c3d4",
        "likes": 12500,
        "locationLat": 12.5,
        "locationLng": -122.4194,
        "locationName": "Example title",
        "media": [
          {
            "type": "general",
            "url": "https://example.com/page"
          }
        ],
        "shortcode": "a1b2c3d4",
        "url": "https://example.com/page",
        "username": "alex_rivera"
      }
    ]
  },
  "found": true
}
Response interface
interface InstagramHashtagRecentPostsResponse {
  data: {
    nextCursor: string | null;
    posts: {
      caption: string;
      carouselCount?: number;
      comments?: number;
      createdUtc?: number;
      hashtags?: string[];
      id: string;
      likes?: number;
      locationLat?: number;
      locationLng?: number;
      locationName?: string;
      media?: {
        type: string;
        url: string;
      }[];
      shortcode: string;
      url: string;
      username: string;
    }[];
  } | 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-03 · uptime and latency measured over 30d
POST /v1/run/instagram.hashtag_recent_posts
curl -X POST https://api.getanyapi.com/v1/run/instagram.hashtag_recent_posts \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hashtag":"skincare"}'
FieldTypeExample value
Request body
hashtagstring"skincare"Hashtag to monitor, 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[]Posts under the hashtag, newest first. Engagement counts are usually zero because the posts are minutes old. 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[].carouselCountintegerNumber of items in the carousel. Absent on a single-image post.
data.posts[].commentsintegerComment count. Usually zero on a post this new.
data.posts[].createdUtcnumberUTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
data.posts[].hashtagsstring[]Hashtags carried in the caption, each including its leading #. Populated whenever the provider has data for the entity.
data.posts[].idstringInstagram media id. Populated whenever the provider has data for the entity.
data.posts[].likesintegerLike count. Usually zero on a post this new.
data.posts[].locationLatnumberLatitude of the tagged place.
data.posts[].locationLngnumberLongitude of the tagged place.
data.posts[].locationNamestringPlace name tagged on the post. Absent when the poster tagged none, which is most posts.
data.posts[].mediaobject[]Cover media for the post. A carousel reports its full size in carouselCount.
data.posts[].media[].typestringOne of photo or video. Videos are rare in this feed; Instagram keeps reels on a separate tab.
data.posts[].media[].urlstringImage URL. For a video this is the cover frame.
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.
foundboolean
Price
Price per requestUSD$0.0015
Price /1k reqUSD$1.50

FAQ

About the Instagram Hashtag recent posts API

The AnyAPI Instagram Hashtag recent posts API returns Instagram hashtag recent posts data as normalized JSON from one POST call to /v1/run/instagram.hashtag_recent_posts. Instagram posts published under a hashtag, newest first, read from its live chronological feed rather than a web search index. Built for monitoring: results arrive within a couple of minutes of posting, so engagement counts are usually still zero and reels do not appear (Instagram keeps those on a separate tab). For engagement-ranked results use instagram.hashtag_top_posts; for older relevance-ranked results use instagram.search_hashtag. 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 recent posts calls through AnyAPI succeeded, with a median response time of 7.2 seconds across 31 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 posts published under a hashtag, newest first, read from its live chronological feed rather than a web search index. Built for monitoring: results arrive within a couple of minutes of posting, so engagement counts are usually still zero and reels do not appear (Instagram keeps those on a separate tab). For engagement-ranked results use instagram.hashtag_top_posts; for older relevance-ranked results use instagram.search_hashtag. 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 recent posts calls through AnyAPI succeeded, with a median response time of 7.2 seconds across 31 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Get started

Two ways to start on AnyAPI

Humans fund a USD wallet and pay per request. Agents point a coding agent at one URL and onboard themselves.

Get ~100 free requests
Works with
Terminal agentsClaude CodeCursorCodexMCP clients