Instagram Related Hashtag Scraper With Trend Velocity Tracking
Pricing
Pay per usage
Instagram Related Hashtag Scraper With Trend Velocity Tracking
Analyze Instagram hashtags with the Instagram Related Hashtag Stats Scraper. Extract related hashtags, post counts, usage trends, and engagement metrics. Perfect for social media strategy, trend tracking, and content optimization. Fast, accurate, and scalable for bulk hashtag analysis.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Instagram Hashtag Stats Scraper — Trend Velocity and Related Tags
Instagram Related Hashtag Scraper With Trend Velocity Tracking pulls a hashtag's real post count, its related-hashtag tiers, and — from the second run onward — a persisted, cross-run growth delta and trend direction for that same hashtag. Every response is structured JSON, ready to pass directly to an LLM, index into a vector store, or feed a monitoring pipeline. Point it at hashtag words, #tags, or instagram.com/explore/tags/ URLs and get authoritative counts plus a rising/falling/stable classification instead of a single flat snapshot.
What is Instagram Related Hashtag Scraper With Trend Velocity Tracking?
Instagram Related Hashtag Scraper With Trend Velocity Tracking queries Instagram's private hashtag endpoints for a list of hashtags and returns each tag's authoritative post count and its related-hashtag suggestions, split into frequent/average/rare popularity tiers. Because it persists a snapshot of every hashtag it has ever seen in a named Apify Key-Value store, it also returns a real postsCountDelta, growthVelocity, and rising/falling/stable trendDirection the second time you run it on the same hashtag — a genuine cross-run diff, not a same-run guess. Instagram only serves hashtag data to logged-in traffic, so the Actor requires a sessionid cookie from a logged-in Instagram account; without one, it still runs but produces diagnostic rows instead of real stats.
- Authoritative
postsCountper hashtag, straight from Instagram's own endpoint - Related-hashtag suggestions in
frequent/average/raretiers, each with a real numericmediaCount - Persisted, cross-run trend velocity:
postsCountDelta,growthVelocity, andtrendDirectiononce run history exists - Heuristic
difficultytier (very_low→very_high) from total post volume - Accepts hashtag words,
#tags, or fullinstagram.com/explore/tags/URLs, multiple per run - Configurable inter-hashtag delay and Apify Proxy (datacenter/residential)
What data can you get with Instagram Related Hashtag Scraper With Trend Velocity Tracking?
Instagram Related Hashtag Scraper With Trend Velocity Tracking writes three row types per run: a main stats-and-velocity row per hashtag, related-hashtag tier rows, and — only when a hashtag can't be fetched — an unbilled diagnostic error row.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
Main stats + velocity row (section: "main") | hashtag, url, id, postsCount, posts, postsPerDayEstimate, difficulty, postsCountDelta, growthVelocity, trendDirection, previousPostsCount, runsTracked, lastRunAt, scrapedAt | Trend monitoring, hashtag research |
Related-hashtag tier rows (section: "related"/"frequent"/"average"/"rare") | hashtag, url, id, count, hashtags[].hash, hashtags[].info, hashtags[].mediaCount, scrapedAt | Related-tag discovery, campaign tag lists |
Diagnostic error row (section: "error", not billed) | hashtag, url, id, error | Run diagnostics only |
Persisted cross-run trend velocity
The trend-velocity fields separate this Actor from a plain hashtag-stats lookup: they come from diffing against real history, not from estimating off a single response. On every run, the Actor opens a named Key-Value store scoped to that exact hashtag (for example ig-hashtag-velocity-fitness) and reads back the last snapshot it saved — a postsCount and an ISO timestamp. It computes postsCountDelta (current minus previous), growthVelocity (delta divided by the actual elapsed days since that snapshot, not a fixed assumption), and classifies trendDirection as rising, falling, or stable, then overwrites the store with this run's snapshot as the new baseline. Because the store is named per hashtag and persists independently of any single run, tracking it weekly builds a real growth history. On the first run ever seen for a hashtag there is no baseline, so these fields are null (trendDirection: "stable") until the second run.
{"hashtag": "fitness","section": "main","postsCount": 612345678,"postsCountDelta": 18213,"growthVelocity": 18094.7,"trendDirection": "rising","previousPostsCount": 612327465,"runsTracked": 2,"lastRunAt": "2026-07-14T09:12:03.512Z"}
Related hashtag tiers
Alongside the main stats row, the Actor returns Instagram's own related-hashtag suggestions for the same tag, bucketed by popularity into frequent, average, and rare tiers (plus a top-5 related list), each entry carrying a real numeric mediaCount rather than just Instagram's free-text description. These arrive as separate dataset rows — one per tier — with section set to the tier name and up to five entries in the hashtags array. Use them to build a candidate tag list for a campaign or compare a niche's tag ecosystem.
How does Instagram Related Hashtag Scraper With Trend Velocity Tracking differ from the official Instagram API?
Instagram's own Graph API returns individual tagged media objects that you must page through and count yourself, while Instagram Related Hashtag Scraper With Trend Velocity Tracking returns the authoritative post count directly, plus related-hashtag tiers and a persisted cross-run growth history the Graph API has no equivalent for.
| Feature | Instagram Graph API (Hashtag Search) | Instagram Related Hashtag Scraper With Trend Velocity Tracking |
|---|---|---|
| Account/access setup | Business/Creator account plus Meta App Review for Instagram Public Content Access + instagram_basic | Paste a sessionid cookie from any logged-in session — no app review |
| Queries per week | Capped at 30 unique hashtags per rolling 7-day period | Governed only by urls_keywords length and delay_between_requests |
| Aggregate post count | Not returned directly — count top_media/recent_media objects yourself | Returned directly as postsCount |
| Related-hashtag suggestions | No endpoint for this | frequent/average/rare/related tiers with mediaCount |
| Cross-run trend history | recently_searched_hashtags shows only what you searched, not deltas | Persisted per-hashtag store; automatic postsCountDelta/growthVelocity/trendDirection |
| Content restrictions | No Stories, no emoji hashtags, blocks tags Meta deems sensitive/offensive | No such restriction in the endpoints this Actor calls |
(Graph API details per Meta's hashtag search docs, checked 2026-07-26.)
The Graph API suits first-party apps with a verified Business account that only need a handful of tagged posts inside an approved app. This Actor suits hashtag research and monitoring workflows that need aggregate counts and real growth deltas without Meta's app-review process.
What is the difference between a hashtag stats scraper and real trend velocity tracking?
A hashtag stats scraper reports what a hashtag's post count is right now; real trend velocity tracking reports whether that count is rising, falling, or flat — and by how much — compared to a documented prior measurement. Most single-run hashtag tools can only offer the first: a snapshot, plus sometimes a same-run heuristic dressed up as a growth rate. This Actor's own postsPerDayEstimate field is an example of that older pattern — it divides the total post count by a fixed ~10-year baseline, useful only for ranking hashtags against each other, not as a literal per-hashtag rate, because Instagram exposes no hashtag creation date to compute a true rate from a single response. What changed is that Apify's named Key-Value stores let an Actor keep state between separate runs, so a hashtag tracked on a schedule gets an actual prior data point to diff against. That distinction matters because a hashtag with a huge postsCount can still be shrinking, and a small one can be accelerating — something no single-run snapshot can reveal. This Actor returns both: the same-run postsPerDayEstimate heuristic, labeled honestly as a comparator, and the persisted postsCountDelta/growthVelocity/trendDirection fields, which are the real cross-run measurement.
How to scrape Instagram hashtag stats with Instagram Related Hashtag Scraper With Trend Velocity Tracking?
- Open Instagram Related Hashtag Scraper With Trend Velocity Tracking on the Apify Store.
- Enter your hashtags in
urls_keywords— the only required field — as hashtag words,#tags, or fullinstagram.com/explore/tags/URLs. - Paste a logged-in Instagram
sessionidcookie intoig_sessionid; without it the run still completes but returns diagnostic rows instead of real stats. - Optionally set
delay_between_requestsandproxy_configuration, then start the run. - Download the dataset as JSON or CSV, or stream it via the API — each hashtag produces one main row plus its related-tag tier rows.
Example run request body:
{"urls_keywords": ["fitness", "love", "travel"],"ig_sessionid": "your-logged-in-sessionid-cookie-value","delay_between_requests": 2,"proxy_configuration": { "useApifyProxy": false }}
How to track multiple hashtags in one run
urls_keywords accepts an array, so one run can track any number of hashtags — the default input ships three (fitness, love, travel). The Actor processes them sequentially, pausing delay_between_requests seconds between each (2 seconds by default, up to 60) to reduce rate-limit risk on Instagram's private API. Each hashtag's velocity snapshot lives in its own named Key-Value store, so batching hashtags in one run doesn't affect their individual history — each tag's delta is computed only against its own prior snapshot.
⬇️ Input
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
urls_keywords | Yes | array of strings | Hashtags, #tags, or Instagram tag URLs to track over time. Each hashtag gets its own cross-run velocity history. | ["fitness", "love", "travel"] |
ig_sessionid | No (schema) | string (secret) | sessionid cookie value from a logged-in instagram.com browser tab. Instagram only returns hashtag data to logged-in traffic — there is no built-in fallback credential. | "58012345%3AabCDeFgH..." |
delay_between_requests | No | integer | Seconds to pause between hashtags (min 0, max 60). Default 2. | 2 |
proxy_configuration | No | object | Apify Proxy configuration (datacenter/residential). Default {"useApifyProxy": false}. | {"useApifyProxy": false} |
Example JSON input
{"urls_keywords": ["fitness", "love", "travel"],"ig_sessionid": "","delay_between_requests": 2,"proxy_configuration": { "useApifyProxy": false }}
Common pitfall: ig_sessionid is not marked required in the input schema, but it is functionally required — without a valid, logged-in sessionid cookie, every hashtag comes back as an unbilled diagnostic row instead of real stats. Copy the value directly from DevTools (Application → Cookies → https://www.instagram.com → sessionid); both the URL-encoded and decoded forms work, since the Actor unquotes it before use.
⬆️ Output
Results are pushed to the Actor's default dataset row by row, as typed JSON with a consistent schema across runs, downloadable as JSON, CSV, Excel, or the other formats Apify datasets support.
Scraped results
[{"hashtag": "fitness","url": "https://www.instagram.com/explore/tags/fitness","id": "17843667628002912","section": "main","postsCount": 612345678,"posts": "612.35 M","postsPerDayEstimate": "167.77 K","difficulty": "very_high","postsCountDelta": 18213,"growthVelocity": 18094.7,"trendDirection": "rising","previousPostsCount": 612327465,"runsTracked": 2,"lastRunAt": "2026-07-14T09:12:03.512Z","scrapedAt": "2026-07-15T09:14:41.881Z"},{"hashtag": "love","url": "https://www.instagram.com/explore/tags/love","id": "17841562680088123","section": "main","postsCount": 2145678901,"posts": "2.15 B","postsPerDayEstimate": "587.86 K","difficulty": "very_high","postsCountDelta": null,"growthVelocity": null,"trendDirection": "stable","previousPostsCount": null,"runsTracked": 1,"lastRunAt": null,"scrapedAt": "2026-07-15T09:14:52.201Z"},{"hashtag": "travel","url": "https://www.instagram.com/explore/tags/travel","id": "17842001112345678","section": "main","postsCount": 789456123,"posts": "789.46 M","postsPerDayEstimate": "216.29 K","difficulty": "very_high","postsCountDelta": -1284,"growthVelocity": -1273.9,"trendDirection": "falling","previousPostsCount": 789457407,"runsTracked": 3,"lastRunAt": "2026-07-08T09:10:14.902Z","scrapedAt": "2026-07-15T09:15:04.556Z"}]
Each hashtag also produces one row per related-tag tier, for example:
{"hashtag": "fitness","url": "https://www.instagram.com/explore/tags/fitness","id": "17843667628002912","section": "frequent","count": 5,"hashtags": [{ "hash": "#fitnessmotivation", "info": "89.4M posts", "mediaCount": 89400000 }],"scrapedAt": "2026-07-15T09:14:41.881Z"}
And, only when a hashtag can't be fetched (expired cookie, rate-limited), an unbilled diagnostic row: { "hashtag", "url", "id", "section": "error", "error" }. To work with billed rows only, filter the dataset on section != "error".
How can I use the data extracted with Instagram Related Hashtag Scraper With Trend Velocity Tracking?
- Hashtag and trend researchers: schedule this Actor weekly across a niche's core hashtags and read
trendDirection/growthVelocityto see which tags are actually accelerating versus just large. - Content strategists: compare
difficultyand thefrequent/average/raretiers across candidate hashtags to build a tag list that mixes reach and reachability instead of only chasing the biggest tag. - AI engineers and LLM developers: feed the structured JSON straight into an agent — it issues
urls_keywords, gets backpostsCount/trendDirection/related tiers, and grounds an answer about a hashtag's real momentum instead of guessing from training data. - SEO and social-growth teams: track a competitor's or industry's hashtag set the same way you'd track keyword rankings, using
postsCountDeltaandrunsTrackedas a rank-tracking-style history for hashtags.
How do you monitor Instagram hashtag trends over time?
Monitoring a hashtag's trend means checking, on a recurring basis, whether its post volume is accelerating, decelerating, or holding steady — not just how big it is today. This Actor makes that possible because repeated runs on the same hashtag read from and write to the same named Key-Value store (ig-hashtag-velocity-<hashtag>): each run compares its own postsCount against the postsCount and timestamp saved by the previous run, then overwrites the store with a new snapshot. The fields worth diffing between runs are postsCountDelta (raw change), growthVelocity (change per actual elapsed day), trendDirection (rising/falling/stable), runsTracked (how many runs have built this hashtag's history), and lastRunAt (when the prior snapshot was taken).
A practical workflow: put your core hashtag set into urls_keywords, run the Actor on a schedule — daily or weekly — and after each run filter the dataset for section: "main" rows where trendDirection is "rising" and growthVelocity exceeds whatever threshold matters for your niche, then alert on those hashtags. Note that postsCountDelta/growthVelocity/previousPostsCount/lastRunAt are null on the very first run for any hashtag — there is nothing to diff against yet — so the first scheduled run only establishes the baseline, and real numbers appear from the second run onward. This Actor has no scheduler of its own; set up the recurring cadence with an Apify Schedule pointed at this Actor, using the same urls_keywords input each time.
Integrate Instagram Related Hashtag Scraper With Trend Velocity Tracking and automate your workflow
Instagram Related Hashtag Scraper With Trend Velocity Tracking works with any language or tool that can send an HTTP request.
REST API with Python
import requestsTOKEN = "YOUR_APIFY_TOKEN"ACTOR = "scrapier~instagram-related-hashtag-stats-scraper-with-trend-velocity-tracking"url = f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items?token={TOKEN}"payload = {"urls_keywords": ["fitness", "love", "travel"],"ig_sessionid": "YOUR_SESSIONID_COOKIE","delay_between_requests": 2,}response = requests.post(url, json=payload)rows = response.json()main_rows = [r for r in rows if r.get("section") == "main"]print(main_rows[0]["trendDirection"], main_rows[0]["growthVelocity"])
MCP for query-grounded AI agents
Instagram Related Hashtag Scraper With Trend Velocity Tracking is callable through Apify's official MCP Server, which exposes any Apify Actor as a tool for MCP-compatible AI clients. Register it with APIFY_TOKEN=your_token npx -y @apify/actors-mcp-server --actors scrapier/instagram-related-hashtag-stats-scraper-with-trend-velocity-tracking, then connect from Claude Desktop, Cursor, or another MCP-compatible client. The flow: a user asks about a hashtag's momentum, the agent calls the tool with urls_keywords, receives structured JSON back — including trendDirection and growthVelocity — and grounds its answer in that live data.
Scheduled monitoring and delivery
The Actor has no built-in webhook or internal scheduler. Use an Apify Schedule to run it on a recurring cadence (for example weekly) with the same urls_keywords list, so each run's cross-run velocity fields keep building on the last. Pair the schedule with an Apify webhook on the run's success event to push new dataset items to your own endpoint after each run.
Is it legal to scrape Instagram hashtag stats?
Yes, generally — scraping aggregate statistics visible to any logged-in Instagram user, without collecting personal data about individuals, is the kind of activity the Ninth Circuit addressed in hiQ Labs v. LinkedIn (2019, reaffirmed 2022), which held that scraping data accessible to ordinary users does not itself violate the Computer Fraud and Abuse Act. That case concerned logged-out public pages, so the login requirement here is a meaningful difference worth flagging to counsel. This Actor returns only hashtag-level aggregates — post counts, related-tag suggestions, and derived trend deltas — not personal data about individuals, so GDPR/CCPA obligations are unlikely to apply; Instagram's Terms of Service still apply regardless of CFAA outcomes. Aggregate trend monitoring carries a different risk profile than bulk AI-training scraping. Consult your legal team for commercial use cases involving bulk data storage.
Frequently asked questions
Does this Actor extract real trend velocity, or just a single-run estimate?
Real, persisted trend velocity — postsCountDelta, growthVelocity, and trendDirection are computed by diffing this run's postsCount against a snapshot saved in a named Key-Value store from a previous run of the same hashtag. They are null (and trendDirection reads "stable") on the very first run ever seen for a hashtag, since there is no prior snapshot yet; they populate with real values from the second run onward.
How does the trend velocity tracking actually work?
Each hashtag gets its own named Key-Value store (ig-hashtag-velocity-<hashtag>) that persists independently of any single run. On each run, the Actor reads the last saved {postsCount, timestamp}, computes the delta and a rate using the actual elapsed time since that timestamp, classifies the direction, and writes the current run's numbers back as the new baseline — so the history compounds run after run.
How many results does this Actor return per query?
One main stats row plus up to four related-hashtag tier rows (related, frequent, average, rare) per successful hashtag — up to five rows total — with each tier's hashtags array capped at five entries. A hashtag that can't be fetched produces one unbilled diagnostic row instead.
Does it handle accented or unicode hashtags correctly?
Yes — hashtags are normalized with Unicode NFKC before comparison (for example, folding a ligature like "fitness" to "fitness"), so the same underlying tag is recognized consistently across runs even if it's typed with different Unicode forms.
Can I change how many related hashtags come back per tier?
No — each tier (related, frequent, average, rare) is capped at five entries by the Actor itself; this isn't an input option.
How does this Actor handle Instagram's anti-bot measures?
It authenticates with your ig_sessionid cookie, warms up a session against instagram.com to collect a matching CSRF token, and falls back through a proxy ladder (direct → Apify SDK proxy → datacenter → residential) if a request is soft-blocked. delay_between_requests adds a pause between hashtags to reduce rate-limit risk.
How do I use this Actor to monitor a hashtag's trend over time?
Put your hashtag set in urls_keywords, run it on an Apify Schedule at a fixed cadence, and after each run read trendDirection and growthVelocity from the section: "main" rows — compare them to the previous run's values (or just trust the Actor's own delta fields, since it already diffed for you) and alert when a hashtag crosses a threshold you care about.
Does this Actor work with Claude, ChatGPT, and AI agent frameworks?
Yes. It's reachable through Apify's MCP Server (see Integrate, above) for MCP-compatible clients like Claude Desktop and Cursor, and it's callable as a plain HTTP endpoint by any agent framework — which lets an agent retrieve a hashtag's live stats and trend direction before answering.
How does this Actor compare to other Instagram hashtag scrapers?
Most Instagram hashtag tools return a single-run snapshot — a post count, sometimes a related-tag list — with no mechanism to persist state between runs, so they can't tell you whether a hashtag is rising or falling without you manually comparing two exports yourself. This Actor computes that diff automatically via its persisted per-hashtag Key-Value store, and separately flags its own postsPerDayEstimate as a same-run heuristic rather than presenting it as a real rate.
Can I use this Actor without managing proxies or platform credentials?
You don't need to manage proxies — the Actor tries a direct connection first and only escalates through Apify's proxy tiers if proxy_configuration.useApifyProxy is enabled. You do need to supply your own Instagram sessionid cookie, since Instagram's hashtag endpoints only respond to logged-in traffic and there is no built-in fallback credential.
Your feedback
Found a bug, or think a field is missing from the output? Let Scrapier know through the Actor's Issues tab in Apify Console, or via Apify's support channel. Bug reports and field requests are how this Actor gets maintained.