Instagram Followers Scraper With Bio Contact Enrichment avatar

Instagram Followers Scraper With Bio Contact Enrichment

Pricing

$19.99/month + usage

Go to Apify Store
Instagram Followers Scraper With Bio Contact Enrichment

Instagram Followers Scraper With Bio Contact Enrichment

Instagram Followers Scraper is an Apify actor that extracts public follower data from Instagram profiles. Collect usernames, profile links, bios, and engagement details in structured formats like JSON or CSV. Ideal for lead generation, influencer research, and audience analysis.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

1

Bookmarked

48

Total users

3

Monthly active users

4 days ago

Last modified

Share

Instagram Followers Scraper — Bio, Email and Phone Data

Instagram Followers Scraper With Bio Contact Enrichment pulls every public follower of an Instagram account and, on request, enriches each one's own profile with biography, business_category_name, external_url, and public public_email / public_phone_number. Results export as structured JSON — no HTML parsing needed. Add hasEmail, businessOnly, or minFollowers filters to narrow the list to qualified leads in the same run. Start a run to see it on a real profile.

What is Instagram Followers Scraper With Bio Contact Enrichment?

It's an Actor that scrapes the public followers list of one or more Instagram profiles, then optionally fetches each follower's own profile data — bio, business category, external link, follower/following/media counts, and public contact fields — through Instagram's web_profile_info surface. Output is typed JSON, one row per follower, with enrichment fields present but null until fetched. No Instagram account is strictly required to run it, but providing a sessionId cookie is recommended for higher success rates. It's built for growth marketers, lead-gen and B2B outreach teams, and developers building audience-qualification tooling.

What Instagram follower contact data is publicly available to scrape?

Anyone can see a public account's followers, usernames, and verified badges without logging in. Contact fields exist only when a follower's own account is Business/Creator and published them.

Data CategoryPublicly AvailableRestricted
Username, avatar, verified badgeYes
Bio, business category, external linkYes, if publicPrivate accounts — login
Public email / phoneYes, if published (Business/Creator)Personal accounts have none; private — login
Own follower/following/media countsYes, if publicPrivate accounts — login
Full followers list past page oneYes, via paginationNo-sessionId runs rate-limit sooner
Stories, DMs, non-public contentNoAlways restricted

This Actor only returns publicly visible data — nothing behind a login wall is bypassed.

What data can I extract with Instagram Followers Scraper With Bio Contact Enrichment?

Every dataset row combines the follower's base identity/status fields with the opt-in bio-and-contact enrichment fields below.

Field NameDescription
pkFollower's numeric Instagram user ID (string)
idFollower's Instagram ID (same as pk unless Instagram returns a distinct value)
pk_idDuplicate/legacy form of the numeric ID
strong_id__Instagram's internal strong-identifier field
fbid_v2Linked Facebook ID, if any
usernameFollower's Instagram handle
full_nameFollower's public display name
profile_pic_idInternal ID of the profile picture asset
profile_pic_urlDirect URL to the follower's avatar image
profileUrlCanonical instagram.com/{username}/ link
followed_byUsername of the seed profile this follower belongs to
sourceTypefollower (real followers endpoint) or comment_fallback (padded from post commenters when the followers list runs dry before maxData)
scrapedAtISO-8601 UTC timestamp of when the row was collected
is_verifiedBlue-check verification flag
is_privateWhether the follower's account is private
has_anonymous_profile_pictureWhether the follower never set a custom avatar
account_badgesArray of Instagram account badges
latest_reel_mediaLatest reel media indicator from the followers endpoint
is_favoriteInstagram's internal "favorite" flag
third_party_downloads_enabledWhether the follower allows third-party media downloads
successWhether this row was collected successfully
biography (enrichment)Follower's public bio text
external_url (enrichment)Link in the follower's bio
follower_count (enrichment)The follower's own follower count
following_count (enrichment)The follower's own following count
media_count (enrichment)The follower's own post count
is_business_account (enrichment)Whether the follower's account is a business/professional account
business_category_name (enrichment)Business category label, if set
public_email (enrichment)Public business email, if published
public_phone_number (enrichment)Public business phone number, if published
profile_enrichedWhether this row actually received the enrichment fetch

Identity & profile fields

pk, id, pk_id, strong_id__, fbid_v2, username, full_name, profile_pic_id, profile_pic_url, profileUrl, followed_by, sourceType, scrapedAt — everything that identifies the follower and where the row came from.

Status flags & counts

is_verified, is_private, has_anonymous_profile_picture, account_badges, latest_reel_media, is_favorite, third_party_downloads_enabled, success — booleans and flags from the base followers endpoint.

