Instagram API Scraper avatar

Instagram API Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Instagram API Scraper

Instagram API Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scraply

Scraply

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day 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. πŸ’š