AS
Apify Store
/khadinakbar/instagram-hashtag-scraper
Instagram Hashtag Posts Scraper
Scrape public Instagram posts and Reels for one or more hashtags. Exports captions, engagement counts, author metadata, media URLs, comments when available, cursor metadata, and run summaries. No Inst
liveasyncunknown~30s typical
social mediamcp serversmarketinginstagramhashtag
$0.0037
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.003 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /khadinakbar/instagram-hashtag-scraper for me.
Input
| Field | Type | Description |
|---|---|---|
| hashtags | array | Use this when you know the public Instagram hashtags whose posts you need. Enter tags with or without #, for example fitness, streetphotography, or #skincare. The actor deduplicates tags and defaults to the prefilled fitness example. This is not an Instagram profile URL; use Instagram hashtag URLs in the next field. |
| startUrls | array | Use this when you already have Instagram hashtag landing-page URLs. Enter a full URL such as https://www.instagram.com/explore/tags/fitness/ and the actor extracts the tag. You may combine these URLs with the Hashtags field. This does not accept post, Reel, profile, or arbitrary Instagram URLs. |
| datePosted | string (any | last-hour | last-day | last-week | last-month | last-year) | Use this when freshness matters more than the widest public result set. Choose a listed window such as last-week; the default is last-week. Recent windows can be sparse because results come from Google-indexed public posts. This is not an exact Instagram-native publish-date query. default "last-week" |
| mediaType | string (all | reels) | Use this when you need all public post formats or only short-form Reels. Choose all for mixed results or reels for video-only research. The default is all. This filter does not include Stories, private posts, or follower lists. default "all" |
| maxPostsPerHashtag | integer | Use this when you need to cap saved posts and billable default-dataset events for each hashtag. Enter an integer from 1 to 500; the default is 50. The actor stops saving once this limit is reached for a tag. This is a per-hashtag limit, not a total limit across all hashtags. default 50 |
| maxProviderPages | integer | Use this advanced control when you need to restrict provider page requests. Enter an integer from 1 to 60; the default is 60. Lower values are useful for low-cost canaries and controlled tests. This limits provider pages, not the number of posts saved directly. default 60 |
| startCursor | string | Use this when continuing one hashtag from a cursor in a previous RUN_SUMMARY. Paste the cursor exactly, for example 2, and keep the same hashtag and filters. Leave it blank to start from the first provider page. This is one shared continuation cursor, not a post URL or a separate cursor per hashtag. |
| minimumLikes | integer | Use this when only posts with a minimum public like count are relevant. Enter a whole number such as 100; the default is 0 and keeps all returned posts. Posts below this value are filtered before any dataset event is charged. This is not a minimum engagement-rate filter. default 0 |
| includeComments | boolean | Use this when your workflow needs the public sample comments returned with a post. Enable it for richer research records or leave it off for smaller output. The default is off. This does not fetch every comment or provide private or login-only discussions. default false |
| outputMode | string (full | compact) | Use this when choosing between concise agent-friendly rows and richer research rows. Choose compact for common post and engagement fields, or full for media, author, cursor, and optional comment fields. The default is full. This changes returned field breadth, not what Instagram content the provider can discover. default "full" |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/khadinakbar/instagram-hashtag-scraper","input":{"hashtags":["fitness"]},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /khadinakbar/instagram-hashtag-scraper -i '{"hashtags":["fitness"]}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/khadinakbar/instagram-hashtag-scraper", input: {"hashtags":["fitness"]}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.