Instagram Profile Scraper (Cheap) avatar

Instagram Profile Scraper (Cheap)

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Instagram Profile Scraper (Cheap)

Instagram Profile Scraper (Cheap)

Instagram profile scraper that pulls follower counts, bio text, post totals, and contact info from any public account, so marketers and researchers get structured data without manual clicking.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Data API

Data API

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 days ago

Last modified

Share

Instagram Profile Details Scraper

Instagram Profile Details Scraper

Checking Instagram accounts one by one is slow, and the app gives you nothing you can sort or save. This scraper turns a plain list of handles into a clean table of public profile data. Hand it the usernames you care about and it returns follower and following counts, the bio and its link, post totals, the verified badge, account category, profile photo, and a public contact email when one is listed. No login and no browser needed. Run one handle or a few hundred.

What you get

Each handle becomes one row with the same set of columns every time, so results drop straight into a sheet or database without reshaping. The data falls into three groups:

  • Identityhandle, displayName, bioText, accountCategory, verifiedBadge, privateAccount
  • ReachfollowerTotal, followingTotal, postTotal
  • Links and contactavatarUrl, bioLink, accountUrl, accountId, contactEmail

Anonymous runs on datacenter proxies return the core public fields. Add a session cookie or use residential proxies to fill in the rest.

Quick start

  1. Click Try for free and open the input form.
  2. Paste the Instagram handles you want into Instagram handles, one per line, without the @.
  3. Optional: paste your own sessionid cookie into Session cookie to unlock full profiles on cheaper proxies.
  4. Set a Profile cap if you want to limit the run, pick a proxy type, and press Start.
  5. When it finishes, export to JSON, CSV, Excel, or XML.

How it works

Use cases

  • Influencer vetting — line up follower counts, post totals, and bio links across a shortlist before you reach out
  • Lead generation — pull public contact emails and bio links from creator and brand accounts in one pass
  • Competitor tracking — watch follower and post counts for a set of rival accounts on a schedule
  • Audience research — build profile datasets for a niche or category and study what the top accounts have in common
  • Partnership sourcing — size up potential collaborators by reach and category before a pitch
  • Social audits — cross-check an Instagram presence against the rest of a brand's marketing footprint

Input

FieldTypeRequiredDescription
profileHandlesarray of stringsYesInstagram handles to look up, one per line, with no @.
sessionTokenstringNoYour Instagram sessionid value or full cookie string. Unlocks full profiles on datacenter proxies. Leave blank to run anonymously.
resultsLimitintegerNoMost profiles to process per run. Default 50; raise it up to 1,000.
proxyConfigurationobjectNoProxies for requests. Residential returns the richest data; datacenter works but is partial without a session cookie.

Example input

{
"profileHandles": ["natgeo", "nike"],
"resultsLimit": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Output

Every handle produces one row. The same fields appear on each row, so the dataset stays rectangular even when a value is missing or the account is private.

Example output

{
"handle": "natgeo",
"displayName": "National Geographic",
"bioText": "Experience the world through the eyes of National Geographic photographers.",
"followerTotal": 281000000,
"followingTotal": 165,
"postTotal": 30142,
"avatarUrl": "https://instagram.cdn.example.com/v/natgeo_profile.jpg",
"verifiedBadge": true,
"privateAccount": false,
"bioLink": "https://on.natgeo.com/instagram",
"accountUrl": "https://www.instagram.com/natgeo/",
"accountId": "787132",
"accountCategory": "Media/News Company",
"contactEmail": "",
"collectedAt": "2026-06-29T12:00:00.000000+00:00",
"errorMessage": null
}

Output fields

FieldTypeDescription
handlestringThe account handle, with no @ prefix
displayNamestringPublic name shown at the top of the profile
bioTextstringFree-text biography written on the profile
followerTotalintegerHow many accounts follow this profile
followingTotalintegerHow many accounts this profile follows
postTotalintegerCount of posts published on the profile
avatarUrlstringLink to the profile photo, in high resolution where offered
verifiedBadgebooleanTrue when the account carries the blue verified checkmark
privateAccountbooleanTrue when the profile is locked to private
bioLinkstringOutbound website or link-in-bio listed on the profile
accountUrlstringDirect link to the Instagram profile page
accountIdstringInstagram's internal numeric ID for the account
accountCategorystringCategory tag on the account, such as Musician, Brand, or Public Figure
contactEmailstringPublic business contact email when the account exposes one
collectedAtstringISO 8601 timestamp marking when the profile was captured
errorMessagestringReason the profile could not be retrieved, when applicable

Tips for best results

  • Run a few handles first. Try 5 to 10 before a big batch so proxy and handle-format issues show up early.
  • Use Residential for full profiles. Datacenter proxies pull name, photo, and follower count from page meta tags but skip bio, category, and verified status.
  • Or paste a session cookie. Drop your own sessionid into sessionToken and even datacenter proxies return complete profiles.
  • Private accounts return less. A locked profile exposes little public data; the row still lands so your dataset stays complete.
  • Cap test runs with resultsLimit. Keep it low while you confirm the output fits your pipeline, then raise it for the full batch.

How can I use Instagram profile data?

How can I use the Instagram Profile Details Scraper to vet influencers in bulk? Paste a shortlist of handles and the scraper returns follower and following counts, post totals, the verified badge, category, and bio link for each one. Sort the rows by reach or engagement signals to shortlist the accounts worth a closer look, without opening Instagram dozens of times.

How can I collect Instagram contact emails for outreach? When an account publishes a business contact email, it lands in the contactEmail field, paired with the bio link in bioLink. Feed in a list of creator or brand handles and you get a contact sheet you can hand straight to a sales or partnerships workflow.

How can I track competitor Instagram accounts over time? Schedule the actor against a fixed set of handles and export each run. Comparing followerTotal and postTotal across runs shows who is growing, who is posting more, and how your own account stacks up, all in a format you can chart or pipe into a dashboard.

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Support

Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.