Instagram Scraper — Profiles, Posts & Comments | from $2/1K avatar

Instagram Scraper — Profiles, Posts & Comments | from $2/1K

Pricing

from $1.99 / 1,000 profile items

Go to Apify Store
Instagram Scraper — Profiles, Posts & Comments | from $2/1K

Instagram Scraper — Profiles, Posts & Comments | from $2/1K

**Scrape public Instagram profiles, posts, and comments** without login. Returns followers, captions, like/comment counts, media URLs, timestamps, and `parse_confidence` drift signal in every record. Uses Instagram's stable mobile API — no doc_id rotation, no silent failures.

Pricing

from $1.99 / 1,000 profile items

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Instagram Scraper — Profiles, Posts & Comments

Scrape public Instagram profiles, posts, and comments using Instagram's stable mobile API — no doc_id rotation, no maintenance windows, no login required for profiles and posts. Returns 15+ fields per record including followers, captions, like counts, media URLs, timestamps, and parse_confidence in every record.

Most Instagram scrapers use GraphQL endpoints with doc_id parameters that rotate every 2–4 weeks, causing silent failures. This actor calls Instagram's mobile API endpoints (/api/v1/users/web_profile_info/, /api/v1/feed/user/{id}/) that have been stable for years — the same endpoints used by the official iOS app.


What you get

Profile mode (mode: "profile")

FieldDescription
usernameInstagram handle
user_idNumeric user ID
full_nameDisplay name
followersFollower count
followingFollowing count
posts_countTotal post count
is_verifiedBlue checkmark
is_privatePrivate account flag
bioProfile biography text
external_urlLink in bio
profile_pic_urlProfile picture URL
parse_confidenceData quality score (0.0–1.0)
warningsMachine-readable quality codes
scraped_atISO-8601 timestamp

Posts mode (mode: "posts" / "post_details")

FieldDescription
shortcodePost code (e.g. DYhkH24lf3j)
media_pkNumeric media ID
usernameAuthor handle
user_idAuthor numeric ID
captionPost caption text
media_typephoto / video / carousel
media_type_codeRaw code: 1=photo, 2=video, 8=carousel
like_countLike count
comment_countComment count
play_countVideo view count (None for photos)
taken_atPost timestamp (ISO-8601 UTC)
display_urlBest image URL
video_urlVideo file URL (videos only)
location_nameLocation tag name
location_cityLocation city
parse_confidenceData quality score (0.0–1.0)
warningsMachine-readable quality codes
scraped_atISO-8601 timestamp

Comments mode (mode: "comments")

Requires sessionId — Instagram blocks anonymous comment requests. Provide your own IG sessionid cookie. See input options below.

FieldDescription
comment_pkNumeric comment ID
media_pkParent post ID
textComment text
authorCommenter handle
author_idCommenter numeric ID
like_countComment like count
created_atComment timestamp (ISO-8601 UTC)
parse_confidenceData quality score (0.0–1.0)
warningsMachine-readable quality codes
scraped_atISO-8601 timestamp

Input

ParameterTypeDefaultDescription
modeprofile/posts/post_details/commentspostsWhat to scrape
usernamesstring[]Handles to scrape (profile/posts modes)
postUrlsstring[]Post URLs for comments mode
shortcodesstring[]Post shortcodes for comments mode
maxItemsinteger50Max records per username/post
sessionIdstringYour IG sessionid cookie (comments only)
proxyConfigurationobjectRESIDENTIALApify proxy config

Example input — profiles

{
"mode": "profile",
"usernames": ["natgeo", "nasa", "instagram"],
"maxItems": 50
}

Example input — posts

{
"mode": "posts",
"usernames": ["natgeo"],
"maxItems": 50
}

Example input — comments

{
"mode": "comments",
"postUrls": ["https://www.instagram.com/p/DYhkH24lf3j/"],
"maxItems": 100,
"sessionId": "YOUR_SESSIONID_COOKIE"
}

  1. Log in to Instagram in your browser (Chrome/Firefox)
  2. Open DevTools → Application → Cookies → https://www.instagram.com
  3. Find the cookie named sessionid — copy its Value
  4. Paste it into the sessionId input field

Important: Use your own account. Sessions last ~90 days before expiring. This actor never stores or shares your cookie — it is only used for the current run.


Why RESIDENTIAL proxy is required

Instagram blocks datacenter IP ranges immediately. When running on Apify cloud (datacenter IPs), RESIDENTIAL proxy is mandatory. The default proxy config (useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"]) handles this automatically — the proxy cost is billed to your Apify account at standard rates.


Why this scraper beats the alternatives

This scraper@data-slayer/instagram-post-details ($2,648/mo)@krazee_kaushik (profile+comments)
Price~$1.50–2.00/1khigherhigher
No doc_id rotation maintenance
parse_confidence in every record
Graceful degradation without sessionIdpartial
Both feed + profile node shapes parsedpartialpartial
play_count (video views)partial

Key advantage: Most competitors use GraphQL endpoints with doc_id parameters that rotate every 2–4 weeks, causing silent failures until manually patched. This actor uses Instagram's stable mobile API endpoints — no doc_id rotation, no maintenance window.


Technical notes

  • Uses lightweight HTTP requests with proper browser headers (requests/httpx are blocked by Instagram)
  • Profile + posts: anonymous access via /api/v1/users/web_profile_info/ and /api/v1/feed/user/{id}/
  • Comments: requires sessionid cookie via /api/v1/media/{pk}/comments/
  • Proxy: Apify RESIDENTIAL (required for cloud runs; buyer-paid)
  • parse_confidence (0.0–1.0) in every record — schema drift is visible in the dataset
  • Rate-limit aware: exponential backoff on 429, retries on transient errors
  • Shortcode ↔ media_pk conversion via base64url (A-Za-z0-9 + -_)

Pricing

~$1.50–2.00 per 1,000 records (PPE — pay per result, no per-run fees).


Use with AI agents (MCP)

This scraper is callable as a tool by AI agents (Claude, Cursor, n8n, CrewAI) via Apify's MCP server. Minimal agent call:

{
"mode": "posts",
"usernames": ["natgeo"],
"maxItems": 10
}

parse_confidence (0.0–1.0) in every record lets agents filter low-quality rows without manual inspection.


Not affiliated with Instagram or Meta. For personal use and research.

Integrations

Built for social-listening and influencer-marketing teams pulling profile stats, post engagement, and comment data at scale — the JSON/dataset output drops into the tools you already run, no glue code:

  • n8n / Make / Zapier — trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: n8n, Make, Zapier.
  • Webhooks — fire your own endpoint the moment a run finishes, to push results straight into your pipeline (docs).
  • MCP server — expose this actor as a tool to Claude, Cursor, or any MCP client so an AI agent can pull this data mid-conversation (guide).
  • API & SDKs — fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.

See all Apify integrations.