Instagram Profile Email Scraper API
Pricing
from $1.00 / 1,000 profile results
Instagram Profile Email Scraper API
Extract public email addresses and rich Instagram profile data, including followers, bio, links, verification status, and business metadata. Ideal for lead generation, CRM enrichment, influencer discovery, and automation.
Pricing
from $1.00 / 1,000 profile results
Rating
5.0
(1)
Developer
LanceAPI
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Instagram Profile Email Scraper API extracts publicly listed email addresses and structured public profile data from one or more Instagram profile URLs. Use it for creator outreach, influencer lead generation, partnership research, CRM enrichment, sales lead enrichment, and automated API workflows without managing Instagram cookies, browser sessions, proxies, or external data-source credentials.
Key features
- Simple input: submit one Instagram profile URL or a batch of profile URLs.
- Public email detection: find emails exposed in public Instagram profile data and profile link data.
- Profile enrichment: return username, display name, user ID, category, followers, following, account flags, links, and avatar URLs when available.
- No Instagram setup required: users do not provide Instagram cookies, sessions, proxies, or browser configuration.
- Developer-ready output: one structured Apify dataset item per processed profile.
- Transparent two-part pricing: pay a low base price for each returned dataset result, with an additional email-found charge only when an email is detected.
Quick input example
{"profileUrls": ["https://www.instagram.com/example.creator/"]}
Short output example
This is a compact preview of the result format. A full output example and complete field reference are included below.
{"username": "example.creator","profileUrl": "https://www.instagram.com/example.creator/","displayName": "Example Creator","emails": ["hello@examplecreator.com"],"followersCount": 24500,"followingCount": 312,"category": "Digital creator","status": "EMAIL_FOUND"}
Try it in 3 steps
- Paste one or more Instagram profile URLs.
- Click Start.
- Open the Dataset to inspect or export the results.
Start with one profile to confirm the output format, or use the free validation limit to test batch processing with up to 3 profile URLs. When you are ready, scale to larger batches, Apify Tasks, schedules, API calls, or integrations.
Table of contents
- What does this Instagram email scraper do?
- Input
- Input examples
- Instagram Email Scraper API
- Output
- Complete output field reference
- Status values
- Where are email addresses found?
- Common use cases
- Pricing
- Public data and responsible use
- Why choose this Actor
- FAQ
- Limitations
- Support
What does this Instagram email scraper do?
This Actor works as an Instagram profile email scraper and Instagram email extractor for profile-level contact discovery. It accepts Instagram profile URLs, normalizes shared links with query strings, retrieves public profile data, detects email addresses in the returned public data, and stores one result item per profile in an Apify dataset.
It is built for workflows where you already have Instagram profile URLs and need structured contact and profile metadata. It does not discover profiles by keyword, scrape follower lists, search hashtags, extract emails from posts or Reels, crawl linked websites, access private profile content, or solve CAPTCHA / reCAPTCHA challenges.
Input
The only required input is profileUrls.
| Field | Type | Required | Description |
|---|---|---|---|
profileUrls | array of strings | Yes | One or more Instagram profile URLs. Query strings are accepted and normalized automatically. |
Run limits are enforced by the Actor:
- Free API validation runs can process up to 3 profile URLs per run so you can confirm batch processing before scaling.
- Paying Apify users can process up to 100 profile URLs per run.
Input examples
Single Instagram profile
{"profileUrls": ["https://www.instagram.com/example.creator/"]}
Bulk Instagram email scraper input
{"profileUrls": ["https://www.instagram.com/example.creator/","https://www.instagram.com/example.brand/","https://www.instagram.com/example.agency/?igsh=EXAMPLE"]}
Instagram Email Scraper API
You can run this Instagram Email Scraper API from the Apify Console, Apify API, JavaScript client, Python client, Tasks, schedules, webhooks, and integrations.
Use the same Actor slug consistently in API calls:
lance_api/instagram-profile-email-scraper-api
JavaScript client
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('lance_api/instagram-profile-email-scraper-api').call({profileUrls: ['https://www.instagram.com/example.creator/',],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python client
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("lance_api/instagram-profile-email-scraper-api").call(run_input={"profileUrls": ["https://www.instagram.com/example.creator/"]})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL
curl "https://api.apify.com/v2/acts/lance_api~instagram-profile-email-scraper-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profileUrls": ["https://www.instagram.com/example.creator/"]}'
Dataset retrieval
Every run stores results in the default Apify dataset. You can retrieve dataset items through the API, SDK clients, or the Storage tab in Apify Console.
https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_APIFY_TOKEN
Output
The Actor returns one dataset item for each processed Instagram profile URL. Each item includes the original input, normalized profile identity, detected email addresses, public profile metadata, links, media fields, and a per-profile processing status.
If no email is detected, the result can still include available public metadata with status: "NO_EMAIL_FOUND".
Full output example
{"actorVersion": "0.1.26","inputUrl": "https://www.instagram.com/example.creator/","profileUrl": "https://www.instagram.com/example.creator/","username": "example.creator","userId": "1234567890","displayName": "Example Creator","category": "Digital creator","emails": ["hello@examplecreator.com"],"externalUrls": ["https://examplecreator.com"],"bioLinks": [{"title": "Official website","url": "https://examplecreator.com","linkType": "external"}],"threadsUrl": null,"profilePictureUrl": "https://example.com/profile.jpg","profilePictureUrlHd": "https://example.com/profile-hd.jpg","followersCount": 24500,"followingCount": 312,"isVerified": false,"isPrivate": false,"isBusinessAccount": false,"isProfessionalAccount": true,"businessPhoneNumber": null,"businessContactMethod": null,"highlightReelCount": 4,"status": "EMAIL_FOUND","scrapedAt": "2026-07-29T08:00:00.000Z","error": null}
Complete output field reference
Input and identity
| Field | Type | Description |
|---|---|---|
actorVersion | string | Actor code version used for the run. |
inputUrl | string | Original submitted Instagram profile URL. |
profileUrl | string | Normalized Instagram profile URL. |
username | string | Normalized Instagram username. |
userId | string or null | Instagram user ID when returned by the public profile data. |
Profile information
| Field | Type | Description |
|---|---|---|
displayName | string or null | Profile display name or full name when available. |
category | string or null | Instagram profile category, such as Digital creator, when available. |
isVerified | boolean or null | Whether the profile is marked as verified when returned. |
isPrivate | boolean or null | Whether the profile is marked as private when returned. |
isBusinessAccount | boolean or null | Whether the profile is marked as a business account when returned. |
isProfessionalAccount | boolean or null | Whether the profile is marked as a professional or creator account when returned. |
highlightReelCount | integer or null | Highlight reel count when returned. |
Contact information
| Field | Type | Description |
|---|---|---|
emails | array of strings | Deduplicated email addresses detected in public profile data. |
businessPhoneNumber | string or null | Public business phone number when returned by the profile data. |
businessContactMethod | string or null | Public business contact method when returned by the profile data. |
Audience information
| Field | Type | Description |
|---|---|---|
followersCount | integer or null | Follower count when returned. |
followingCount | integer or null | Following count when returned. |
Profile links
| Field | Type | Description |
|---|---|---|
externalUrls | array of strings | Public external URLs returned with the profile data. |
bioLinks | array of objects | Structured public profile links with title, url, and linkType when available. |
threadsUrl | string or null | Threads-related URL when returned. |
Media
| Field | Type | Description |
|---|---|---|
profilePictureUrl | string or null | Profile picture URL when returned. |
profilePictureUrlHd | string or null | HD profile picture URL when returned. |
Processing status
| Field | Type | Description |
|---|---|---|
status | string | Per-profile processing status. |
scrapedAt | string | Extraction timestamp in ISO 8601 format. |
error | string or null | Error message when the profile could not be processed. |
Status values
| Status | Meaning | Base Result charge? | Additional email-found charge? |
|---|---|---|---|
EMAIL_FOUND | At least one email address was detected for the profile. | Yes | Yes |
NO_EMAIL_FOUND | The profile was processed, but no email address was detected. | Yes | No |
PROFILE_NOT_FOUND | The submitted profile could not be found. | Yes | No |
BLOCKED_OR_RATE_LIMITED | The profile could not be processed because the request was blocked or rate-limited. | Yes | No |
FETCH_FAILED | The profile request failed or returned an unexpected response. | Yes | No |
INVALID_INPUT | The input is empty, invalid, or above the allowed URL limit. | Yes | No |
Where are email addresses found?
This Instagram Profile Email Scraper API detects email addresses in public profile data returned for the submitted profile URL. Depending on what Instagram profile data is publicly available, emails may be found in:
- Instagram biography text
- Public business email fields when returned
- Public profile link metadata, including structured bio link titles and URLs
- Public external URL strings returned with the profile data
- Other public text fields returned in the profile payload
The Actor does not crawl linked websites, follow Linktree-style pages, scan posts or Reels, scrape follower lists, or search the broader internet for emails.
Common use cases
| Use case | How this Actor helps |
|---|---|
| Creator outreach | Build contact-ready lists from Instagram profile URLs. |
| Influencer discovery and outreach | Enrich known creator profiles with detected emails and audience fields. |
| Partnership research | Review creator identity, category, links, and audience size before outreach. |
| Agency prospecting | Process batches of profile URLs for campaign or sponsorship research. |
| CRM enrichment | Add Instagram profile metadata and detected emails to existing records. |
| Sales lead enrichment | Turn known Instagram profile URLs into structured lead data. |
| Automated data workflows | Connect the Actor to Apify API, SDKs, Tasks, schedules, webhooks, and integrations. |
| Internal tools | Add Instagram profile email lookup to dashboards or backend applications. |
Pricing
This Actor uses transparent two-part pricing: a low base Result fee for every processed dataset result, plus an email discovery fee only when an email is found.
Pricing at a glance
| Charge | When it applies | Price |
|---|---|---|
| Result | Every returned dataset item, regardless of status | $1.00 / 1,000 results |
email-found | Additional charge when the profile contains at least one detected public email | $6.00 - $3.00 / 1,000 email-found results |
What this means
| Result type | Base Result cost | Email-found add-on | Typical total |
|---|---|---|---|
| Returned result without email | $0.001 | $0 | $0.001 |
| Returned result with email, standard tier | $0.001 | $0.006 | $0.007 |
| Returned result with email, best discount tier | $0.001 | $0.003 | $0.004 |
Email-found add-on discounts are available through Apify Store pricing tiers: $6.00 / 1,000 with no discount, $4.00 / 1,000 for Bronze, $3.50 / 1,000 for Silver, and $3.00 / 1,000 for Gold.
Each submitted URL is processed and returned with a clear status, so users can see what happened for every item in the batch. The base Result fee covers processing and returned metadata/status; the email-found add-on is charged only when a detected public email is returned.
Free API validation runs can process up to 3 profile URLs per run. Paying Apify users can process up to 100 profile URLs per run.
See the Actor's Pricing tab on Apify for the current rate available to your Apify plan.
Public data and responsible use
This Actor is designed to process publicly available Instagram profile information. Data availability depends on the profile, Instagram responses, region, runtime conditions, and what the profile owner has made public.
The Actor does not return private profile content, bypass login walls, break platform protections, or solve CAPTCHA / reCAPTCHA challenges. It should be used only for workflows that comply with Instagram's terms, Apify's terms, and applicable laws and regulations. This README is not legal advice.
Why choose this Actor
- It focuses on one clear job: extract email from Instagram profile URLs you already have.
- It supports both single-profile lookup and bulk Instagram email scraper workflows.
- It requires only profile URLs from users, with no Instagram cookies, sessions, proxies, or external credentials.
- It returns clean Apify dataset output for API, spreadsheet, CRM, and automation use.
- It includes useful public profile enrichment fields alongside detected emails.
- It reports a clear status for every submitted profile.
- It aligns pricing with returned value: every processed dataset result has a low base cost, and email-found profiles add a separate email discovery charge.
FAQ
What input do I need?
Only Instagram profile URLs. Add one or more URLs to profileUrls.
Can I process multiple profiles at once?
Yes. Free API validation runs can process up to 3 profile URLs per run so you can test batch processing. Paying Apify users can process up to 100 profile URLs per run.
Where does the Actor find email addresses?
It detects emails in public profile data returned for the submitted Instagram profile, including biography text, public business email fields when returned, profile link metadata, and public URL strings. It does not crawl linked websites or scan posts and Reels.
Are the extracted emails verified?
No deliverability verification is performed. The Actor detects email-shaped strings in public profile data and applies syntax and domain-shape checks. It does not perform MX lookup, SMTP verification, inbox validation, or third-party deliverability verification.
Does the Actor work with private Instagram profiles?
It does not access private profile content. If a profile is private, unavailable, blocked, or incomplete in the returned data, the result may contain limited metadata or a non-email status.
Do I need Instagram cookies or login credentials?
No. Users do not need to provide Instagram cookies, sessions, browser configuration, proxies, or external data-source credentials.
What happens when no email is found?
The Actor returns the profile with status: "NO_EMAIL_FOUND" when profile data is available but no email is detected. These profiles are charged only the base Result fee and are not charged the additional email-found fee.
How is a paid result counted?
Every returned dataset item is counted as one base Result. If at least one email is detected, that same profile also counts as one additional email-found event. Multiple detected emails on the same profile are deduplicated and still count as one profile-level email-found event.
Can I use this Actor through an API?
Yes. You can run this Instagram profile email API through the Apify API, JavaScript client, Python client, Tasks, schedules, webhooks, and integrations.
Can I export the results?
Yes. Apify datasets can be exported as JSON, CSV, Excel, XML, RSS, or HTML.
Can I automate it with Apify Tasks or schedules?
Yes. Save a configured input as an Apify Task, run it manually, schedule recurring runs, or trigger it from your own application.
Limitations
- The Actor requires Instagram profile URLs; it does not accept username-only input.
- It does not discover Instagram profiles from keywords, hashtags, followers, posts, or Reels.
- It does not crawl websites linked from profiles.
- It does not access private profile content.
- It does not solve CAPTCHA / reCAPTCHA challenges.
- It does not verify email deliverability with MX, SMTP, or inbox checks.
- Some profiles may not expose email addresses or complete metadata.
- Follower and following counts can change over time.
- Instagram data availability can vary by profile, region, and runtime conditions.
Support
Questions, feedback, or feature requests?
Use the Actor's Issues or Support tab on Apify, or contact support at lanceapi2026@hotmail.com.