Instagram Scraper: extract posts, reels, profiles and comments
Apidojo Instagram Scraper is a no-login Instagram data API that collects posts, reels, profiles, hashtags, locations and audio pages from any public Instagram URL. It costs $0.49 per 1,000 posts, returns up to 199 posts per second, and exports JSON, CSV or Excel.
Users and run success are the five Instagram scrapers combined. Read on 21 September 2026.
What are the Instagram Scraper specifications?
Apidojo Instagram Scraper runs on the Apify platform and accepts Instagram URLs as input: profile, hashtag, location, audio, reels and tagged-posts URLs. Each post returns 12 top-level fields plus nested owner, location, image and video objects, exported as JSON, CSV or Excel.
Instagram Scraper output is one JSON object per post. Each object carries the post ID, shortcode, URL, creation date, caption, like and comment counts, a nested owner object, and location, image and video objects where the post has them.
What the fields are
Post content
ID, shortcode, URL, caption, creation time, carousel and video flags, paid-partnership flag
Engagement
Likes, comments, video play count, pinned and hidden-count flags
Owner profile
Username, full name, user ID, followers, following, post count, verified and private flags, avatar
Media and context
Image and video URLs with dimensions and duration, co-owners, location with coordinates
Field dictionary28 fields
Field
Type
Example value
Group
id
string
3245142029192513970_62815273217
Content
code
string
C0JD3tntcmy
Content
url
string
https://www.instagram.com/p/C0JD3tntcmy/
Content
createdAt
string (ISO 8601)
2023-11-27T07:48:34.000Z
Content
caption
string
Full caption text, hashtags included
Content
isCarousel
boolean
false
Content
isVideo
boolean
true
Content
isPinned
boolean
false
Content
isPaidPartnership
boolean
false
Content
likeCount
integer
114
Engagement
commentCount
integer
5
Engagement
isLikeAndViewCountsDisabled
boolean
false
Engagement
owner.username
string
jogi.lapki.bydgoszcz
Owner
owner.fullName
string
Joga z pieskami
Owner
owner.id
string
62815273217
Owner
owner.followerCount
integer
5917
Owner
owner.followingCount
integer
5917
Owner
owner.postCount
integer
48
Owner
owner.isVerified
boolean
false
Owner
owner.isPrivate
boolean
false
Owner
owner.profilePicUrl
string
https://scontent.cdninstagram.com/…jpg
Owner
coowners[]
array of objects
Collaborators credited on the post
Owner
location.name
string
Bydgoszcz, Poland
Context
location.lat
float
53.1222
Context
location.lng
float
17.9986
Context
video.url
string
https://scontent.cdninstagram.com/…mp4
Context
video.duration
float
28.281
Context
video.playCount
integer
3321
Context
Which Apidojo Instagram scraper fits your job?
Apidojo publishes 5 Instagram scrapers. Instagram Scraper collects posts and reels from any Instagram URL at $0.49 per 1,000, and the Hashtag, User, Comments and Location scrapers each handle one job, three of them billing a small fee per query with free items included.
Start here
Instagram Scraper
apidojo/instagram-scraper
9K users · 4.7 (36)
The main scraper. Collects posts and reels from profile, hashtag, location, audio, reels and tagged-posts URLs, with a date filter and a custom output map function.
Profiles, hashtags and locations
Reels, audio pages and tagged posts
Full post, engagement and owner fields
Up to 199 posts per second
Date filtering with until
Minimum 10 posts per input
$0.49 / 1,000 postsPay per result · $0.47 on Gold and above
Instagram Scraper costs $0.49 per 1,000 posts, billed per result with no per-run fee. That is 4.7 times cheaper than Apify’s own Instagram Scraper, which charges $0.0023 per result, or $2.30 per 1,000 posts.
Prices apply to Apify paid plans and step down by tier: $0.49 on Bronze, $0.48 on Silver, $0.47 on Gold and above. The free plan runs Instagram Scraper in demo mode, 5 runs a month, 10 items a run, with no API access.
How does Instagram Scraper compare with the official Instagram API?
The official Instagram Graph API returns data only for accounts that authorise your app. It cannot read another brand’s posts, a competitor’s followers or an open hashtag feed at scale. Instagram Scraper reads any public Instagram URL for $0.49 per 1,000 posts, with no Meta app, no review process and no Business account.
Side by sidePer 1,000 items
What you get
Apidojo Instagram Scraper
Instagram Graph API
Apify Instagram Scraper
Cost per 1,000 posts
$0.49
No per-call charge
$2.30
Cost for 100,000 posts
$49
No per-call charge
$230
Whose data you can read
Any public profile, hashtag or location
Only accounts that authorise your app
Any public profile, hashtag or location
Setup before the first result
An Apify account
Professional account, Facebook Page, Meta app review
An Apify account
Hashtag search
Any hashtag, no cap
30 unique hashtags per 7-day period
Any hashtag
Follower lists
Yes, via Instagram Profile Scraper
No
Yes
Rate limits
Set by your Apify plan
4,800 × impressions per 24 hours
Set by your Apify plan
Personal-account access
Public posts only
Professional accounts only
Public posts only
Post, comment or send a DM
No, read-only
Yes
No, read-only
Contractual SLA
No. Maintained daily, no contract.
Meta platform terms
Maintained by Apify
Graph API limits from Meta’s Instagram Platform documentation read on the snapshot date: 30 unique hashtags per 7-day period, and a general rate limit of 4,800 × impressions per 24 hours. Apify’s price is the public pricing on apify/instagram-scraper, $0.0023 per result.
How to scrape Instagram with Apidojo in 4 steps
Scraping Instagram with Apidojo takes 4 steps: open the scraper, paste Instagram URLs, set the date and item limits, then run and export. No code, proxy or Instagram account is required.
01
Open Instagram Scraper on Apify
Sign in with a free Apify account. No credit card is needed to run it in demo mode.
02
Paste Instagram URLs
Profile, hashtag, location, audio, reels or tagged-posts URLs, one per row, exactly as they appear in the address bar.
03
Set the date and item limits
Use until as a date floor and maxItems to cap both the run and the cost. Keep each input above 10 posts.
04
Run and export the dataset
Download JSON, CSV or Excel, or have the run write straight into Notion through an MCP connector.
Returns only posts newer than the date given. Use it for monitoring runs instead of re-scraping a whole profile, but do not set it so close to now that the run returns almost nothing, because that still consumes a run.
customMapFunction
One synchronous JavaScript function, one item in, one object out. Reshape or flatten items before they are stored. It cannot drop items and cannot contain date logic, filter by date with until instead.
How do you call the Instagram Scraper API?
Instagram Scraper runs through the Apify REST API and the official Python and JavaScript clients. One POST to the run-sync endpoint starts the scraper and returns the posts as JSON in the same response.
MCP connectors
Write results straight into Notion or Todoist, outputConnector and deliverTarget, no export step.
n8n, Make and Zapier
The Apify app connects the scraper to your tools.
Webhooks
POST to any URL on run success.
Scheduling
Apify schedules with until set to the last run date.
How fast is Instagram Scraper?
Instagram Scraper returns 199 posts per second from hashtags, 183 from locations and 147 from profiles in Apidojo’s published benchmark. At 147 posts per second a 10,000-post profile export finishes in about 70 seconds.
Hashtags199 posts/sec
Locations183 posts/sec
Profiles147 posts/sec
Audio pages115 posts/sec
Reels94 posts/sec
Tagged posts85 posts/sec
How long a run takes
Dataset size
At 147/sec, profiles
At 199/sec, hashtags
1,000 posts
≈ 7 s
≈ 5 s
10,000 posts
≈ 1 min 8 s
≈ 50 s
100,000 posts
≈ 11 min 20 s
≈ 8 min 22 s
Benchmark published on the Instagram Scraper listing, run with identical inputs and resources per input type. Real speed varies with Instagram response times and input shape.
9K
users on Instagram Scraper
9.5M
Instagram Scraper runs, all time
4.7 / 5
from 36 Apify reviews
5
Instagram scrapers in the family
That rating is Instagram Scraper’s own, not an average across the five. Users and runs in the hero are the five combined; these four are the main scraper alone.
What can you build with Instagram Scraper data?
Instagram Scraper data powers 6 common workflows: influencer vetting, brand monitoring, campaign tracking, local and venue research, competitor benchmarking and AI training datasets. Each recipe below gives the input, the fields it uses and where the output lands.
Instagram Scraper operates under 5 documented limits. Each one below states the workaround, and three of the five are answered by another scraper in the same family.
Minimum 10 posts per input
Inputs asking for fewer create overhead and can trip the rate limiter.
Raise maxItems, or batch several URLs into one run rather than many tiny runs.
Public content only
Private accounts, their stories and direct messages are out of scope.
Open the profile in a logged-out browser window first, if you cannot see it there, neither can the scraper.
A tight until date wastes runs
Setting the date close to now returns almost nothing and still consumes a run.
Set until to the last run’s date for monitoring, and use wider windows for backfills.
customMapFunction cannot filter
Returning null to drop items is treated as abuse of pay-per-result pricing, and date logic is blocked outright.
Reshape with the map function, filter by date with until, and cap volume with maxItems.
The free plan runs in demo mode
5 runs per month, 10 items per run, and no API access.
Any paid Apify plan removes the cap and unlocks the API.
Is it legal to use an Instagram scraper?
Collecting publicly visible, logged-out Instagram data is generally lawful in the United States. US courts have held that scraping public pages does not violate the Computer Fraud and Abuse Act, in hiQ Labs v. LinkedIn (9th Cir., 2022). Personal data inside posts and profiles remains subject to GDPR and CCPA.
What the scraper collects
Only content visible without logging in. No private accounts, no direct messages, nothing behind a follow request.
What you are responsible for
A lawful basis for processing personal data, a retention limit, and Meta’s terms, which restrict automated collection.
Extra care with emails
Public business emails returned by Instagram Profile Scraper are personal data under GDPR. Use them only with a lawful basis and a working opt-out.
This is general information, not legal advice.
Instagram Scraper frequently asked questions
FAQ
Everything else people ask
Fifteen questions about this scraper and its family. Anything about the wider catalogue is answered on the scrapers hub.
Do I need an Instagram login or API key to use Instagram Scraper?
No. It collects public data without an Instagram account, cookies, proxies or API key. You need only a free Apify account.
Can Instagram Scraper extract reels?
Yes. Paste a profile’s reels tab or an audio page URL. Each reel returns its video URL, dimensions, duration and play count.
Can Instagram Scraper filter posts by date?
Yes. The until field returns only posts newer than the date you give. Use it to run daily or weekly monitoring without re-scraping a whole profile.
Can Instagram Scraper send results to Notion?
Yes. Authorise an Apify MCP connector once, then set outputConnector and a Notion page URL in the input. The scraper builds a typed database from the results, one column per field.
Which Instagram URLs does it accept?
Six types: profile, hashtag, location, audio, reels and tagged-posts URLs. Paste them exactly as they appear in the browser address bar.
Limits and results
Can Instagram Scraper scrape private accounts?
No. It reads only what a logged-out visitor can see. Private profiles, their stories and direct messages are out of scope.
How many posts can it return per profile?
As many as Instagram serves to a logged-out visitor, capped by maxItems. Each input must request at least 10 posts.
Why did my run return no results?
Runs return nothing when the input asks for fewer than 10 posts, the until date is too recent, or the account is private. Open the URL in a logged-out browser window to see what Instagram actually serves.
Can Instagram Scraper get follower lists and emails?
Follower and following lists run on Instagram Profile Scraper, which also returns public business emails where an account publishes one. Instagram Scraper itself returns follower counts inside each post’s owner object.
Can Instagram Scraper scrape comments?
Not itself. Instagram Comments Scraper returns comment text, likes, replies and commenter profiles at $0.50 per 1,000 comments, and the API variant bills $0.0075 per post with 15 comments free.
Plans and integrations
How much does it cost to scrape 10,000 Instagram posts?
Scraping 10,000 Instagram posts costs $4.90 at $0.49 per 1,000. The same job costs $23.00 on Apify’s own Instagram Scraper.
Is there a free Instagram Scraper plan?
Yes. The free Apify plan allows 5 runs per month with 10 items per run and no credit card. API access requires a paid plan.
Which formats does it export?
JSON, JSONL, CSV, Excel, XML and HTML tables, plus the Apify API for pulling results straight into your stack.
Does it work with n8n, Make and Zapier?
Yes, through the Apify app in all three, and through webhooks for anything else.
Can AI agents use Instagram Scraper through MCP?
Yes. The Apify MCP server exposes it as a tool to Claude, Cursor and other MCP clients.
Other Apidojo scrapers
Instagram is one of six sources in the catalogue. Every scraper publishes its inputs, its output fields and its price the same way this one does.
Paste a profile, hashtag or location URL. The free Apify plan runs it in demo mode with no credit card, and the output shape is the one documented on this page.