Apify Store
AS
Apify Store
/automation-lab/instagram-scraper

Instagram Scraper

Scrape public Instagram profiles, posts, comments, reels, and hashtags. Public routes are tried first; supply an Instagram session cookie for login-gated workflows. Export as JSON, CSV, or Excel.

liveasyncunknown~30s typical
social medialead generationmarketinginstagram
$0.0025
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.002 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 /automation-lab/instagram-scraper for me.

Input

FieldTypeDescription
modestring (profile | posts | postUrls | comments | searchHashtags | hashtagPosts)Choose what to extract. Modes marked 🔑 require a session cookie. default "posts"
usernamesarrayAdd usernames without the @ symbol. Used in profile, posts, and mentions modes.
directUrlsarrayAlternatively, paste full Instagram profile URLs. Used in profile and posts modes.
postUrlsarrayInstagram post or reel URLs to scrape. Used in postUrls and comments modes. Example: https://www.instagram.com/p/DVOyCluEVBg/
searchTermsarrayKeywords to search for hashtags. Used in searchHashtags mode. Example: 'nature' finds #nature_lovers, #naturel, etc.
hashtagsarrayHashtags to scrape posts from (without #). Used in hashtagPosts mode. Requires session cookie. Example: nature, fitness
maxPostsintegerMaximum number of posts to extract per username or hashtag. First page returns 12 posts without extra requests. default 12
maxCommentsintegerMaximum number of comments to extract per post. Without login, only preview comments are available (typically 20-40 per post). default 20
onlyPostsNewerThanstringFilter out posts older than this date. Accepts ISO dates (2026-01-01) or relative durations (7 days, 2 weeks, 1 month). Stops pagination when older posts are reached.
includeProfilebooleanWhen scraping posts from profiles, also include the user's profile metadata in results. default true
sessionCookiestringYour Instagram sessionid cookie value. Required for hashtagPosts and mentions, and used as a recovery route for profile, post URL, and comments requests that Instagram rejects publicly. Get it from browser DevTools → Application → Cookies → sessionid. Using your account carries some risk of temporary restrictions.

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":"/automation-lab/instagram-scraper","input":{"mode":"profile","usernames":["zuck"],"postUrls":["https://www.instagram.com/p/DVOyCluEVBg/"],"searchTerms":["nature"],"hashtags":["fitness"],"maxPosts":3,"maxComments":3,"onlyPostsNewerThan":"1 month","includeProfile":true},"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 /automation-lab/instagram-scraper -i '{"mode":"profile","usernames":["zuck"],"postUrls":["https://www.instagram.com/p/DVOyCluEVBg/"],"searchTerms":["nature"],"hashtags":["fitness"],"maxPosts":3,"maxComments":3,"onlyPostsNewerThan":"1 month","includeProfile":true}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/automation-lab/instagram-scraper", input: {"mode":"profile","usernames":["zuck"],"postUrls":["https://www.instagram.com/p/DVOyCluEVBg/"],"searchTerms":["nature"],"hashtags":["fitness"],"maxPosts":3,"maxComments":3,"onlyPostsNewerThan":"1 month","includeProfile":true}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.