A hashtag with a million posts looks like an opportunity. Half the time it's a graveyard — a tag that peaked two years ago and now gets used out of habit, with no real audience reading it. The other half, it's exactly where your next campaign should live. The only way to tell the difference is to look at the posts themselves, not the post count.
Below is how to pull that data directly — which posts are actually in a hashtag right now, how much real engagement they're getting, and who's behind them — instead of guessing from a number on a hashtag search page.
This matters most when you're deciding where to put a seeding budget or a UGC campaign, not when you're just checking how a tag is trending. A brand sending free product to fifty accounts under a hashtag wants to know, before it ships anything, whether those accounts have real audiences or whether the tag is mostly bots reposting each other's content.
If you're an agent (or building one) reading this rather than a human, the full machine-readable schema for every endpoint below lives at mindcase.co/skills.md.
What signals actually matter for a hashtag campaign?
Post count is the number everyone quotes and the least useful one on its own. These are the signals that actually predict whether a hashtag is worth building around:
- Recency. A hashtag with a million posts and none from the last month is dead. What matters is the posting rate right now, not the total that accumulated over years.
- Engagement relative to volume. A smaller hashtag where every post gets real comments beats a huge one where posts sit at a handful of likes.
- Who's posting. A hashtag dominated by a few large accounts behaves differently than one full of small, genuine creators — the second is where a seeding campaign actually works.
- Comment quality, not just comment count. A high comment count that's mostly emoji and tags is a different signal than comments that are real replies.
Why does hashtag research go stale so fast?
Hashtag ecosystems shift constantly — new posts push old ones down, engaged creators move on to the next trend, and a tag that was active last quarter can be quiet by the time a campaign actually launches. Manual research done once, then acted on weeks later, is already measuring a hashtag that no longer exists. The fix isn't better research, it's treating the pull as something you re-run on a schedule instead of a one-time snapshot.
Concretely: a hashtag research doc from six weeks ago is describing a different set of top posts, a different engagement rate, and possibly a different set of accounts entirely than the same hashtag today. Nobody updates that doc every week by hand. A scheduled pull does, and it costs the same whether you run it once or run it every Monday.
How do you pull and qualify hashtag data at scale?
Say you run a running-shoe brand and you're deciding whether to build a
seeding campaign around #marathontraining.
How do you pull posts from a hashtag?
Instagram Posts & Reels API takes a hashtag directly — no need to search for a username first.
curl -X POST "https://api.mindcase.co/v1/data/instagram/posts/run?wait=true" \
-H "Authorization: Bearer $MINDCASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": {
"hashtags": "marathontraining",
"maxResults": 100,
"onlyPostsNewerThan": "2026-08-15"
}
}'
# $0.002 per postonlyPostsNewerThan is what turns this from a one-time pull into something
worth re-running — filter to the last few weeks and you're looking at the
hashtag as it actually behaves now. Each row is a full post record — 35
fields, including likes, comments, author, and posting date — enough to
rank by recency and engagement without a second call.
Same endpoint also has a tab parameter that defaults to a profile's posts
grid but can switch to Reels or tagged content when you're querying a
specific account instead of a hashtag. For a hashtag pull like this one it
doesn't apply — hashtag search already returns whatever mix of posts and
Reels is actually using that tag.
How do you tell real engagement from post volume?
A post's like and comment counts come back with the post itself. To check whether that engagement is real conversation or just emoji, pull the actual comments with Instagram Comments API:
curl -X POST "https://api.mindcase.co/v1/data/instagram/comments/run?wait=true" \
-H "Authorization: Bearer $MINDCASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": {
"urls": "https://www.instagram.com/p/abc123def/",
"maxResults": 50
}
}'
# $0.0005 per commentRun this against the top posts from your hashtag pull, not every post — at $0.0005 a row it's cheap per post, but the signal you need is a sample of comment text, not a full archive of every comment on every post.
How do you check who's behind the posts?
A hashtag full of accounts with 500 followers behaves completely differently from one dominated by accounts with 500,000. Instagram Followers & Following API tells you which you're looking at:
curl -X POST "https://api.mindcase.co/v1/data/instagram/followers/run?wait=true" \
-H "Authorization: Bearer $MINDCASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"params": {
"usernames": "trailrunner_jess",
"dataToScrape": "Followers",
"maxResults": 1
}
}'
# $0.00075 per profilemaxResults: 1 here is deliberate — you don't need someone's full follower
list to size their audience, just the count, which comes back regardless of
how many rows you ask for.
The number changes what a good post looks like. A post with 200 likes from an account with 800 followers is a strong result — a quarter of their audience engaged. The same 200 likes from an account with 400,000 followers is nothing. Raw like counts flatten that difference; dividing by follower count doesn't.
How do you turn the pull into a shortlist?
Don't rank every post by hand. Pipe the combined post, comment, and follower data into an LLM with a scoring prompt:
For each post, using post date, likes, comment count, and author follower
count: tag "strong" if posted in the last 14 days with engagement above
2% of the author's follower count, "watch" if posted in the last 30 days
with engagement between 0.5-2%, otherwise "skip". Return one tag per post,
no explanation.
That threshold is a starting point, not a law — adjust it against a handful of posts you already know are good before trusting it on the full pull. What it replaces is scrolling a hashtag page and guessing which posts are worth a closer look.
Which endpoint should you use for which job?
| Endpoint | Input | Price | Best for |
|---|---|---|---|
| Instagram Posts & Reels | Hashtag, handle, post URL, or keyword | $0.002 / post | Pulling what's actually in a hashtag right now |
| Instagram Comments | Post or reel URL | $0.0005 / comment | Checking whether engagement is real conversation |
| Instagram Followers & Following | Username or profile URL | $0.00075 / profile | Sizing the audience behind a post's author |
FAQ
Yes. The same endpoint accepts a search keyword instead of a hashtag and returns matching Reels from Instagram search.
No. Every endpoint here reads public data only — a private account's posts, followers, and comments aren't accessible without an authenticated session, which is outside what a public-data API returns by design.
As far as Instagram's own hashtag page shows for that tag. There's no separate historical archive — this reads the live, current state of the hashtag, not a cached backlog.
Set maxResults to a small number like 10 on your first call. Confirming the fields and post quality on a small sample costs a few cents before you commit to a full pull.
