Instagram Profile Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
10 days ago
Last modified
Categories
Share
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:
- Identity —
handle,displayName,bioText,accountCategory,verifiedBadge,privateAccount - Reach —
followerTotal,followingTotal,postTotal - Links and contact —
avatarUrl,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
- Click Try for free and open the input form.
- Paste the Instagram handles you want into Instagram handles, one per line, without the @.
- Optional: paste your own
sessionidcookie into Session cookie to unlock full profiles on cheaper proxies. - Set a Profile cap if you want to limit the run, pick a proxy type, and press Start.
- When it finishes, export to JSON, CSV, Excel, or XML.

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
| Field | Type | Required | Description |
|---|---|---|---|
profileHandles | array of strings | Yes | Instagram handles to look up, one per line, with no @. |
sessionToken | string | No | Your Instagram sessionid value or full cookie string. Unlocks full profiles on datacenter proxies. Leave blank to run anonymously. |
resultsLimit | integer | No | Most profiles to process per run. Default 50; raise it up to 1,000. |
proxyConfiguration | object | No | Proxies 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
| Field | Type | Description |
|---|---|---|
handle | string | The account handle, with no @ prefix |
displayName | string | Public name shown at the top of the profile |
bioText | string | Free-text biography written on the profile |
followerTotal | integer | How many accounts follow this profile |
followingTotal | integer | How many accounts this profile follows |
postTotal | integer | Count of posts published on the profile |
avatarUrl | string | Link to the profile photo, in high resolution where offered |
verifiedBadge | boolean | True when the account carries the blue verified checkmark |
privateAccount | boolean | True when the profile is locked to private |
bioLink | string | Outbound website or link-in-bio listed on the profile |
accountUrl | string | Direct link to the Instagram profile page |
accountId | string | Instagram's internal numeric ID for the account |
accountCategory | string | Category tag on the account, such as Musician, Brand, or Public Figure |
contactEmail | string | Public business contact email when the account exposes one |
collectedAt | string | ISO 8601 timestamp marking when the profile was captured |
errorMessage | string | Reason 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
sessionidintosessionTokenand 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.
Is it legal to scrape data?
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.