Instagram Profile Scraper · No Login · $0.49/1k avatar

Instagram Profile Scraper · No Login · $0.49/1k

Pricing

from $0.49 / 1,000 profiles

Go to Apify Store
Instagram Profile Scraper · No Login · $0.49/1k

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

Alfalfa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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.

GroupFields
Identityid, username, fullName, url, biography, profilePicUrl, profilePicUrlHD, verified, private, isBusinessAccount, businessCategoryName
CountsfollowersCount, followsCount, postsCount, highlightReelCount, igtvVideoCount
Links and contactsexternalUrl, 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.
RelatedrelatedProfiles: up to 50 accounts Instagram suggests next to this one, with id, username, name and verification
Recent postslatestPosts: up to 12 posts with id, shortCode, type, caption, likesCount, commentsCount, timestamp, displayUrl, videoUrl, videoViewCount, carousel children, hashtags, mentions, pinned flag
Engagement analyticsengagementRate, engagementSampleSize, average and median likes and comments, posting frequency, last post date, video share, most engaged post, frequent hashtags and mentions
About add-onabout: 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

  1. Paste usernames, profile URLs or numeric IDs into the input, one per line, or send them over the API.
  2. Optionally set maxPostDetails for recent comments, or switch on the About account add-on.
  3. 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
}
FieldMeaning
usernamesUsernames or numeric profile IDs. A leading @ and full profile URLs are accepted too.
startUrlsProfile URLs. Post and reel URLs are not profiles and are rejected with a clear message.
maxProfilesMaximum number of successful profiles in one run.
maxPostDetails0 to 12. How many recent posts get the optional comment and media detail lookup.
includeAboutSectionAdds the about object. Paid Apify plans only; on a free plan the run continues without it and says so.
proxyConfigurationOptional 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 haveProfiles it covers
$5, which is what the free plan includesabout 10,000 in batches, about 3,300 if you run one profile per run
$49about 100,000 in batches
$199about 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

  1. Replace the Actor ID in your integration and keep your input: usernames, startUrls, maxProfiles, includeAboutSection all work as before.
  2. 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, facebookPage and threadsNetProfile, and fields the public API no longer serves for some profiles, such as an exact postsCount, highlight titles or IGTV counts, are null rather than estimated.
  3. about has the official shape. date_verified and accounts_with_shared_followers are always null; 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 null without 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.
  • postsCount can be null for 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.

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-scraper as 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.

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.

ActorWhat it returnsPrice
Facebook Events ScraperEvents 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 ScraperPosts from pages and profiles: text, media, reaction breakdown, comments, shares, top comments, co-authors$2 / 1,000 posts
Facebook Pages ScraperPage profile: email, phone, website, address, likes, followers, rating, price range, About text, recent postsfrom $2.50 / 1,000 pages
Facebook Comments ScraperComments 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 ScraperAds 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 ScraperEvery Google ad of an advertiser or website domain with format, dates, regions, previews and YouTube video ids$0.30 / 1,000 ads
Google Maps ScraperPlaces from any search and location with address, phone, website, rating and hours, plus reviews and website emails$0.07 / 1,000 places
Amazon Product ScraperProducts from searches, Best Sellers lists and ASINs in 22 Amazon stores with price, rating, BSR and details$0.28 / 1,000 products
LinkedIn Jobs ScraperPublic 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 ScraperLinkedIn 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 ScraperVideos 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.