All questionsInstagram

How do I get Instagram hashtag posts past the 30 hashtag limit?

Call the Openhandle hashtag posts endpoint with the hashtag name. Pick sort=recent or sort=top. Each request returns one page of public posts with a cursor for the next page. There is no weekly cap on how many different hashtags you query.

The 30 hashtag limit belongs to the Instagram Graph API. It counts unique hashtags per business account per rolling 7 days. A public data API reads what the hashtag page shows and does not carry that rule.

Checked September 2026 · request and response run against the API · no affiliate links

GET /v1/instagram/hashtags/{name}/posts?sort=recent
curl "https://api.openhandle.dev/v1/instagram/hashtags/syntheticvolume/posts?sort=recent" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
TypeScript SDK
import { OpenHandle } from '@openhandle/sdk';

const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
let page = await openhandle.instagram.hashtag('syntheticvolume').posts.list({ sort: 'recent' });

while (page) {
    for (const post of page.data) console.log(post.author.handle, post.metrics.likes);
    page = await page.next();
}
200 OK
{
  "platform": "instagram",
  "resource": "post",
  "capturedAt": "2026-09-18T10:11:05Z",
  "source": "live",
  "data": [
    {
      "id": "910100000001",
      "createdAt": "2026-08-09T15:30:00Z",
      "author": { "id": "910000000001", "handle": "northstar_forge_test" },
      "hashtags": ["syntheticvolume"],
      "metrics": { "likes": 840, "comments": 5, "views": 12000 }
    }
  ],
  "meta": { "cursors": { "next": "b3BhcXVlLWN1cnNvcg" } }
}

Trimmed to one post and the fields this question needs. The example is a Test hashtag with paginated posts, so you can test paging on a free Test key.

Where the 30 hashtag limit comes from

The Graph API hashtag search needs a business or creator account, an app review, and a hashtag ID lookup first. Each account may look up 30 unique hashtags in a rolling 7-day window. Tools that promise unlimited hashtag feeds either pool many business accounts or read the public hashtag page. Openhandle does the second, on request, without pooling accounts.

Recent or top

  • recent. Newest public posts first. Use it for campaign tracking and UGC collection on a schedule.
  • top. The posts Instagram ranks highest for the hashtag. Use it for a snapshot of what people see.
  • Hashtag metadata. Call GET /v1/instagram/hashtags/{name} for the hashtag itself: name, avatar, and whether Instagram marks it trending.

Collect UGC on a schedule

Run sort=recent on a schedule, store each post id, and skip IDs you already have. Media URLs in the response are served from our CDN and keep working after Instagram’s links expire. Store capturedAt with each post so a rights request can point at the exact read.

When this does not work

Empty is an answer. A cursor from another request is a mistake.

SituationStatusCode
The hashtag has no public posts or Instagram hides it200empty data
The cursor came from another hashtag, sort, or freshness400CURSOR_MISMATCH
The hashtag name is malformed400INVALID_IDENTIFIER
400 Bad Request
{
  "error": {
    "code": "CURSOR_MISMATCH",
    "message": "The cursor does not belong to this request.",
    "requestId": "req_01j8…",
    "retryable": false
  }
}

An empty page bills as an answered request. Every new workspace starts with 100 free live requests, no card needed.

Read next

More Instagram questions

Send your agent ahead.

Paste the prompt into your agent and it sets everything up. Or come yourself, it takes five minutes.

For agents