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
| Field | Type | Description |
|---|---|---|
| mode | string (profile | posts | postUrls | comments | searchHashtags | hashtagPosts) | Choose what to extract. Modes marked 🔑 require a session cookie. default "posts" |
| usernames | array | Add usernames without the @ symbol. Used in profile, posts, and mentions modes. |
| directUrls | array | Alternatively, paste full Instagram profile URLs. Used in profile and posts modes. |
| postUrls | array | Instagram post or reel URLs to scrape. Used in postUrls and comments modes. Example: https://www.instagram.com/p/DVOyCluEVBg/ |
| searchTerms | array | Keywords to search for hashtags. Used in searchHashtags mode. Example: 'nature' finds #nature_lovers, #naturel, etc. |
| hashtags | array | Hashtags to scrape posts from (without #). Used in hashtagPosts mode. Requires session cookie. Example: nature, fitness |
| maxPosts | integer | Maximum number of posts to extract per username or hashtag. First page returns 12 posts without extra requests. default 12 |
| maxComments | integer | Maximum number of comments to extract per post. Without login, only preview comments are available (typically 20-40 per post). default 20 |
| onlyPostsNewerThan | string | Filter 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. |
| includeProfile | boolean | When scraping posts from profiles, also include the user's profile metadata in results. default true |
| sessionCookie | string | Your 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 120mcp
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.