All-in-One Instagram Scraper avatar

All-in-One Instagram Scraper

Pricing

from $1.56 / 1,000 profile results

Go to Apify Store
All-in-One Instagram Scraper

All-in-One Instagram Scraper

Scrape Instagram profiles, posts, reels, comments, hashtags, and tagged posts. 8 modes in 1 actor. Returns bios, follower counts, engagement metrics, media URLs, and latest posts. 40% cheaper than alternatives. No login required. HTTP-only, 128MB memory, fast and cost-effective.

Pricing

from $1.56 / 1,000 profile results

Rating

0.0

(0)

Developer

Japi Cricket

Japi Cricket

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

8

Monthly active users

an hour ago

Last modified

Share

Scrape Instagram profiles, posts, reels, comments, hashtags, tagged posts, search results, and follower counts — 10 modes in 1 actor. 40% cheaper than alternatives. No login required. HTTP-only, 128MB memory.

What can this scraper do?

  • Profile Scraper — Full profile data + up to 12 latest posts pushed as separate results with complete engagement metrics (likes, comments, media URLs, timestamps)
  • Post Scraper — Scrape individual posts by URL or shortcode: caption, likes, comments, media type, image/video URLs, tagged users, hashtags, location
  • Reels Scraper — Scrape reels with play counts, shares, saves, audio info, and all standard post metrics
  • Comments Scraper — Extract comments from posts/reels: comment text, author, likes, replies count, timestamps (best results with login cookies)
  • Hashtag Scraper — Get hashtag metadata: total post count, hashtag ID, profile picture
  • Tagged Posts Scraper — Scrape profiles along with their latest posts for tagged/mentioned users
  • Search Scraper — Search for users, hashtags, or places on Instagram
  • Followers Count — Lightweight mode returning just follower/following/post counts (fast and cheap)
  • All-in-One Scraper — Combine profiles + posts + hashtags + search in a single run
  • Data Extractor — Lightweight extraction mode for bulk profile data

What data can you extract?

Profile fields

FieldExample
Usernamecristiano
Full NameCristiano Ronaldo
BiographyMy official Instagram
Followers636,000,000
Following582
Posts Count3,847
Is Verifiedtrue
Is Businesstrue
Business CategoryAthlete
Business Emailcontact@cr7.com
External URLhttps://www.cr7.com
Profile Picture (HD)URL
Pronounshe/him
Latest Posts (up to 12)Full post objects with likes, comments, media URLs

Post/Reel fields

FieldExample
ShortcodeCxYz123
CaptionAmazing sunset...
Likes1,250,000
Comments45,000
Plays (Reels)5,000,000
Shares (Reels)12,000
Saves (Reels)8,500
Media TypeImage / Video / Carousel / Reel
Image URLURL
Video URLURL
Timestamp2026-03-15T14:30:00Z
Owner Usernamecristiano
Hashtags[travel, sunset]
Mentions[nike, cr7]
Tagged Users[georgina, jr]
LocationDubai, UAE
Audio Title (Reels)Original Audio
Is Paid Partnershipfalse

Comment fields

FieldExample
Comment TextGreat photo!
Authorfan_account
Likes150
Replies3
Timestamp2026-03-15T14:30:00Z
Is Replyfalse

How to use

  1. Choose a scrape mode from the dropdown
  2. Add your input — usernames for profiles, URLs for posts/reels, hashtags for hashtag mode
  3. Click Start — results appear in the dataset within seconds

Input examples

Profile mode — add usernames (with or without @):

instagram, cristiano, leomessi, @kyliejenner

Post/Reel mode — add full URLs or shortcodes:

https://www.instagram.com/p/CxYz123/
https://www.instagram.com/reel/CxYz456/

