LinkedIn Profile Scraper Ultra Pro
Pricing
from $1.50 / 1,000 profile record createds
LinkedIn Profile Scraper Ultra Pro
Clean, validate, deduplicate, and enrich public LinkedIn profile URLs into CRM-ready records. No LinkedIn cookies or login required.
Pricing
from $1.50 / 1,000 profile record createds
Rating
0.0
(0)
Developer
Muhammad Qaseem Iqbal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
LinkedIn Profile Scraper Ultra Pro ๐
Turn LinkedIn profile URLs into clean, organized profile records that are easy to export, filter, and send to your sales, recruiting, research, or CRM workflow.
This Actor is built for bulk LinkedIn profile URL processing without LinkedIn cookies or passwords. Paste a list of public LinkedIn profile URLs, choose how much detail you want, and get structured results back in Apify as JSON, CSV, Excel, or through the API.
By default, it runs in the cheapest mode available. That mode validates and normalizes profile URLs, removes duplicates, creates useful identifier-level records, and keeps output small without opening LinkedIn profile pages or using contact enrichment providers.
๐ฏ What This Actor Is Good For
- Cleaning and standardizing LinkedIn profile URL lists
- Preparing lead lists for CRMs such as HubSpot, Salesforce, Pipedrive, Clay, Airtable, or CSV imports
- Checking which URLs are valid LinkedIn profile URLs
- Removing duplicates before enrichment or outreach
- Creating lightweight profile records at very low compute cost
- Enriching profiles with public data when available
- Adding email or phone data through your own approved enrichment providers
- Scoring profiles against your target job titles, locations, or industries
โจ Key Benefits
- No LinkedIn login, cookies, or browser session required
- Lowest-cost mode is enabled by default
- Bulk processing for one profile or large URL lists
- Clean dataset rows with success, failed, and skipped statuses
- Optional public profile lookup for richer no-cookie data
- Optional external provider mode for production enrichment workflows
- Optional email and phone enrichment with consent controls
- CRM-friendly output formats and field presets
- Suppression lists for people, domains, or LinkedIn URLs you do not want included
- Run summaries saved automatically for quick review
๐ Quick Start
- Open the Actor in Apify Console.
- Paste LinkedIn profile URLs into the LinkedIn profile URLs field.
- Leave the default settings on for the cheapest run.
- Click Start.
- Download the results from the dataset as CSV, Excel, JSON, or connect them to your next workflow.
For the lowest-cost run, you only need this input:
{"profileUrls": ["https://www.linkedin.com/in/example-profile"]}
๐งญ Choose Your Data Level
| Mode | Best for | Cost level | What it does |
|---|---|---|---|
identifier_only | Cleaning, deduping, validating, and CRM preparation | Lowest | Builds a profile record from the LinkedIn public identifier without making profile page requests |
public | Getting richer public information when available | Higher | Tries to read public no-cookie profile metadata from LinkedIn pages |
external | Production enrichment with your own provider | Depends on provider | Sends the normalized LinkedIn URL to your configured profile provider |
mock | Testing workflows before spending budget | Very low | Creates predictable sample data from the profile URL |
The default is identifier_only because it is the most cost-efficient option.
๐ Input Examples
๐ธ Cheapest Profile Cleanup
Use this when you want clean, normalized LinkedIn profile records at the lowest possible cost.
{"profileUrls": ["https://www.linkedin.com/in/williamhgates","https://www.linkedin.com/in/example-profile"],"costOptimizationMode": true}
๐ Richer Public Profile Data
Use this when you want the Actor to try public no-cookie profile extraction. Public data may be incomplete or unavailable depending on LinkedIn access and profile visibility.
{"profileUrls": ["https://www.linkedin.com/in/williamhgates"],"costOptimizationMode": false,"profileResolverMode": "public","outputFormatMode": "nested_and_flat","maxRetries": 2}
๐ง Email Enrichment
Use this when you have an approved email provider endpoint and a lawful basis to process contact data.
{"profileUrls": ["https://www.linkedin.com/in/example-profile"],"includeEmails": true,"contactEnrichmentConsent": true,"emailProviderUrl": "https://your-provider.example/email","providerApiKey": "YOUR_SECRET_KEY"}
๐ CRM-Friendly Export
Use this when your next step is importing the results into a CRM or spreadsheet.
{"profileUrls": ["https://www.linkedin.com/in/example-profile"],"outputFormatMode": "crm_flat","crmPreset": "hubspot"}
โ๏ธ Main Input Options
| Setting | What it means | Default |
|---|---|---|
profileUrls | The LinkedIn profile URLs you want to process. Use /in/ profile URLs, not company pages or search pages. | Required |
costOptimizationMode | Keeps the run cheap by using compact output, no retries, short timeouts, and no duplicate skipped rows unless changed. | true |
profileResolverMode | Chooses how profile data is created: cheapest identifier-only, public page lookup, mock, or external provider. | identifier_only |
outputFormatMode | Controls the shape of the dataset rows: compact, flat, nested, nested and flat, or CRM flat. | compact |
crmPreset | Adds CRM-friendly naming for tools such as HubSpot, Salesforce, Pipedrive, Clay, Airtable, or CSV. | generic |
includeEmails | Attempts email enrichment through your configured provider. Requires consent to be enabled. | false |
includePhones | Attempts phone enrichment through your configured provider. Requires consent to be enabled. | false |
contactEnrichmentConsent | Confirms that you have a lawful basis to process contact data. | false |
targetJobTitles, targetLocations, targetIndustries | Used for profile matching and lead scoring. | Empty |
suppressionEmails, suppressionDomains, suppressionLinkedinUrls | Excludes people, domains, or LinkedIn URLs you do not want in the results. | Empty |
๐ฆ Output Example
Each input URL becomes a dataset row. A successful low-cost record can look like this:
{"inputUrl": "https://www.linkedin.com/in/jane-doe","normalizedLinkedinUrl": "https://www.linkedin.com/in/jane-doe","succeeded": true,"status": "success","firstName": "Jane","lastName": "Doe","fullName": "Jane Doe","headline": "LinkedIn profile identifier","currentTitle": null,"currentCompanyName": null,"email": null,"phone": null,"leadScore": 7,"scrapedAt": "2026-06-14T12:00:00.000Z"}
If an input is not a LinkedIn profile URL, the Actor returns a clear failed record:
{"inputUrl": "https://www.linkedin.com/company/apify","normalizedLinkedinUrl": null,"succeeded": false,"status": "failed","errorCode": "NOT_PROFILE_URL","errorMessage": "URL is not a LinkedIn profile URL.","retryable": false,"attempts": 0,"scrapedAt": "2026-06-14T12:00:00.000Z"}
๐งพ Common Output Fields
| Field | Meaning |
|---|---|
inputUrl | The URL you provided |
normalizedLinkedinUrl | The cleaned LinkedIn profile URL |
status | success, failed, or skipped |
succeeded | Whether the Actor created a usable result |
fullName | The person's name when available or inferred from the profile identifier |
headline | Public headline or identifier-level description when available |
location | Public location when available |
currentTitle | Current role when available |
currentCompanyName | Current company when available |
email and phone | Contact data only when enrichment is enabled and a provider returns it |
leadScore | A score based on available profile data and your target criteria |
errorCode and errorMessage | Clear reason for failed records |
scrapedAt | When the row was created |
The Actor also saves a run summary to the key-value store so you can quickly see totals for successful, failed, and skipped URLs.
๐ค Export Options
You can export results from Apify as:
- JSON
- CSV
- Excel
- XML
- RSS
- API response
For most sales and recruiting workflows, CSV or Excel is the easiest place to start. For automated workflows, use the dataset API or connect the Actor to another Apify integration.
โ Tips For Best Results
- Use public LinkedIn profile URLs that contain
/in/. - Avoid company pages, search result pages, job pages, or Sales Navigator-only URLs.
- Keep the default mode on when you only need clean profile records and want the cheapest run.
- Switch to
publicmode only when richer public profile details are worth the extra requests. - Use
externalmode when you already have a profile enrichment provider. - Enable email or phone enrichment only when you have the right provider and permission to process contact data.
- Use suppression lists to exclude existing customers, opted-out contacts, competitors, or blocked domains.
- Use
crm_flatoutput when your next step is a CRM import.
๐ Responsible Use And Privacy
This Actor can process personal data. You are responsible for making sure your use follows applicable laws, platform rules, and your own data policies.
Important safeguards are built in:
- Contact enrichment is off by default.
- Email and phone enrichment require
contactEnrichmentConsent. - Data minimization mode can remove optional contact and personal data fields.
- Suppression lists help prevent unwanted records from being processed or exported.
- The Actor does not ask for LinkedIn credentials and does not bypass authentication.
โ ๏ธ Limitations
- The Actor does not access private LinkedIn data.
- The Actor does not log in to LinkedIn.
- Public profile details may be incomplete, unavailable, or blocked.
- Email and phone discovery require your own configured provider.
- Contact enrichment results depend on your provider's coverage and quality.
- Invalid URLs, duplicate URLs, and suppressed records may be skipped or returned as failed/skipped rows depending on your settings.
โ Frequently Asked Questions
Do I need LinkedIn cookies or a LinkedIn password?
No. This Actor is designed to run without LinkedIn cookies, passwords, or login sessions.
Why does the default output look lightweight?
The default settings are optimized for very low cost. They focus on cleaning, validating, deduplicating, and creating compact profile records from LinkedIn profile URLs.
Can it find emails and phone numbers?
Yes, if you enable contact enrichment, confirm consent, and provide your own approved enrichment provider endpoint. Email and phone enrichment are off by default.
Can I use this for CRM imports?
Yes. Use outputFormatMode: "crm_flat" and choose a crmPreset such as hubspot, salesforce, pipedrive, clay, airtable, or csv.
What happens if I submit a company page instead of a profile?
The Actor returns a structured failed record with an error such as NOT_PROFILE_URL, so you can clean the list and rerun it.
How do I keep runs as cheap as possible?
Use the default settings: costOptimizationMode: true, profileResolverMode: "identifier_only", outputFormatMode: "compact", no email or phone enrichment, and no retries.