instagram profile scraper pro avatar

instagram profile scraper pro

Pricing

from $2.50 / 1,000 results

Go to Apify Store
instagram profile scraper pro

instagram profile scraper pro

Extract clean public Instagram profile data from usernames, profile URLs, or profile IDs. Get followers, bio, links, public contact clues, business signals, and profile status in a ready-to-download dataset.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Muhammad Qaseem Iqbal

Muhammad Qaseem Iqbal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

Instagram Profile Scraper Pro πŸš€πŸ“Έ

Turn public Instagram profiles into clean, organized data in minutes. ✨

Instagram Profile Scraper Pro helps you collect public profile information from Instagram usernames, profile links, numeric profile IDs, or an existing Apify dataset. Add a list of profiles, run the Actor, and get structured results you can download, analyze, send to Google Sheets, connect to automations, or use in your own apps. πŸ“Šβš‘

This Actor is built for public Instagram profile data only. It does not log in, use cookies, bypass private accounts, or collect hidden/private information. πŸ”’βœ…

What does Instagram Profile Scraper Pro do? πŸ‘€

This Actor extracts useful public information from Instagram profile pages, including:

  • πŸ‘€ Username, profile URL, profile ID, and full name
  • πŸ“ Bio text and profile category
  • πŸ“ˆ Followers, following, and post counts
  • βœ… Verification and privacy status
  • 🏒 Business/professional account signals
  • πŸ”— Website links and public bio links
  • πŸ“¬ Public contact clues such as listed emails, phone numbers, domains, mailto links, or WhatsApp links
  • πŸ–ΌοΈ Profile picture URLs
  • 🎞️ Optional latest public post/video previews
  • πŸ‘₯ Optional related or suggested profiles
  • πŸ•΅οΈ Optional public "About this profile" metadata, when available
  • πŸ” Optional change detection against a previous dataset
  • 🧾 Clear status records for profiles that are missing, blocked, private, skipped, or unavailable

In short: give it Instagram profiles, and it gives you clean profile intelligence. 🎯

Why use this Instagram profile scraper? πŸ’‘

Instagram profiles contain useful public signals for many teams and workflows. This Actor is especially helpful for:

  • πŸ›οΈ Brand research - understand public brand accounts, websites, categories, and audience size
  • 🀝 Influencer discovery - collect public creator profile details and follower counts
  • πŸ“Š Market research - compare public profiles in a niche, region, or industry
  • 🧲 Lead research - find public websites, domains, and listed contact clues
  • πŸ•΅οΈ Competitor monitoring - track changes in public profile data over time
  • 🧰 No-code automation - send profile data into Google Sheets, Make, Zapier, Airbyte, n8n, or webhooks
  • πŸ§ͺ Data enrichment - enrich a list of Instagram handles from another Apify Actor or your own dataset

Quick start 🚦

You do not need to code. 🧑

  1. πŸ“ Open the Actor on Apify.
  2. πŸ‘€ Enter one or more Instagram usernames, profile URLs, or profile IDs.
  3. βš™οΈ Keep the default settings for the cheapest quick run.
  4. ▢️ Click Start.
  5. πŸ“₯ Download your results as JSON, CSV, Excel, XML, RSS, or HTML.

Example inputs you can paste:

nasa
@instagram
https://www.instagram.com/apifytech/
528817151

What can you scrape? 🧾

Data typeIncluded?Notes
πŸ‘€ Basic profile detailsβœ… YesUsername, ID, full name, URL, bio
πŸ“ˆ Public metricsβœ… YesFollowers, following, posts, highlights, IGTV/video count when available
βœ… Account signalsβœ… YesVerified, private, business/professional status
πŸ”— Public linksβœ… YesWebsite and bio links
πŸ“¬ Public contact cluesβœ… YesOnly if publicly listed on the profile or links
🎞️ Latest posts/videosβš™οΈ OptionalOff by default to keep runs cheaper
πŸ‘₯ Related profilesβš™οΈ OptionalOff by default to reduce extra data and cost
πŸ•΅οΈ About-profile dataβš™οΈ OptionalOnly when publicly available
πŸ” Change detectionβš™οΈ OptionalCompare against a previous dataset
πŸ” Private profile content❌ NoPrivate content is not collected
πŸͺ Logged-in/cookie-only data❌ NoThis Actor does not log in

Input settings explained βš™οΈ

The most important setting is Instagram profiles. Add usernames, profile URLs, or IDs there. Everything else is optional.