Hashtag mode — add hashtags (with or without #):

travel, food, #fitness, photography

Pricing

This actor uses pay-per-result pricing. You only pay for the data you get — no platform usage fees.

ModeEvent NamePrice per 1,000 resultsCompetitor
Profile Scraperprofile-result$1.56$2.60
Post Scraperpost-result$1.62$2.70
Reels Scraperreel-result$1.62$2.70
Comments Scrapercomment-result$1.38$2.30
Hashtag Scraperhashtag-result$1.56$2.60
Tagged Scrapertagged-result$1.62$2.70
Search Scrapersearch-result$0.90$1.50
Followers Countfollowers-count-result$0.78$1.30
All-in-One Scraperscraper-result$1.62$2.70
Data Extractorextractor-result$1.00N/A
Actor Start (once per run)actor-start$0.00005$0.00

Note: Profile Scraper pushes the profile AND each latest post as separate results. Scraping 1 profile with 12 posts = 13 results charged.

How much does it cost?

ScenarioResultsCost
1 profile (+ 12 posts)13~$0.02
10 profiles (+ ~120 posts)~130~$0.20
100 profiles (+ ~1,200 posts)~1,300~$2.03
1,000 follower counts1,000~$0.78
50 hashtags50~$0.08
10 search queries (~50 results)~50~$0.05

40% cheaper than Apify's official Instagram scrapers across all modes.

Login cookies (optional — unlocks premium data)

For full data on comments, individual posts/reels, hashtag posts, and search results, provide your Instagram session cookies:

  1. Log into Instagram in your browser
  2. Open Developer Tools (F12) → Application → Cookies → instagram.com
  3. Copy the sessionid and csrftoken values
  4. Paste into the Login Cookies field as: sessionid=YOUR_SESSION_ID; csrftoken=YOUR_CSRF_TOKEN

Without login cookies, the scraper uses public endpoints which provide full profile data but limited post/comment/hashtag data.

Proxy requirements

Instagram blocks datacenter IPs. Residential proxies are required.

The default configuration uses Apify's RESIDENTIAL proxy group — this is pre-configured and works out of the box. No additional setup needed.

Output example

Profile result (JSON) — pushed as separate item

{
"instagramId": "25025320",
"username": "instagram",
"fullName": "Instagram",
"biography": "Discovering and telling stories from around the world.",
"followersCount": 700931037,
"followsCount": 452,
"postsCount": 7842,
"isVerified": true,
"isBusinessAccount": true,
"businessCategoryName": "Internet company",
"profilePicUrl": "https://...",
"profilePicUrlHD": "https://...",
"externalUrl": "https://about.instagram.com",
"profileUrl": "https://www.instagram.com/instagram/",
"latestPostsCount": 12,
"input": "instagram"
}

Post result (JSON) — each post pushed separately

{
"shortCode": "DWW9OCIEorF",
"caption": "New feature alert...",
"likesCount": 142671,
"commentsCount": 1523,
"mediaType": "Image",
"displayUrl": "https://...",
"timestamp": "2026-03-25T18:00:00.000Z",
"url": "https://www.instagram.com/p/DWW9OCIEorF/",
"ownerUsername": "instagram",
"fromProfile": true,
"input": "instagram"
}

Technical details

  • Runtime: Node.js 20
  • HTTP library: Impit (Chrome TLS fingerprint impersonation)
  • Memory: 128MB default (87.5% less than competitors)
  • Speed: ~3-5 seconds per profile including enrichment
  • No login required: Uses Instagram's public web_profile_info API
  • Session management: Automatic proxy rotation and cookie management

Limitations

  • Posts/Reels by URL: Without login cookies, individual post pages return limited data. For full metrics, use Profile Scraper mode (includes up to 12 latest posts) or provide login cookies.
  • Comments: Best results with login cookies provided. Without cookies, comment extraction is limited.
  • Hashtag posts: Metadata (name, post count) is always available. Individual posts within a hashtag require login cookies.
  • Tagged media: Returns profile + latest posts. Actual tagged media feed requires login cookies.
  • Private profiles: Only basic info (username, bio, follower count) is available. Posts are not accessible.
  • Profile mode billing: Each profile AND each latest post is pushed as a separate result. 1 profile with 12 posts = 13 billable results.

FAQ

Is web scraping Instagram legal? Web scraping publicly available data is generally legal. This scraper only accesses publicly available Instagram data that any visitor can see. It does not bypass any login walls or access private data.

Why do I need residential proxies? Instagram has aggressive bot detection and blocks datacenter IP addresses. Residential proxies route requests through real home internet connections, making them indistinguishable from regular users.

Can I scrape private profiles? No. Private profiles require authentication and are not accessible through this scraper.

How many profiles can I scrape? There is no hard limit. The scraper handles rate limiting automatically with session rotation and backoff delays. For large runs (10,000+), expect longer runtimes due to rate limiting.

Why do some modes return limited data? Instagram has progressively restricted their public APIs. Profile data remains fully accessible, but individual post details, comments, and hashtag posts now require authentication. Provide your Instagram login cookies in the loginCookies input to unlock full data for all modes.

Integration examples

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("get-leads/all-in-one-instagram-scraper").call(run_input={
"scrapeMode": "instagram-profile-scraper",
"profiles": ["instagram", "cristiano"],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['username']}: {item.get('followersCount', 'N/A')} followers")

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('get-leads/all-in-one-instagram-scraper').call({
scrapeMode: 'instagram-profile-scraper',
profiles: ['instagram', 'cristiano'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(`${item.username}: ${item.followersCount} followers`));

REST API (cURL)

curl "https://api.apify.com/v2/acts/get-leads~all-in-one-instagram-scraper/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"scrapeMode":"instagram-profile-scraper","profiles":["instagram"]}'

Support

Found a bug? Open an issue on the actor page.

Questions? Contact us at get-leads@apify.com

Other scrapers by Get Leads