Instagram Profile Scraper
Pricing
$2.50 / 1,000 profile rows
Instagram Profile Scraper
Instagram profile data by username - full name, bio, follower/following/post counts, verified and private status, profile picture. No login, no browser. $2.50 per 1,000 profiles.
Pricing
$2.50 / 1,000 profile rows
Rating
0.0
(0)
Developer
Hriday Rungta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Give it a list of usernames and get one row per profile back — full name, bio, follower and
following counts, post count, verified status, private status, and profile picture. No login, no
li_at/session cookie of any kind, no browser.
What you get
One row per profile:
username, fullName, profileUrl | who they are and a direct link |
profilePicUrl | their current profile picture |
biography | the full bio text |
followerCount, followingCount, postCount | exact counts, not abbreviated estimates |
isVerified, isPrivate | exact booleans |
isBusinessAccount | always null — see the honest gap below |
userId | Instagram's own numeric account id |
The one field this Actor cannot get
isBusinessAccount is always null. Every other field above was checked against real data
across a dozen real accounts — verified brands, verified individuals, and two accounts confirmed
genuinely private. The data source this Actor reads never carries a business/creator-account flag
for any of them, brand or not, so it is reported honestly as unavailable rather than guessed.
How this works, and what it doesn't do
A plain browser request to Instagram is blocked immediately — Instagram's own profile API answers
require_login: true on the very first attempt, cold, before any real rate limit could apply. This
Actor instead reads the same page the way a search-engine crawler does: Instagram serves a fully
populated SEO version of every public profile page for indexing, and that page carries the exact
data above in its own markup. Instagram's robots.txt explicitly permits this for the crawlers it
names.
It never logs in. No cookie, no session, no password of any kind touches this Actor. It only ever reads a public page's own rendered content — the identical content a search engine indexes and a link preview shows.
A username that does not resolve to a real account is logged and skipped — nothing is charged, and no row is saved, though the lookup still costs one proxy request.
Why this needs the UNBLOCKER proxy group
Measured directly on Apify's own infrastructure, not assumed: a bare connection and Apify's plain datacenter proxy group are both blocked outright — an empty page or an HTTP 429, no profile data either way. Only two proxy tiers get through: UNBLOCKER and RESIDENTIAL. Residential is billed per GB and would run roughly $10 per 1,000 profiles at this page's size, so this Actor defaults to UNBLOCKER and isn't meant to run without it.
Pricing
One flat price per profile row, no start fee, no separate usage charge on top. The price already covers this Actor's own UNBLOCKER proxy cost.
Input at a glance
| Input | Default | Notes |
|---|---|---|
usernames | — | bare username, @handle, or a full profile URL — any of the three works |
maxConcurrency | 5 | profiles fetched at once |
requestsPerSecond | 5 | a courtesy throttle across all concurrent workers combined |
maxRetries | 3 | network errors, timeouts, 5xx and 429 responses |
proxyConfiguration | Apify Proxy, UNBLOCKER | required in practice — see above |
Billing
Pay per event, charged once per profile actually found and returned, no start fee:
| Event | Price | When |
|---|---|---|
profile-row | $0.0025 ($2.50 per 1,000) | one profile row |
A username that doesn't resolve to an account is never charged. Set your own budget with a maximum total charge on the run.