Instagram Profile Scraper · No Login · $0.49/1k
Pricing
from $0.49 / 1,000 profiles
Instagram Profile Scraper · No Login · $0.49/1k
Public Instagram profiles by username, ID or URL, no login: exact follower counts, biography with links and any email or phone written into it, HD photo, business category, related profiles and 12 recent posts with metrics. Optional About add-on: country, join month, former usernames.
Pricing
from $0.49 / 1,000 profiles
Rating
0.0
(0)
Developer
Alfalfa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Instagram Profile Scraper (No Login)
Scrape public Instagram profiles by username, profile URL or numeric ID and get clean profile data: exact follower and following counts, biography with links and any email or phone written into it, HD profile picture, verification and business flags, related accounts, and the 12 most recent posts with likes, comments, timestamps and media URLs. No Instagram account, login or cookies needed. Same field names and types as the official Instagram Profile Scraper, with null wherever Instagram hides a value from a signed-out visitor, at $0.49 per 1,000 profiles. A profile with its recent posts arrives in about five seconds.
Optional About account add-on: the country the account is registered in, the month it was created and how many times it changed its username, straight from Instagram's "About this account" panel.
Not affiliated with, endorsed by or connected to Meta Platforms, Inc. Instagram is a trademark of Meta.
What you can do with Instagram profile data
- Influencer research and vetting: follower counts, engagement rate over the last 12 posts, posting frequency, business category and any email or phone written into the biography, in one record per creator.
- Lead generation: email addresses and phone numbers that profiles in your niche write into their biography, with the links they publish. Across a random batch fewer than one profile in ten has an email in the bio. In a niche picked for it, such as wedding vendors, most do.
- Instagram API replacement: Meta's Graph API only returns data for accounts you own. This scraper returns public profile data for any account through the Apify API, webhooks and integrations.
- Brand and competitor monitoring: track follower growth, post cadence and recent post performance of any set of accounts on a schedule.
- Account verification and fraud checks: with the About add-on, see when an account was created, where it is registered and whether it has changed its handle.
- Export to Google Sheets, CSV or Excel: one flat record per profile, nested posts as JSON, ISO timestamps.
What data do you get
Every record has all 37 fields of the official Instagram Profile Scraper's output schema, with the same names and JSON types, plus contact and analytics fields on top.
| Group | Fields |
|---|---|
| Identity | id, username, fullName, url, biography, profilePicUrl, profilePicUrlHD, verified, private, isBusinessAccount, businessCategoryName |
| Counts | followersCount, followsCount, postsCount, highlightReelCount, igtvVideoCount |
| Links and contacts | externalUrl, externalUrls (bio links), publicEmails and publicPhones (email addresses and international phone numbers, in practice the ones written in the biography), businessAddress when Instagram publishes it, which is rare. businessEmail, businessPhoneNumber (the contact buttons), facebookPage and threadsNetProfile are normally null without login. |
| Related | relatedProfiles: up to 50 accounts Instagram suggests next to this one, with id, username, name and verification |
| Recent posts | latestPosts: up to 12 posts with id, shortCode, type, caption, likesCount, commentsCount, timestamp, displayUrl, videoUrl, videoViewCount, carousel children, hashtags, mentions, pinned flag |
| Engagement analytics | engagementRate, engagementSampleSize, average and median likes and comments, posting frequency, last post date, video share, most engaged post, frequent hashtags and mentions |
| About add-on | about: country, date_joined, date_joined_as_timestamp, former_usernames, is_verified |
Set maxPostDetails from 1 to 12 to also fetch recent comments and additional media details for that many posts. Fields Instagram does not publish for a profile, or shows only to logged-in users, are null, never guessed: an exact postsCount is never replaced by a rounded one, and an unpublished country stays null rather than being inferred from the biography or language.
How to scrape Instagram profiles
- Paste usernames, profile URLs or numeric IDs into the input, one per line, or send them over the API.
- Optionally set
maxPostDetailsfor recent comments, or switch on the About account add-on. - Run. Every profile lands in the dataset as one record; download it as JSON, CSV, Excel or XML, or read it from your integration.
Input
{"usernames": ["nasa", "natgeo", "528817151"],"startUrls": [{ "url": "https://www.instagram.com/google/" }],"maxProfiles": 100,"maxPostDetails": 0,"includeAboutSection": false}
| Field | Meaning |
|---|---|
usernames | Usernames or numeric profile IDs. A leading @ and full profile URLs are accepted too. |
startUrls | Profile URLs. Post and reel URLs are not profiles and are rejected with a clear message. |
maxProfiles | Maximum number of successful profiles in one run. |
maxPostDetails | 0 to 12. How many recent posts get the optional comment and media detail lookup. |
includeAboutSection | Adds the about object. Paid Apify plans only; on a free plan the run continues without it and says so. |
proxyConfiguration | Optional country for the residential exit. |
Duplicate usernames are scraped once.
Output
One record per profile. Abbreviated real output for nasa with the About add-on on:
{"id": "528817151","username": "nasa","fullName": "NASA","url": "https://www.instagram.com/nasa","biography": "Making the seemingly impossible, possible. ✨","followersCount": 104347893,"followsCount": 91,"postsCount": 4928,"verified": true,"private": false,"isBusinessAccount": true,"businessCategoryName": "Government Agencies","profilePicUrlHD": "https://...","externalUrls": [{ "title": "nasa.gov", "url": "https://www.nasa.gov/", "link_type": "external" }],"publicEmails": [],"relatedProfiles": [{ "id": "5435768227", "username": "astro_seal", "full_name": "Chris Cassidy", "is_verified": true }],"latestPosts": [{"id": "3983374110243288826","shortCode": "DdHyaYAifb6","type": "Sidecar","caption": "...","likesCount": 107351,"commentsCount": 593,"timestamp": "2026-09-10T21:20:24.000Z","displayUrl": "https://...","isPinned": true,"hashtags": [],"childPosts": [{ "id": "...", "type": "Image", "displayUrl": "https://..." }]}],"engagementRate": 0.2395,"engagementSampleSize": 12,"averageLikes": 249104.58,"medianLikes": 191683,"postsPerWeek": 7.83,"videoShare": 41.67,"lastPostAt": "2026-09-20T17:20:00.000Z","mostEngagedPostUrl": "https://www.instagram.com/p/DdWyDLcGiqo/","about": {"id": 528817151,"username": "nasa","is_verified": true,"country": "United States","date_joined": "August 2013","date_joined_as_timestamp": 1375315200,"former_usernames": 0,"date_verified": null,"date_verified_as_timestamp": null,"accounts_with_shared_followers": null}}
A profile that could not be scraped produces a diagnostic record with error and errorDescription, so a batch never silently drops an input. The error code says why: not_found when no public profile exists under that username right now, because it is misspelled, renamed, removed or never used, invalid_input for a post or reel URL, and request_failed when the lookup failed on our side. Those records are not charged. The run fails only when not a single profile succeeded and at least one failed on our side.
Pricing
$0.49 per 1,000 profiles plus $0.001 per run, on every plan. Platform usage and residential proxies are included.
About account add-on: $3.49 per 1,000 panels on Starter, $2.99 on Scale, $2.49 on Business and above. Charged only for a profile whose About panel was actually returned. Available on paid Apify plans.
What that buys you
| Allowance you have | Profiles it covers |
|---|---|
| $5, which is what the free plan includes | about 10,000 in batches, about 3,300 if you run one profile per run |
| $49 | about 100,000 in batches |
| $199 | about 400,000 in batches |
Recent posts, related accounts, biography contacts and the engagement analytics are inside the profile price. The only optional charge is the About add-on.
What you are never charged for
- Diagnostic rows: a username with no public profile right now, whether misspelled, renamed, removed or never used (
not_found), an input that is not a profile (invalid_input) or a lookup that failed on our side (request_failed). The row lands in your dataset with the reason and costs nothing. - An input that returns nothing at all.
- Compute time and proxy traffic.
- An About lookup that returned no panel.
The cap is a cap
maxProfiles and the run budget are checked before a profile is fetched, so a run cannot overshoot the number you type. Set the maximum cost per run in the Actor settings and the scraper works out how many profiles fit and stops there.
For comparison, the official Instagram Profile Scraper charges $2.60 per 1,000 profiles on the free plan and $1.60 on Business, and its About add-on $7.00 and $4.00 per 1,000 respectively.
Switching from the official Instagram Profile Scraper
- Replace the Actor ID in your integration and keep your input:
usernames,startUrls,maxProfiles,includeAboutSectionall work as before. - Every field of the official dataset schema is present with the same name and type. Fields Instagram normally withholds without login, such as the contact-button email and phone,
facebookPageandthreadsNetProfile, and fields the public API no longer serves for some profiles, such as an exactpostsCount, highlight titles or IGTV counts, arenullrather than estimated. abouthas the official shape.date_verifiedandaccounts_with_shared_followersare alwaysnull; the other fields are filled.
Limitations
- A private account returns no posts.
- The email and phone behind the contact buttons, the linked Facebook page and the Threads profile are normally
nullwithout login. In practice, emails and phone numbers come from the biography text. - Stories, highlights content and follower lists are not part of a profile record.
postsCountcan benullfor some profiles; the newer public API sometimes omits the exact total. A rounded count is never substituted.- The About add-on needs a paid Apify plan and depends on a data source with finite capacity; when it is unavailable the run says so before scraping anything, and nothing is charged.
- Recent posts may differ from a logged-in view, which is personalised.
FAQ
Is there an Instagram API for follower counts of any account?
Meta's Graph API returns data only for accounts you own or manage. For any public account, this scraper gives you exact follower and following counts, recent posts and biography links through the Apify API, with schedules and webhooks.
Can I scrape Instagram profiles without logging in?
Yes. This scraper reads only what Instagram shows a signed-out visitor, the same public data anyone sees without an account. You never provide an account, a password or cookies, so there is nothing of yours to get banned.
How do I find out when an Instagram account was created?
Switch on the About account add-on. It returns the month the account was created, the country it is registered in and how many times it changed its username, from Instagram's own "About this account" panel.
Can I get the email address of an Instagram profile?
In practice only when the account writes it into its biography. publicEmails and publicPhones collect the email addresses and international phone numbers found in the biography text, plus the contact-button email and phone whenever Instagram returns them, which without login it normally does not. Nothing is guessed or enriched from other sources.
How many profiles can I scrape at once?
Any number. A run of a few hundred profiles is typical; maxProfiles and the run budget stop the run where you set them.
Is scraping Instagram profiles legal?
The scraper collects only publicly available data, without logging in or bypassing any access control. Whether you may use that data depends on your purpose and jurisdiction; personal data is subject to laws such as GDPR. Read Apify's legal guide and consult a lawyer for your case.
Use it from n8n, Make, Zapier or an AI agent
- n8n, Make, Zapier: add the Apify node, pick
alfalfa/instagram-profile-scraperas the Actor, paste the same JSON input as above and read the run's dataset in the next step. A scheduled workflow that refreshes follower counts every morning and appends them to Google Sheets takes three nodes. See the Apify integrations docs. - AI agents and MCP (Claude, Cursor, VS Code, ChatGPT): connect the Apify MCP server with this Actor as a tool,
https://mcp.apify.com/?tools=alfalfa/instagram-profile-scraper, and the agent can call it by describing what it wants in plain language. The input and output schemas are published, so the agent knows every field. See Apify MCP docs. - API and scheduling: every run is available through the Apify API and the Apify CLI; schedules, webhooks and dataset exports (JSON, CSV, Excel, XML) are built into the platform.
Examples you can run in one click
Each example opens with its input already filled in and a sample of the results, so you can change any field and run it right away.
- Emails from Instagram bios for lead lists
- Export Instagram profiles to Excel
- Instagram account creation date and country
- Instagram engagement rate of influencers
- Instagram follower count checker
- Instagram profile API for any public account
- Instagram user ID lookup
- Recent posts of an Instagram profile
- Similar Instagram accounts of a seed profile
- Track competitor Instagram accounts
Need something the examples do not cover? Every field is on the Input tab, and any example input works unchanged in an API call or an n8n, Make or Zapier workflow.
Was this useful?
If this Actor saved you time, a short review on its Store page helps others find it and tells me what to improve next. Missing a field or stuck on an input? Open an Issue on the Actor page; issues are answered within a day.
More scrapers by Alfalfa
All read only what the site shows a signed-out visitor, use the same field names as the official Apify Actors, and charge only for records that reach your dataset.
| Actor | What it returns | Price |
|---|---|---|
| Facebook Events Scraper | Events by keyword, city, page or URL: dates, venue with GPS, tickets, organizer, going counts, every date of a recurring event, optional organizer email | $3 / 1,000 events |
| Facebook Posts Scraper | Posts from pages and profiles: text, media, reaction breakdown, comments, shares, top comments, co-authors | $2 / 1,000 posts |
| Facebook Pages Scraper | Page profile: email, phone, website, address, likes, followers, rating, price range, About text, recent posts | from $2.50 / 1,000 pages |
| Facebook Comments Scraper | Comments and reply threads of any public post: text, author, date, likes, replies with parent links, three sort modes, date filter without surcharge | $0.30 / 1,000 comments |
| Facebook Ads Library Scraper | Ads from the Meta Ad Library by keyword, advertiser page or URL, with creatives, dates, platforms and EU reach | $0.45 / 1,000 ads |
| Google Ads Transparency Scraper | Every Google ad of an advertiser or website domain with format, dates, regions, previews and YouTube video ids | $0.30 / 1,000 ads |
| Google Maps Scraper | Places from any search and location with address, phone, website, rating and hours, plus reviews and website emails | $0.07 / 1,000 places |
| Amazon Product Scraper | Products from searches, Best Sellers lists and ASINs in 22 Amazon stores with price, rating, BSR and details | $0.28 / 1,000 products |
| LinkedIn Jobs Scraper | Public LinkedIn job postings by keyword, location, date, company or URL, with full description, salary, applicants, seniority and poster | $0.30 / 1,000 jobs |
| LinkedIn Company Scraper | LinkedIn company pages from URLs, names, websites or a filtered keyword search with size, employee count, followers, offices and recent posts | $1 / 1,000 companies |
| YouTube Scraper | Videos of a search, channel, playlist or URL list with views, likes, date, tags, plus transcripts and comments; no API key | $0.50 / 1,000 rows |
Not working?
Instagram changes things regularly. If a run returns nothing for a profile that opens on instagram.com, open an issue in the Issues tab with the input you used; fixes are usually deployed within a day. If the scraper saved you time, a short review on the Actor page helps other users find it.