Bio & contact enrichment

biography, external_url, follower_count, following_count, media_count, is_business_account, business_category_name, public_email, public_phone_number, profile_enriched — only populated when enrichProfiles is on or an enrichment-dependent filter pulled that row's data; otherwise null/false, never guessed.

🤖 Add-on: Need additional Instagram data?

If you want to track how a profile's audience changes over time instead of enriching it, pair this with Instagram Followers — New Followers & Unfollows Checker, which diffs followers/following across re-runs. To score the quality of a profile's own audience (engagement rate, posting cadence), use Instagram Followers Count Scraper With Engagement Quality Score. For leads sourced from post comments rather than follower lists, try Instagram Comments Scraper With Lead Enrichment.

How does Instagram Followers Scraper With Bio Contact Enrichment differ from the official Instagram API?

Meta's Instagram Graph API is scoped to Business/Creator accounts you manage yourself, not to reading arbitrary accounts' followers — it "cannot access Instagram consumer accounts" and has no endpoint for another account's followers list or a follower's bio/contact data (Meta for Developers, Instagram Platform docs).

FeatureInstagram Graph APIInstagram Followers Scraper With Bio Contact Enrichment
Account type requiredBusiness/Creator accounts onlyAny public Instagram profile
Approval processMeta App Review required for Advanced Access (accessing accounts you don't own)None — run directly from the input form
Followers list accessNo endpoint to list another account's followersReturns the public followers list for any profile you target
Follower bio/contact lookupNot exposed for other usersPer-follower enrichment adds bio, business category, email/phone
SetupOAuth app, linked Facebook Page, review processPaste profile URLs/usernames and run
ScopeYour own managed professional account onlyAny public account you point the Actor at

Use the Graph API when you manage the Instagram account and need native insights/publishing access. Use this Actor when you need the public follower list and per-follower bio/contact data of an account you don't manage.

How to use Instagram Followers Scraper With Bio Contact Enrichment

This Actor runs on the Apify platform — no separate signup or API keys beyond your Apify account.

  1. Open Instagram Followers Scraper With Bio Contact Enrichment on Apify and start a new run.
  2. Add one or more profile URLs or usernames to startUrls (required) — e.g. https://www.instagram.com/nike/.
  3. Set maxData for followers per profile, and paste a sessionId cookie for better reliability.
  4. Turn on enrichProfiles (and set enrichTopN/enrichConcurrency) if you want bio/contact fields, or set hasEmail/businessOnly/minFollowers filters directly — these auto-enable enrichment for the rows they need.
  5. Run the Actor and download results as JSON or CSV, or stream them from the dataset.

How to scale to bulk Instagram follower contact extraction

startUrls accepts an array, so one run can process many seed profiles — each gets its own maxData and enrichTopN budget. For volumes beyond a single run's practical size, split your profile list across multiple runs (via the Apify API or scheduled runs) rather than raising maxData indefinitely, since enrichment cost scales with the number of followers enriched.

What can you do with Instagram follower contact data?

  • A lead-gen specialist building an outreach list sets businessOnly and hasEmail to keep only followers whose public_email and business_category_name show they're a relevant business before adding them to a CRM.
  • A B2B sales rep prospecting a niche audience uses business_category_name and public_phone_number to shortlist followers worth a cold call.
  • An audience researcher profiling a competitor's followers uses is_verified and follower_count to separate real influencers from low-follower accounts.
  • A marketer vetting influencer audiences uses media_count and following_count alongside is_business_account to flag likely bot or low-activity followers.
  • An AI engineer builds a lead-scoring agent that reads biography and business_category_name as context and ranks each follower row for outreach priority — the typed JSON output drops straight into a RAG index or agent tool without extra parsing.

How does Instagram Followers Scraper With Bio Contact Enrichment handle rate limits and blocking?

The Actor escalates proxies automatically: it starts with no proxy, and on a 403/429 response falls back first to a datacenter proxy, then to a residential proxy, sticking with residential once it's needed. A shared asyncio.Semaphore, sized by enrichConcurrency (1-10), caps how many enrichment requests run at once across the whole run so bio/contact fetches don't spike request volume. Base pagination requests retry with exponential backoff on HTTP 429 (up to 3 attempts). Enrichment fetches use Chrome-TLS-impersonating requests (via impit) rather than plain HTTP, matching how a real browser talks to Instagram's web_profile_info endpoint. If a profile can't be accessed at all (invalid, checkpointed session, or blocked), the Actor logs the error and moves to the next profile in startUrls rather than failing the whole run; a sessionId cookie meaningfully improves success rates over an anonymous session.

⬇️ Input

ParameterRequiredTypeDescriptionExample Value
startUrlsYesarrayList of Instagram profile URLs or usernames to scrape followers from. Multiple profiles supported per run.["https://www.instagram.com/cristiano/"]
maxDataNointegerMaximum followers to collect per profile, after filters are applied. Range 1-100,000.100
sessionIdNostringInstagram sessionid cookie value. Optional but strongly recommended for better success rates.80339464000%3AMwlU...
enrichProfilesNobooleanWhen on, fetches each collected follower's own bio/business/contact fields, up to enrichTopN per profile.false
enrichTopNNointegerCaps how many followers per seed profile get the extra enrichment fetch. Range 0-5000.25
enrichConcurrencyNointegerMaximum concurrent enrichment requests across the whole run. Range 1-10.3
hasEmailNobooleanKeep only followers whose enriched profile has a public business email.false
hasPhoneNobooleanKeep only followers whose enriched profile has a public business phone number.false
businessOnlyNobooleanKeep only followers whose enriched profile is a business/professional account.false
verifiedOnlyNobooleanKeep only verified (blue-check) followers. Doesn't require enrichment.false
minFollowersNointegerKeep only followers whose own follower_count (from enrichment) is at least this number.100
maxFollowersNointegerKeep only followers whose own follower_count (from enrichment) is at most this number.50000
proxyConfigurationNoobjectProxy settings. Smart fallback escalates no proxy → datacenter → residential on 403/429.{"useApifyProxy": false}

Example input

{
"startUrls": [
{ "url": "https://www.instagram.com/cristiano/" }
],
"maxData": 200,
"sessionId": "80339464000%3AMwlUEdZkdshtFG%3A5%3AAYiJEi32U_OOJkvXyc232wBhDZz1Q4zQOFhTFSTy3g",
"enrichProfiles": true,
"enrichTopN": 50,
"enrichConcurrency": 3,
"hasEmail": false,
"hasPhone": false,
"businessOnly": true,
"verifiedOnly": false,
"minFollowers": 100,
"maxFollowers": null,
"proxyConfiguration": {
"useApifyProxy": false
}
}

⬆️ Output

Every run pushes typed, normalized JSON rows to the dataset with a consistent field set across runs — download as JSON, CSV, Excel, or any format the Apify dataset export supports. Enrichment fields are present on every row but stay null/false when a row wasn't enriched.

Example output

[
{
"pk": "73320179592",
"id": "73320179592",
"pk_id": "73320179592",
"strong_id__": "73320179592",
"fbid_v2": "",
"username": "davabukandaffa5",
"full_name": "arizki",
"profile_pic_id": "",
"profile_pic_url": "https://instagram.fjsr11-1.fna.fbcdn.net/v/t51.2885-19/...",
"profileUrl": "https://www.instagram.com/davabukandaffa5/",
"followed_by": "cristiano",
"sourceType": "follower",
"scrapedAt": "2026-07-25T09:00:00Z",
"is_verified": false,
"is_private": false,
"has_anonymous_profile_picture": false,
"account_badges": [],
"latest_reel_media": 0,
"is_favorite": false,
"third_party_downloads_enabled": 0,
"success": true,
"biography": "Coffee roaster | Jakarta",
"external_url": "https://linktr.ee/davabukandaffa5",
"follower_count": 842,
"following_count": 391,
"media_count": 76,
"is_business_account": true,
"business_category_name": "Coffee Shop",
"public_email": "hello@davabukandaffa5.com",
"public_phone_number": null,
"profile_enriched": true
}
]

How does it work?

The Actor calls Instagram's own private web API endpoints — the same ones the Instagram website itself uses to paginate a profile's followers — carrying your sessionId as a cookie when provided. If the followers endpoint's pagination runs dry before maxData is reached, it falls back to scanning commenters on the profile's own posts, tagging those rows comment_fallback so they're never confused with real followers. When enrichment is on, it fetches each follower's own profile through Instagram's web_profile_info endpoint using a Chrome-TLS-impersonating client, so the request looks like a real browser rather than a bot. Proxy tier escalates automatically if Instagram pushes back. Only data any visitor of a public profile could see is returned, and the output field set stays the same run to run regardless of changes to Instagram's own web UI.

Integrations

Instagram Followers Scraper With Bio Contact Enrichment works with the tools you already use to move data around — call it directly over HTTP, or wire it into a no-code workflow.

Calling Instagram Followers Scraper With Bio Contact Enrichment programmatically

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("Scraper-Engine/instagram-followers-scraper-with-bio-contact-enrichment").call(
run_input={
"startUrls": ["https://www.instagram.com/nike/"],
"maxData": 200,
"enrichProfiles": True,
"hasEmail": True,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.

MCP integration for AI agents

Instagram Followers Scraper With Bio Contact Enrichment is callable through Apify's MCP Server, which exposes Apify Actors as tools for MCP-compatible clients. Add this Actor's ID to the actors list when configuring Apify's MCP Server, then call it from Claude, or any other MCP client, the same way you'd call a local tool — no separate integration code required.

No-code tools (n8n, Make, LangChain)

In n8n, use the Apify node (or an HTTP Request node against the Actor's run endpoint) to trigger a run and pull dataset items into your workflow. In Make, use Apify's native app module to start a run and fetch the resulting dataset. In LangChain, use the Apify integration to call this Actor by ID and load its dataset items directly as Documents for a chain or agent.

Scraping publicly visible data is generally legal; this Actor only returns data any visitor of a public profile (or a public business/creator profile's published contact fields) can already see — it does not bypass logins or access private accounts. Follower bio, email, and phone fields are personal data, so GDPR (if you or your data subjects are in the EU/UK) and CCPA (if they're in California) govern how you may store, process, and retain them — you need a lawful basis for collection and must honor deletion/access requests. Consult legal counsel if your use case involves bulk storage of personal data, especially contact details intended for outreach.

Frequently asked questions

What Instagram follower fields does Instagram Followers Scraper With Bio Contact Enrichment return?

The top fields are username, full_name, is_verified, and, when enrichment is on, biography, public_email, and public_phone_number. See the data fields section above for the full 31-field row.

Does it require an Instagram account or login?

No account is required to run it, but a sessionId cookie is optional and recommended — without one, Instagram may limit access and success rates for both the base follower list and per-follower enrichment.

How many followers can I extract in one run?

Up to maxData per profile (1-100,000), across as many profiles as you add to startUrls in one run.

What happens if a profile is private or doesn't exist?

The Actor logs an error for that profile (profile not found or inaccessible) and returns zero followers for it, then continues to the next profile in startUrls — a failed profile never stops the whole run.

Can I scrape multiple Instagram profiles at once?

Yes — add multiple entries to startUrls; maxData and enrichTopN both apply per profile, not across the whole run.

Does Instagram Followers Scraper With Bio Contact Enrichment work with Claude, ChatGPT, and other AI agent tools?

Yes. It's reachable through Apify's MCP Server for MCP-compatible clients like Claude, and callable as a plain HTTP endpoint by any agent framework that can start an Apify Actor run.

How does Instagram Followers Scraper With Bio Contact Enrichment compare to other Instagram followers scrapers?

Most Instagram follower scrapers stop at the base list — username, avatar, verified/private flags. This Actor adds an opt-in per-follower enrichment step (bio, business category, external link, public email/phone) and lead-gen filters (hasEmail, businessOnly, minFollowers) that run in the same job, rather than requiring a separate profile-scraping pass per follower.

Does it return data in a format LLMs can use directly?

Yes. Typed, normalized JSON with consistent field names across runs — pass it directly to an LLM, index it in a vector store, or feed it to an agent tool without HTML parsing or selectors.

What happens when Instagram changes its layout or anti-bot system?

The Actor is maintained and the output schema stays stable across updates — no specific turnaround time is promised for any given change.

Can I use it without managing proxies or browser infrastructure?

Yes. Proxy tier escalation (direct → datacenter → residential) and Chrome-TLS request impersonation for enrichment are both handled internally — you don't configure either unless you want to override the proxy settings.

Which Instagram follower fields work best for AI training data and RAG indexing?

For RAG, index biography and business_category_name as the high-information text fields. For training data, follower_count, media_count, and is_verified are the most consistently structured typed fields across records.

Scraper NameWhat it extracts
Instagram Followers — New Followers & Unfollows CheckerFollowers/following lists with cross-run growth, new-follower and unfollow diffs
Instagram Followers Count Scraper With Engagement Quality ScoreEngagement rate, posting cadence, and a 0-100 audience-quality score per profile
Instagram Comments Scraper With Lead EnrichmentPost/reel comments with lead-intent flags and optional commenter profile enrichment
Following Scraper: Audience Overlap & Segment BreakdownAccounts shared across multiple seed profiles' following lists, with overlap and segment tiers
Instagram Profile ScraperFull profile data — bio, stats, latest posts, IGTV, related accounts
Instagram B2B Email ScraperB2B emails and phone numbers discovered via Google Search across Instagram content

Your feedback

Found a bug or missing a field? Open an issue on this Actor's Issues tab on the Apify Store, or reach out through Scraper-Engine's Apify Store profile. Reports like these directly shape what gets fixed and added next.