Instagram Hashtag Scraper: Content Planner
Pricing
Pay per usage
Instagram Hashtag Scraper: Content Planner
Collect real-time Instagram hashtag data fast. Scrape posts, reels, media links, captions, and analytics from public hashtags. Built for brands, researchers, and developers needing reliable datasets for content analysis, trend tracking, or reporting.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Instagram Hashtag Scraper — Best Posting Time and Content Themes
Instagram Hashtag Scraper: Content Planner pulls posts or reels from any Instagram hashtag, then turns them into a content-planning report: a best-time-to-post histogram (peak weekday, peak hour, suggested posting window) and the recurring caption keywords, hashtags, and themes driving that hashtag right now. It's built for social media managers, creators, and agencies who need to know when to post and what topics resonate before publishing, not just a raw feed of posts.
What is Instagram Hashtag Scraper: Content Planner?
Instagram Hashtag Scraper: Content Planner is an Apify Actor that scrapes posts or reels under one or more Instagram hashtags and derives a best-time and content-topic report from them. A valid Instagram sessionid cookie is required — the hashtag feed is login-walled. Key capabilities:
- Plan around one or more hashtags, plain keywords (auto-resolved to a hashtag), or hashtag URLs in one run
- Choose posts (photos/videos/carousels) or reels as the content format
- Get a best-posting-window report per hashtag: peak weekday, peak hour, and posting-hour/weekday histograms, adjustable to your audience's timezone
- Get always-on, keyless recurring keyword and hashtag frequency extraction from captions — no API key required
- Optionally add LLM-based content-theme labeling on top of the keyless extraction, using your own AI provider key
- Section headers and the content-plan summary row are pushed free, not charged — only individual post/reel rows are billed
What data can I extract with Instagram Hashtag Scraper: Content Planner?
| Field | Example Value | Use Case |
|---|---|---|
caption / hashtags / mentions | "New drop out now 🔥" / ["webscraping"] / ["@partner"] | Read and analyze individual post content |
likesCount / commentsCount / videoPlayCount | 4820 / 112 / 18500 | Gauge engagement per post |
ownerUsername / ownerFullName | "creator_handle" / "Creator Name" | Identify the post's author |
timestamp / url | "2026-07-20T10:00:00.000Z" / post link | See when and where the post was published |
peakWeekday / peakHour / bestPostingWindow | "Wednesday" / 14 / "Wed 2:00 PM - 3:00 PM" | The core planning output — when this hashtag's audience is most active |
postingHourHistogram / postingWeekdayHistogram | [2, 1, 0, ..., 8, 5] / {"Monday": 12, ...} | See the full distribution behind the peak, not just the single best slot |
postsPerDay | 4.3 | Gauge how active a hashtag is |
topKeywords / topHashtags | ["tutorial", "howto"] / ["#scraping", "#datamining"] | Recurring themes to inform your own content |
aiThemes | ["Tutorials", "Product launches"] | High-level LLM-labeled themes (optional, opt-in) |
isSection / isContentPlan | true / true | Distinguish free section-header and content-plan rows from billable post rows |
Best-time and content-topic planning
peakWeekday, peakHour, and bestPostingWindow come from a real computed histogram over every analyzed post's actual timestamp, shifted into your audience's timezone via audienceTimezoneOffset — not a generic industry benchmark. topKeywords/topHashtags come from always-on, keyless frequency analysis over the captions (no API key needed), with excludeHashtags letting you drop the seed tag and generic noise so genuine recurring themes surface. aiThemes is a separate, fully optional layer: only populated when aiThemeLabeling is on and a valid AI provider key is supplied, using an LLM to name high-level content themes (e.g. tutorials, product launches) across the same captions. On any failure, aiThemes is returned as null — never a fabricated theme list.
Hashtag, format and depth targeting
hashtags accepts plain hashtags, #tags, hashtag URLs, or — with keywordSearch on — plain keywords auto-resolved to their matching hashtag. contentFormat switches between posts and reels. postsToAnalyze controls how many recent posts feed the histogram and topic analysis per hashtag; more posts produce a sharper, more reliable best-time signal.
Why not build this yourself?
Instagram's Graph API has no endpoint for browsing an arbitrary hashtag's public post feed for third-party use, and Instagram now requires a logged-in session even to read the hashtag feed at all. Building an equivalent tool yourself means maintaining a session-cookie-based authentication flow, handling the hashtag-feed pagination, and writing the timezone-aware histogram math and keyless keyword-frequency extraction from scratch. All of that is already implemented in this Actor's source.
How to use data extracted from Instagram?
Social media managers and content schedulers
Run your brand's core hashtags through hashtags with your audience's audienceTimezoneOffset set correctly, and use bestPostingWindow directly in your content calendar — no manual histogram-building from a raw post export required.
Creators and influencers
Check topKeywords/topHashtags for your niche's hashtags before planning a content batch, using excludeHashtags to strip your own seed tag so the genuinely recurring themes in your space surface clearly.
Agencies managing multiple client accounts
Run one hashtag set per client and compare bestPostingWindow/postsPerDay across niches to standardize a scheduling cadence recommendation per client rather than applying one generic "best time to post" rule to every account.
AI agents and automated pipelines
An agent can call this Actor to pre-analyze a hashtag before generating a content brief — feeding topKeywords, topHashtags, and (if enabled) aiThemes into a downstream content-generation or scheduling tool.
🔼 Input sample
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
hashtags | No | array | Hashtags, #tags, hashtag URLs, or keywords (with keywordSearch on) | ["webscraping"] |
sessionid | Yes | string (secret) | Instagram sessionid cookie; the hashtag feed is login-walled | "(your session cookie)" |
contentFormat | No | string (enum) | posts (default) or reels | "posts" |
keywordSearch | No | boolean | Auto-resolve a keyword to its matching hashtag | false (default) |
postsToAnalyze | No | integer (1-1,000) | Posts analyzed per hashtag for the histogram/topics | 30 (default) |
audienceTimezoneOffset | No | integer (-12 to 14) | Hours from UTC to shift the posting-hour histogram | 0 (default) |
extractCaptionTopics | No | boolean | Always-free keyless keyword/hashtag frequency extraction | true (default) |
excludeHashtags | No | array | Hashtags to drop from topic frequency (with or without #) | ["webscraping", "ad"] |
aiThemeLabeling | No | boolean | Optional LLM content-theme labeling on top of keyless extraction | false (default) |
aiModel | No | string (enum) | AI provider/model for theme labeling | "claude-haiku-4-5" (default) |
aiApiKey | No | string (secret) | Your own AI provider API key; falls back to a provider env var if empty | "(your API key)" |
proxyConfiguration | No | object | Apify Proxy; residential recommended for Instagram | {"useApifyProxy": true} |
{"hashtags": ["webscraping", "datamining"],"sessionid": "(your session cookie)","postsToAnalyze": 50,"audienceTimezoneOffset": -5,"excludeHashtags": ["webscraping", "ad"]}
Common pitfall: without a valid sessionid, the run produces no posts and instead pushes a single free diagnostic row explaining why (most commonly an expired or flagged session cookie) — the run still succeeds, but the dataset will be empty of real content.
🔽 Output sample
Output is typed, normalized JSON with three row types per hashtag: a free section header, individual charged post/reel rows, and one free content-plan summary row (exportable as JSON, CSV, or Excel).
{"section": "webscraping","isContentPlan": true,"rawQuery": "webscraping","contentType": "posts","postsAnalyzed": 30,"peakWeekday": "Wednesday","peakHour": 14,"bestPostingWindow": "Wed 2:00 PM - 3:00 PM","postsPerDay": 4.3,"postingHourHistogram": [0, 0, 1, 0, 0, 1, 2, 3, 4, 3, 2, 3, 4, 5, 8, 6, 4, 3, 2, 1, 1, 0, 0, 0],"postingWeekdayHistogram": {"Monday": 3, "Tuesday": 5, "Wednesday": 8, "Thursday": 4, "Friday": 5, "Saturday": 3, "Sunday": 2},"firstPostAt": "2026-07-01T09:12:00.000Z","lastPostAt": "2026-07-26T13:40:00.000Z","timezoneOffsetHours": -5,"topKeywords": ["tutorial", "howto", "python"],"topHashtags": ["#scraping", "#datamining", "#python"],"captionsAnalyzed": 30,"uniqueCaptionTerms": 214,"aiThemes": null,"scrapedAt": "2026-07-26T14:02:11.000Z"}
Individual post rows carry caption, hashtags, mentions, likesCount, commentsCount, ownerUsername, timestamp, url, and related media fields (videoUrl, videoDuration, musicInfo, dimensionsHeight/dimensionsWidth, images, childPosts for carousels) — 50 fields total across all three row types, all documented in the dataset's default view.
How do you filter and target specific posts?
hashtags is the core targeting axis, and keywordSearch decides whether each entry is treated as a literal hashtag or resolved from a plain keyword first. contentFormat narrows scope to posts or reels specifically. There's no numeric quality threshold here since this is a planning tool rather than a directory search, but postsToAnalyze is the effective precision control — a higher value produces a sharper, more statistically reliable best-time histogram at the cost of a longer run, while excludeHashtags refines the topic-extraction signal by removing noise terms.
{ "hashtags": ["#datamining"], "sessionid": "(session)", "postsToAnalyze": 100, "audienceTimezoneOffset": 1 }
{ "hashtags": ["web scraping"], "keywordSearch": true, "sessionid": "(session)", "contentFormat": "reels" }
{ "hashtags": ["webscraping"], "sessionid": "(session)", "aiThemeLabeling": true, "aiModel": "claude-haiku-4-5", "aiApiKey": "(your key)" }
▶️ Want to try other Instagram scrapers?
| Scraper Name | What it extracts |
|---|---|
| Instagram Related Hashtag Stats Scraper By Keyword Search | Related-hashtag statistics for a keyword |
| Instagram Reels Scraper With Engagement Analytics | Reel-specific engagement analytics |
| Instagram Mentions Scraper & Sentiment Analysis | Posts mentioning a profile, with sentiment scoring |
| Instagram Profile Scraper & Account Privacy Checker | Full profile details plus privacy-status checking |
| Facebook Groups Scraper: Sentiment & Lead Analysis | Comparable AI-based content analysis for Facebook group posts |
| TikTok Trending Hashtags With Momentum Analytics Scraper | Comparable hashtag-planning data for TikTok |
How to extract Instagram data programmatically
Every run is a standard Apify Actor call — one API request with your token, JSON input, JSON results back.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run_input = {"hashtags": ["webscraping"],"sessionid": "(your session cookie)","postsToAnalyze": 50,"audienceTimezoneOffset": -5,}run = client.actor("<YOUR_USERNAME>/instagram-hashtag-scraper-content-planner").call(run_input=run_input)for row in client.dataset(run["defaultDatasetId"]).iterate_items():if row.get("isContentPlan"):print(row["bestPostingWindow"], row["topKeywords"])
Export to spreadsheets or CRM
Export the dataset directly as CSV or Excel, then map bestPostingWindow/postsPerDay to a scheduling column and topKeywords/topHashtags to a content-brief template.
Is it legal to scrape Instagram hashtag data?
Post authors, captions, and mentions are personal data tied to individual accounts, so GDPR and CCPA obligations apply to storing and using this data. Public Instagram hashtag feeds are visible to any logged-in visitor, but downstream storage of individual creators' post content for planning or research purposes should follow applicable data-protection rules. Consult legal counsel for commercial applications involving bulk storage of personal data.
❓ FAQ
How accurate is the best-posting-time recommendation?
It's computed directly from the actual timestamps of the posts analyzed in this run, not a generic industry benchmark — accuracy scales with postsToAnalyze: a small sample can produce a noisy peak, while a larger one produces a more statistically reliable histogram.
Does the content-plan row cost extra?
No — the section-header and content-plan summary rows are pushed free, not charged as row_result. Only individual post/reel rows are billed. Filter on !isSection && !isContentPlan if you want only the charged post rows.
How accurate is the AI theme labeling?
It's genuine LLM classification using the AI provider and model you choose, not a keyword table — but it's entirely optional, requires your own API key, and returns aiThemes: null on any failure rather than a fabricated theme list. The always-on topKeywords/topHashtags extraction is keyless and requires no API key.
How many posts can I get per hashtag?
postsToAnalyze (1-1,000, default 30) caps posts analyzed per hashtag.
Do I need to be logged into Instagram to use this?
Yes — the hashtag feed is login-walled, and a valid sessionid cookie is required for the run to return any results.
Does Instagram Hashtag Scraper: Content Planner work with Claude, ChatGPT, and AI agent frameworks?
It has no dedicated MCP server registration in this Actor's current setup, but it is callable as a standard Apify API endpoint by any agent framework that can make an authenticated HTTP request and parse JSON.
How does this compare to other Instagram hashtag scrapers?
No independently verifiable competitor listing could be confirmed at the time of writing, so no specific comparison is made here. This Actor's distinguishing feature is the built-in best-time histogram and keyless topic extraction computed at no extra request cost, on top of the raw post scrape.
What happens if Instagram returns no posts for a hashtag?
The run still succeeds and pushes a single free diagnostic row explaining the likely cause (most commonly an expired session cookie) rather than failing silently or charging for an empty result.
Conclusion
Instagram Hashtag Scraper: Content Planner turns a raw hashtag feed into an actionable planning report — real, computed best-posting-time histograms and recurring content themes, with optional AI theme labeling layered on top. It's built for social media managers, creators, and agencies who need to know when to post and what to post about, not just a list of posts. Start a run with your hashtags, a valid session cookie, and your audience's timezone offset to get the planning report back in one pass.