SettingPlain-English meaning
πŸ‘€ profileInputsThe Instagram profiles you want to scrape
πŸ“¦ inputDatasetIdRead profile names from another Apify dataset
🏷️ inputDatasetFieldThe dataset column that contains the username or URL
πŸ”’ maxProfilesMaximum number of profiles to process
🎞️ includeLatestPostsAdd latest public post/reel/carousel previews
πŸ‘₯ includeRelatedProfilesAdd related or suggested public profiles
πŸ•΅οΈ includeAboutAdd public account-history metadata if Instagram exposes it
πŸ”— includeExternalUrlsInclude public websites and bio links
🌐 resolveExternalUrlsFollow redirected links to their final destination
πŸ“¬ includeContactInfoExtract public emails, phones, domains, and messaging links if listed
πŸ“„ outputModeChoose compact, full, or split output
πŸš€ crawlerModeChoose the cheapest HTTP mode or browser fallback
πŸ” maxRequestRetriesRetry failed profiles if needed
πŸ›‘οΈ proxyConfigurationOptional proxy settings

The Actor is already configured to run cheaply by default. πŸͺ™

For the lowest-cost runs, keep these defaults:

  • βœ… crawlerMode: httpOnly
  • βœ… proxyConfiguration.useApifyProxy: false
  • βœ… includeLatestPosts: false
  • βœ… includeRelatedProfiles: false
  • βœ… includeAbout: false
  • βœ… resolveExternalUrls: false
  • βœ… outputMode: compact
  • βœ… maxRequestRetries: 0
  • βœ… Default memory: 1024 MB

These settings avoid browser startup, proxy charges, optional extra requests, and very large output rows. 🧊

Turn on richer options only when you need more data and are comfortable with the extra runtime cost. ⚑

Example input: simple profile lookup πŸ”Ž

{
"profileInputs": ["nasa", "@apifytech", "https://www.instagram.com/instagram/"],
"includeLatestPosts": false,
"includeRelatedProfiles": false,
"includeAbout": false,
"outputMode": "compact"
}

Example input: richer creator research 🌟

{
"profileInputs": ["nasa", "natgeo", "spacex"],
"includeLatestPosts": true,
"maxLatestPostsPerProfile": 12,
"includeRelatedProfiles": true,
"maxRelatedProfiles": 20,
"includeAbout": true,
"outputMode": "full"
}

Example input: use profiles from another dataset πŸ“¦

{
"inputDatasetId": "DATASET_ID",
"inputDatasetField": "username",
"maxProfiles": 1000,
"includeLatestPosts": false,
"outputMode": "compact"
}

Example input: monitor profile changes πŸ”

{
"profileInputs": ["nasa", "apifytech"],
"enableChangeDetection": true,
"baselineDatasetId": "PREVIOUS_DATASET_ID",
"outputMode": "compact"
}

Output format πŸ“€

Results are saved to the Actor's default dataset. Each profile becomes one clean record. βœ…

Here is a shortened example:

{
"recordType": "profile",
"status": "ok",
"input": {
"raw": "nasa",
"normalized": "nasa",
"type": "username"
},
"id": "528817151",
"username": "nasa",
"url": "https://www.instagram.com/nasa/",
"fullName": "NASA",
"biography": "Making the seemingly impossible, possible.",
"followersCount": 104421255,
"followsCount": 91,
"postsCount": 4817,
"verified": true,
"private": false,
"isBusinessAccount": true,
"businessCategoryName": "Government Agencies",
"externalUrl": "https://www.nasa.gov/",
"latestPostsCount": 0,
"relatedProfilesCount": 0,
"publicContact": {
"emails": [],
"phones": [],
"domains": ["nasa.gov"]
},
"extraction": {
"route": "http",
"httpStatus": 200,
"retryCount": 0
},
"scrapedAt": "2026-06-15T14:22:06.553Z"
}

If a profile cannot be scraped, the Actor can still return a clear record explaining what happened. 🧭

Example:

{
"recordType": "profile",
"status": "not_found",
"statusReason": "PROFILE_NOT_FOUND",
"input": {
"raw": "missing_profile",
"normalized": "missing_profile",
"type": "username"
},
"extraction": {
"route": "http",
"httpStatus": 404,
"errorType": "NotFoundError",
"errorMessage": "Profile not found"
}
}

Output modes πŸ“š

ModeBest forWhat you get
🧾 compactSpreadsheets, quick exports, lower-cost runsMain profile fields and counts
🧬 fullDetailed analysisFull nested profile data in one dataset item
πŸ—‚οΈ splitWorking with posts/related profiles separatelyProfile rows plus separate datasets for extra items

How many profiles can it scrape? πŸ“

