Instagram API Scraper avatar

Instagram API Scraper

Pricing

Pay per usage

Go to Apify Store
Instagram API Scraper

Instagram API Scraper

Pricing

Pay per usage

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

15 days ago

Last modified

Share

πŸ“Έ Instagram API Scraper

⚑ Lightning-fast, no-login Instagram scraper. Profiles · Posts · Reels · Comments · Hashtags · Search.

Extract clean, structured data from any public Instagram URL or username β€” no headless browser, no logged-in cookies, no fragile session jugglery. The actor calls Instagram's own public endpoints with a battle-tested proxy escalator that quietly switches gears the moment Instagram pushes back.


✨ Why this actor?

πŸ”“ No login requiredScrapes public data only β€” no sessions, no risky cookie reuse
πŸͺΆ Browser-freePure async HTTP β€” 10Γ— cheaper than headless-Chrome scrapers
πŸ›‘οΈ Auto-escalating proxiesDirect β†’ datacenter β†’ residential, all behind the scenes
πŸ’Ύ Live resultsEach item is pushed to the dataset the moment it is parsed
πŸ—‚οΈ Per-section tablesPosts, comments, profiles, reels each get their own view
πŸ“… Date filtering2 months, 30 days, 2026-01-01 β€” whichever you prefer
🧷 Source attributionOptional parentData tags each row with where it came from

🎯 Key Features

  • πŸ“· Posts β€” recent posts from any profile, hashtag, or single shortcode
  • πŸ’¬ Comments β€” public comments under a post or reel
  • πŸͺͺ Details β€” full profile or post metadata
  • πŸ”– Mentions β€” every @mention parsed out of a profile's posts
  • 🎬 Reels β€” reel-feed from a profile
  • πŸ”Ž Search β€” user / hashtag / place top-search

πŸ“₯ Input

{
"directUrls": [
"https://www.instagram.com/humansofny/",
"humansofny",
"https://www.instagram.com/p/DPwJzEVDbwC/"
],
"resultsType": "posts",
"resultsLimit": 30,
"onlyPostsNewerThan": "1 year",
"search": "",
"searchType": "hashtag",
"searchLimit": 20,
"addParentData": false,
"proxyConfiguration": { "useApifyProxy": false }
}
FieldTypeDescription
directUrlsarrayInstagram URLs or bare usernames. Required.
resultsTypeenumposts Β· comments Β· details Β· mentions Β· reels Β· stories
resultsLimitintegerMax items per URL (default 30)
onlyPostsNewerThanstring2026-01-01, 7 days, 2 months, etc. Empty = no filter
searchstringOptional Instagram search query
searchTypeenumuser Β· hashtag Β· place
searchLimitinteger1–250
addParentDatabooleanAttach a parentData field for source tracking
proxyConfigurationobjectDefaults to no proxy. Actor auto-falls back to datacenter, then residential, when needed

πŸ“€ Output

Each item is pushed to the run's default dataset immediately on parse and tagged with a section field (posts, comments, reels, profiles, details, mentions, search). Switch between the πŸ“· Posts overview, πŸ’¬ Comments view, πŸͺͺ Profile details, 🎬 Reels view, πŸ”– Mentions view, and πŸ”Ž Search results tabs in the Console to see the right columns for each section.

Post example

{
"id": "3742534382104984578_242598499",
"type": "Sidecar",
"shortCode": "DPwJzEVDbwC",
"caption": "A few years ago I received a DM from @zohrankmamdani…",
"hashtags": [],
"mentions": ["zohrankmamdani"],
"url": "https://www.instagram.com/p/DPwJzEVDbwC/",
"commentsCount": 3949,
"firstComment": "Hello friends ❀️ …",
"latestComments": [ /* up to ~24 comments with full owner objects */ ],
"dimensionsHeight": 720,
"dimensionsWidth": 1080,
"displayUrl": "https://scontent…cdninstagram.com/…",
"images": [ "…", "…" ],
"likesCount": 30381,
"timestamp": "2026-05-06T15:31:34.000Z",
"childPosts": [ /* carousel children */ ],
"ownerFullName": "Humans of New York",
"ownerUsername": "humansofny",
"ownerId": "242598499",
"isCommentsDisabled": false,
"inputUrl": "https://www.instagram.com/humansofny/"
}

Profile, comment, reel, mention and search records have analogous, clean shapes β€” see the dataset views in Console.


πŸ›‘οΈ How the proxy escalator works

🌐 direct ──► 🏒 datacenter ──► 🏠 residential (3 retries, sticky)
  1. Default: no proxy. Talk directly to Instagram.
  2. First block (HTTP 401/403/407/429/451/503 or transport errors) β†’ switch to a datacenter proxy and retry.
  3. Second block β†’ switch to a residential proxy and retry up to 3 times.
  4. Once on residential, stay there for the rest of the run.

Every escalation is logged with a clear emoji marker so you can see exactly when Instagram pushed back.


πŸš€ How to Use (Apify Console)

  1. Log in at https://console.apify.com β†’ Actors.
  2. Open Instagram API Scraper.
  3. Drop in your URLs / usernames, pick a resultsType, set a resultsLimit.
  4. (Optional) tighten the window with onlyPostsNewerThan or run a search.
  5. Click Start.
  6. Watch the live log β€” posts/comments/profiles stream into the dataset as they are found.
  7. Open Output β†’ switch between Posts overview, Comments view, Profile details tabs.
  8. Export to JSON / CSV / XLSX.

πŸ€– Use via API

Start a run synchronously and receive the dataset items in the response:

curl -X POST \
"https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"directUrls": ["https://www.instagram.com/humansofny/"],
"resultsType": "posts",
"resultsLimit": 30
}'

Or start asynchronously:

curl -X POST \
"https://api.apify.com/v2/acts/<ACTOR_ID>/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"directUrls":["humansofny"],"resultsType":"posts","resultsLimit":30}'

πŸ’‘ Best Use Cases

  • 🧠 Audience research β€” pull a creator's recent post + comment data into your warehouse
  • πŸ“ˆ Brand monitoring β€” track mentions of your brand across hashtags
  • 🎯 Competitive analysis β€” diff a competitor's posting cadence and engagement
  • 🧬 Trend mining β€” sweep hashtags weekly and feed posts into an LLM for theme analysis
  • πŸ“¨ Outreach prep β€” enrich profile lists with bio + follower counts before email runs

πŸ’° Pricing

This actor follows Apify's pay-per-event model. You're billed per actor start and per dataset item produced; full breakdown is shown on the actor's pricing page. The actor exits gracefully if your spend limit is reached β€” runs never crash because of pricing.


❓ FAQ

Does it need an Instagram login? No. It only reads public data through Instagram's own public endpoints.

Why am I sometimes getting fewer comments than the post's commentsCount? Without a logged-in session, Instagram only returns the most recent ~24 comments per post. The actor returns all of those.

What happens if Instagram blocks me? The actor auto-escalates: direct β†’ datacenter β†’ residential (3 retries). You'll see the escalation in the log; nothing for you to do.

Can I scrape private accounts? No β€” and you shouldn't. Only publicly accessible profiles, posts, reels, and hashtags are supported.

Can I scrape stories? Only public, currently-visible stories on profiles that expose them publicly. Most stories are private and skipped silently.


  • Data is collected only from publicly available Instagram URLs.
  • The end user is responsible for compliance with GDPR, CCPA, anti-spam rules, and Instagram's terms.
  • Don't use scraped personal data to spam, dox, or harass.

πŸ†˜ Support & Feedback

Open an issue on the actor page or send a message in the Apify Console. Bug reports with the run ID get fixed fastest. πŸ’š