Instagram Hashtag Scraper
Pricing
from $1.10 / 1,000 item processeds
Instagram Hashtag Scraper
Export public Instagram hashtag posts and reels with captions, URLs, authors, hashtags, and visible engagement signals.
Pricing
from $1.10 / 1,000 item processeds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Export public Instagram hashtag posts and reels for social listening, creator intelligence, and brand monitoring workflows. The actor opens public hashtag pages anonymously and saves visible post/reel cards with captions, URLs, authors, hashtags, mentions, thumbnails, view text, and route diagnostics.
What you can extract
- Public post and reel URLs from Instagram hashtag pages
- Shortcodes and media type (
postorreel) - Visible author usernames and profile URLs when shown in the card
- Captions / visible card text, hashtags, and mentions
- Visible view counts and thumbnail URLs when exposed by Instagram
- Provenance fields: requested hashtag, source URL, position, scrape time, and route status
Instagram limits what anonymous visitors can see. Fields that require login-only post detail pages, such as exact timestamps, full comments, private accounts, and non-visible like/comment totals, are intentionally not included.
Ready-to-run examples
Open a public example to inspect its input, run it, or reuse it as a task:
- Audit Instagram #dogs hashtag raw text output
- Compare Instagram #cats and #nature hashtag posts
- Scrape Instagram #cats hashtag posts
Small hashtag export
{"hashtags": ["cats"],"maxItemsPerHashtag": 10}
Monitor several hashtags
{"hashtags": ["cats", "nature", "dogs"],"maxItemsPerHashtag": 25}
Include diagnostic raw text
{"hashtags": ["https://www.instagram.com/explore/tags/cats/"],"maxItemsPerHashtag": 10,"includeRawText": true}
Input fields
hashtags— Hashtag names or Instagram hashtag URLs. Examples:cats,#nature,https://www.instagram.com/explore/tags/dogs/.maxItemsPerHashtag— Maximum records to save for each hashtag, from 1 to 100.includeRawText— Adds the raw visible card text for diagnostics and parser review.proxyConfiguration— Optional Apify Proxy settings. Leave empty unless your run is blocked.
Output fields
Each dataset item represents one public hashtag media card:
requestedHashtagsourceUrlpostUrlshortCodemediaTypeauthorUsernameauthorProfileUrlisVerifiedcaptionhashtagsmentionsvisibleViewCountvisibleViewCountTextthumbnailUrlscrapedAtpositionrouteStatusrawTextwhen requested
Pricing and limits
This actor uses pay-per-event pricing with a per-item event for each saved dataset row. Use maxItemsPerHashtag to control spend. Instagram may expose fewer anonymous public cards than requested; when that happens the actor saves the available rows and marks them as partial.
See current rates on the Actor Pricing tab.
API and integrations
Use this Instagram hashtag scraper as an Instagram hashtag API from the Apify Console, API, scheduler, webhooks, or integrations such as Make, Zapier, and n8n. The default dataset can be exported as JSON, CSV, Excel, XML, or RSS and used in social listening dashboards, enrichment pipelines, and alerts.
Who is it for?
This actor is built for teams that need repeatable hashtag monitoring without manually opening Instagram search pages.
- Social listening teams tracking campaign hashtags and emerging conversations
- Creator intelligence teams finding public reels and posts around a niche
- Brand monitoring teams exporting public hashtag evidence for dashboards
- Agencies preparing recurring reports for clients or competitors
- Data teams enriching alerts, spreadsheets, BI tools, or internal review queues
How to get best results
Start with one or two hashtags and a low maxItemsPerHashtag value. Once the route returns stable results, schedule the same input or expand the hashtag list. Instagram can vary anonymous public results by time and region, so treat the dataset as a snapshot of visible public cards at run time.
For larger monitoring jobs, split unrelated hashtag groups into separate runs. This makes partial results easier to diagnose and keeps each dataset focused on one campaign, brand, or content category.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/instagram-hashtag-scraper').call({hashtags: ['dogs'],maxItemsPerHashtag: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/instagram-hashtag-scraper').call(run_input={'hashtags': ['dogs'],'maxItemsPerHashtag': 10,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~instagram-hashtag-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"hashtags":["dogs"],"maxItemsPerHashtag":10}'
MCP integration
Use this actor from Apify MCP-compatible workflows when you want an assistant or automation tool to collect public hashtag cards on demand. Provide the same JSON input you would use in Console, then read the default dataset for URLs, captions, authors, and visible engagement signals.
Install the Apify MCP server in Claude Desktop or a compatible client:
$claude mcp add apify -- npx -y @apify/actors-mcp-server --actors fetch_cat/instagram-hashtag-scraper
Example MCP server configuration:
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server", "--actors", "fetch_cat/instagram-hashtag-scraper"],"env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }}}}
Example prompts:
- "Run the Instagram Hashtag Scraper for
dogsand summarize the top captions." - "Export 10 public cards for
natureand list authors with visible view counts." - "Compare hashtags
catsanddogsusing the dataset returned by the Apify actor."
A typical MCP workflow is: choose hashtags, run the actor, fetch the dataset, summarize posts by author or caption keywords, and hand the resulting URLs to a human reviewer or downstream enrichment step.
Related Instagram actors
More Instagram scrapers
- Instagram Stories & Highlights Scraper for public stories and saved highlights
- Instagram Profile & Posts Scraper for monitoring public profile feeds
- Instagram Post Details Scraper for post-level enrichment when you already have URLs
- Instagram Reel Scraper for reel-focused collection
- Instagram Search Scraper for account or keyword discovery
This actor focuses on hashtag result cards; it intentionally does not replace post-detail, profile-feed, or logged-in workflows.
FAQ
Does this scrape private Instagram content?
No. It only uses public anonymous Instagram hashtag pages available at run time.
Why did I receive fewer rows than requested?
Instagram can cap anonymous public hashtag pages or vary what it renders. Check routeStatus, position, and the run logs to distinguish a normal partial result from a blocked or empty route.
Can I scrape exact likes, comments, timestamps, or full post details?
Not in this v1 hashtag-card route. Those fields usually require login-only detail pages or a separate post-detail route, so they are not emitted as empty compatibility columns.
Support
If a run returns unexpected results, open an issue from the Actor page and include the run ID, complete input, expected result, actual result, and the shortest public hashtag URL that reproduces the problem. For diagnostics, rerun a small sample with includeRawText enabled.
Notes and limitations
- Results are limited to public anonymous Instagram surfaces available at run time.
routeStatusisokwhen the requested limit was reached andpartialwhen Instagram exposed fewer cards than requested.- The actor deduplicates media URLs per hashtag and preserves partial output across multi-hashtag runs.
- Login-only or private data is not scraped.