You can enter a small list or process many profiles from a dataset. The default maximum is 1000 profiles per run, and the input schema allows up to 100000.

Actual results can vary because Instagram changes often and some profiles may be private, missing, blocked, rate-limited, or unavailable. For the best estimate, run a small test first, then scale up. πŸ§ͺ

How much will it cost? πŸ’°

Cost depends on:

  • πŸ”’ Number of profiles
  • βš™οΈ Whether optional enrichments are enabled
  • 🌐 Whether proxies are used
  • πŸ–₯️ Whether browser mode is needed
  • πŸ” How many retries you allow
  • πŸ“¦ Size of the output dataset

The default setup is designed to be inexpensive: HTTP-only, no proxy, compact output, no latest posts, no related profiles, no about-profile enrichment, and no retries. πŸͺ™

For the cheapest workflow, start with the defaults, test a small batch, then increase the profile count once you are happy with the result quality. βœ…

During the run πŸƒ

While the Actor runs, it:

  1. 🧹 Cleans and deduplicates your profile inputs
  2. 🌐 Visits each public profile
  3. 🧠 Extracts available public profile data
  4. πŸ“¦ Saves results to the dataset
  5. 🧾 Saves a run summary to the key-value store

The summary includes counts for succeeded, failed, blocked, skipped, not found, and invalid profiles. πŸ“Š

Integrations πŸ”Œ

You can use the results almost anywhere:

  • πŸ“Š Google Sheets
  • 🧩 Make
  • ⚑ Zapier
  • πŸ› οΈ n8n
  • 🌬️ Airbyte
  • πŸ“ Google Drive
  • πŸ”” Webhooks
  • πŸ§‘β€πŸ’» Apify API
  • 🐍 Python
  • 🟨 Node.js
  • πŸ—ƒοΈ BI tools and dashboards

This Actor is designed to collect only information that is publicly visible. It does not access private profiles, does not log in, does not accept cookies, and does not bypass restrictions. πŸ”’

That said, public profile data can still include personal data. You are responsible for using the data lawfully and ethically, following applicable privacy laws, platform rules, and your own legal obligations. When in doubt, ask a qualified legal professional. βœ…

Tips for better results 🧠

  • βœ… Use clean usernames or full profile URLs
  • βœ… Start with a small test run before large jobs
  • βœ… Keep default settings for low-cost collection
  • βœ… Enable latest posts only when you really need content previews
  • βœ… Enable proxy or browser fallback only when success rate matters more than cost
  • βœ… Use compact output for CSV and spreadsheet workflows
  • βœ… Use full output when you want the richest single profile record
  • βœ… Use split output when you plan to analyze profile, post, and related-profile data separately

Troubleshooting πŸ› οΈ

ProblemWhat it usually meansWhat to try
🚫 Profile is blockedInstagram limited access during the runLower concurrency, reduce request rate, enable proxy, or retry later
πŸ”’ Profile is privateThe account is not publicPrivate content cannot be scraped
❓ Profile is missingUsername does not exist or changedCheck the username in a browser
🎞️ No latest postsLatest posts were disabled, unavailable, or blockedEnable latest posts and try a small test
🧾 Output is too largeFull data or optional enrichments are enabledUse compact mode
πŸ•΅οΈ About data missingInstagram did not expose it publiclyThis is normal for many profiles

FAQ πŸ™‹

Can I scrape private Instagram profiles? πŸ”

No. This Actor only works with public profile information.

Do I need Instagram login details? πŸͺ

No. The Actor does not use Instagram login, cookies, or private session data.

Can I scrape latest posts? 🎞️

Yes. Turn on includeLatestPosts and choose how many previews to collect with maxLatestPostsPerProfile.

Can I scrape contact information? πŸ“¬

The Actor extracts public contact clues only when they are listed publicly, such as emails in a bio, domains from public links, mailto links, phone numbers, WhatsApp links, or public business contact fields.

Can I compare profiles over time? πŸ”

Yes. Run the Actor again later and use enableChangeDetection with a previous dataset ID.

Can I use this with Google Sheets? πŸ“Š

Yes. Download results as CSV or Excel, or connect the Actor through Apify integrations, Make, Zapier, n8n, or the Apify API.

What happens if a profile fails? 🧭

The Actor can add an error-style dataset item with a clear status such as not_found, blocked, failed, or skipped, so you can see what happened instead of wondering why a profile is missing.

Need help or want a feature? πŸ’¬

Use the Actor's Issues tab in Apify Console to report bugs, request improvements, or share feedback. Clear examples help a lot: include your input settings, what you expected, and what happened. 🧑