instagram profile scraper pro
Pricing
from $2.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
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. π§‘
- π Open the Actor on Apify.
- π€ Enter one or more Instagram usernames, profile URLs, or profile IDs.
- βοΈ Keep the default settings for the cheapest quick run.
- βΆοΈ Click Start.
- π₯ Download your results as JSON, CSV, Excel, XML, RSS, or HTML.
Example inputs you can paste:
nasahttps://www.instagram.com/apifytech/528817151
What can you scrape? π§Ύ
| Data type | Included? | Notes |
|---|---|---|
| π€ Basic profile details | β Yes | Username, ID, full name, URL, bio |
| π Public metrics | β Yes | Followers, following, posts, highlights, IGTV/video count when available |
| β Account signals | β Yes | Verified, private, business/professional status |
| π Public links | β Yes | Website and bio links |
| π¬ Public contact clues | β Yes | Only if publicly listed on the profile or links |
| ποΈ Latest posts/videos | βοΈ Optional | Off by default to keep runs cheaper |
| π₯ Related profiles | βοΈ Optional | Off by default to reduce extra data and cost |
| π΅οΈ About-profile data | βοΈ Optional | Only when publicly available |
| π Change detection | βοΈ Optional | Compare against a previous dataset |
| π Private profile content | β No | Private content is not collected |
| πͺ Logged-in/cookie-only data | β No | This 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.
| Setting | Plain-English meaning |
|---|---|
π€ profileInputs | The Instagram profiles you want to scrape |
π¦ inputDatasetId | Read profile names from another Apify dataset |
π·οΈ inputDatasetField | The dataset column that contains the username or URL |
π’ maxProfiles | Maximum number of profiles to process |
ποΈ includeLatestPosts | Add latest public post/reel/carousel previews |
π₯ includeRelatedProfiles | Add related or suggested public profiles |
π΅οΈ includeAbout | Add public account-history metadata if Instagram exposes it |
π includeExternalUrls | Include public websites and bio links |
π resolveExternalUrls | Follow redirected links to their final destination |
π¬ includeContactInfo | Extract public emails, phones, domains, and messaging links if listed |
π outputMode | Choose compact, full, or split output |
π crawlerMode | Choose the cheapest HTTP mode or browser fallback |
π maxRequestRetries | Retry failed profiles if needed |
π‘οΈ proxyConfiguration | Optional proxy settings |
Cheapest recommended 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 π
| Mode | Best for | What you get |
|---|---|---|
π§Ύ compact | Spreadsheets, quick exports, lower-cost runs | Main profile fields and counts |
𧬠full | Detailed analysis | Full nested profile data in one dataset item |
ποΈ split | Working with posts/related profiles separately | Profile 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:
- π§Ή Cleans and deduplicates your profile inputs
- π Visits each public profile
- π§ Extracts available public profile data
- π¦ Saves results to the dataset
- π§Ύ 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
Is it legal to scrape Instagram profiles? βοΈ
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
compactoutput for CSV and spreadsheet workflows - β
Use
fulloutput when you want the richest single profile record - β
Use
splitoutput when you plan to analyze profile, post, and related-profile data separately
Troubleshooting π οΈ
| Problem | What it usually means | What to try |
|---|---|---|
| π« Profile is blocked | Instagram limited access during the run | Lower concurrency, reduce request rate, enable proxy, or retry later |
| π Profile is private | The account is not public | Private content cannot be scraped |
| β Profile is missing | Username does not exist or changed | Check the username in a browser |
| ποΈ No latest posts | Latest posts were disabled, unavailable, or blocked | Enable latest posts and try a small test |
| π§Ύ Output is too large | Full data or optional enrichments are enabled | Use compact mode |
| π΅οΈ About data missing | Instagram did not expose it publicly | This 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. π§‘