LinkedIn Profile Scraper with Email (No Cookies) avatar

LinkedIn Profile Scraper with Email (No Cookies)

Pricing

from $10.00 / 1,000 results

Go to Apify Store
LinkedIn Profile Scraper with Email (No Cookies)

LinkedIn Profile Scraper with Email (No Cookies)

Extract structured data from public LinkedIn profile URLs — name, headline, work history, education, follower counts, websites. When the person has published their own email or phone openly in their profile content, the exact sentence is cited so you can verify each match. (Beta)

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Rush

Rush

Maintained by Community

Actor stats

1

Bookmarked

9

Total users

7

Monthly active users

4 days ago

Last modified

Share

LinkedIn Profile Scraper

Extract structured data from public LinkedIn profile URLs — name, headline, work experience, education, follower counts, websites. When the person has published their own email or phone openly in the visible profile, those are surfaced too with a short excerpt of the surrounding text, so you can verify each match against where it appeared on the profile.

Paste profile URLs in, get a clean dataset out.


What you get per profile

Every row in the output dataset includes:

FieldWhat it is
firstName, lastName, fullNameThe person's name
headlineThe one-line summary under the name (current role, often "Title at Company")
aboutThe longer "About" / bio text
location, city, countryFull location label, the city alone, and the two-letter country code
profilePictureUrlDirect link to the profile photo
linkedinBadgeLinkedIn's profile badge (e.g. Top Voice, Creator, Creator, Top Voice) when shown, otherwise null
followerCountThe number of followers shown on the profile
connectionCountThe number of connections shown on the profile. Empty when the profile shows "500+" rather than an exact number
experiences[]Each visible position with title, company, company LinkedIn link, dates, and a current/past flag
experiencesTruncatedtrue when the visible work-history list may not be complete
currentCompany, currentTitle, currentCompanyLinkedinUrlThe most recent position pulled out of experiences[] so it's easy to use in a spreadsheet
educations[]Each visible school with degree and field of study where LinkedIn shows them
emails[]Every email we found on the visible profile, each tagged with which field it came from (source) and a short surrounding excerpt (sourceContext) so you can verify it at a glance. Most public profiles don't include an email — when one is visible, this lists each match
emailThe first email from emails[] — easy to drop into a single-column export
phones[]Every phone we found, in international format, with the same source-citation as emails
phoneThe first phone from phones[]
websites[]Personal or company sites the person linked from their profile
inputUrlThe URL exactly as you submitted it — useful for joining the dataset back to your input list
linkedinUrl, publicIdentifierThe cleaned LinkedIn URL plus the handle that comes after /in/
urnLinkedIn's stable identifier for the person — useful for de-duplication, because unlike the handle it doesn't change when someone updates their profile URL
extractionWarningsShort notes about parts of the profile that were not visible — omitted when everything came through cleanly
succeeded, error, extractedAtWhether the row was retrieved cleanly, the reason if not, and when

Sample output (real cloud fetch)

Input:

{
"profileUrls": ["https://www.linkedin.com/in/satyanadella"]
}

Output (truncated for brevity):

{
"inputUrl": "https://www.linkedin.com/in/satyanadella",
"linkedinUrl": "https://www.linkedin.com/in/satyanadella",
"publicIdentifier": "satyanadella",
"urn": "urn:li:member:19186432",
"succeeded": true,
"extractedAt": "2026-05-04T02:30:00.000Z",
"firstName": "Satya",
"lastName": "Nadella",
"fullName": "Satya Nadella",
"headline": "Chairman and CEO at Microsoft",
"about": "As chairman and CEO of Microsoft, I define my mission and that of my company as empowering every person and every organization on the planet to achieve more.",
"location": "Redmond, Washington, United States",
"city": "Redmond",
"country": "US",
"profilePictureUrl": "https://media.licdn.com/dms/image/v2/C5603AQHHUuOSlRVA1w/profile-displayphoto-shrink_200_200/0/1656708712373",
"linkedinBadge": "Creator, Top Voice",
"followerCount": 11972578,
"connectionCount": null,
"experiences": [
{
"title": "Chairman and CEO",
"company": "Microsoft",
"companyLinkedinUrl": "https://www.linkedin.com/company/microsoft",
"startedOn": "2014-02",
"endedOn": null,
"isCurrent": true,
"durationMonths": 147
},
{
"title": "Member Board Of Trustees",
"company": "University of Chicago",
"companyLinkedinUrl": "https://www.linkedin.com/school/uchicago/",
"startedOn": "2018",
"endedOn": null,
"isCurrent": true,
"durationMonths": 100
},
{
"title": "Board Member",
"company": "Starbucks",
"companyLinkedinUrl": "https://www.linkedin.com/company/starbucks",
"startedOn": "2017",
"endedOn": "2024",
"isCurrent": false,
"durationMonths": 84
}
],
"currentCompany": "Microsoft",
"currentTitle": "Chairman and CEO",
"educations": [
{
"school": "The University of Chicago Booth School of Business",
"degree": null,
"field": null,
"startedOn": "1994",
"endedOn": "1996"
},
{
"school": "Manipal Institute of Technology, Manipal",
"degree": "Bachelor's Degree",
"field": "Electrical Engineering",
"startedOn": null,
"endedOn": null
},
{
"school": "University of Wisconsin-Milwaukee",
"degree": "Master's Degree",
"field": "Computer Science",
"startedOn": null,
"endedOn": null
}
],
"websites": ["https://snscratchpad.com/"],
"emails": [],
"email": null,
"phones": [],
"phone": null
}

When email or phone information appears in the public profile, you'll see entries like:

"emails": [
{
"email": "jane.doe@acme.vc",
"source": "about",
"sourceContext": "…VC partner at Acme. Reach me at jane.doe@acme.vc for intros…",
"isObfuscated": false
}
]

extractionWarnings looks like:

"extractionWarnings": [
"this is a limited public view — most fields may be empty",
"work history section was empty for this profile"
]

Input format

{
"profileUrls": [
"https://www.linkedin.com/in/williamhgates",
"https://www.linkedin.com/in/satyanadella"
]
}

URL formats accepted:

  • https://www.linkedin.com/in/{handle} — the standard format
  • Country-prefixed links such as https://br.linkedin.com/in/{handle} — tidied up automatically
  • Trailing slashes and tracking parameters are tidied up automatically — no need to clean URLs by hand
  • URLs pointing to the same person are processed only once per run, even when submitted in different formats

What's not in the output

These fields don't appear on the public profile pages this actor reads:

  • mobileNumber as a separate field — phones live in phones[] only
  • "Verified email" status — the output reports what was found, not whether the address is currently deliverable
  • skills, languages, certifications, publications, volunteer, recommendations, honors, projects
  • Per-experience location and description — these are part of the row shape but LinkedIn doesn't include them on the public profile view, so they come back null
  • Verification badge
  • Company industry / size / website / founded year — these live on each company's own page rather than the person's profile

FAQ

Why is email sometimes null? We surface an email only when the person has published it themselves on the visible profile. We don't guess from name + domain patterns and we don't query third-party email databases. If you see null, the person simply didn't include one.

What does "cited email" mean? Every email and phone in the output includes the field name (source) and a short surrounding excerpt (sourceContext), so you can audit each match against where it appeared on the profile.

Why does about sometimes come back null? LinkedIn hides the bio section for some profiles. When that happens, we leave about empty and add a note to extractionWarnings so you can see why the field is blank for that row.

Do you support Sales Navigator URLs? No — see "Input format" above for the URL formats this actor accepts.

Can I scrape private profiles? No. The row will appear in your dataset with succeeded: false so you can see which inputs didn't yield data.

Why do I sometimes see "LinkedIn asked us to sign in — try again later"? This means LinkedIn didn't return the public profile content for that request. It's usually transient — the affected row is marked failed and you can re-run the URL later.

Why do some profiles consistently return "could not load this profile"? The same message covers two situations that look identical from outside: (1) the handle in the URL doesn't match any profile (typo or made-up name), or (2) LinkedIn is currently restricting public access to that profile. There's no way to tell them apart from the response itself, so the message names both possibilities. First check the URL spelling; if the profile loads fine in your own browser but consistently fails here, the second case is the most likely.

Will scraping LinkedIn at scale get me into trouble? You are responsible for ensuring your use of this actor complies with applicable terms of service, data-protection laws (GDPR, CCPA, etc.), and any rules in your jurisdiction.

What if a profile's data looks incomplete? Some sections aren't visible on every profile. Missing parts are listed in extractionWarnings.

Could a profile appear twice in my dataset? Rarely. If a run is interrupted and resumed, a few profiles already delivered may be processed again. If duplicate-free output matters, deduplicate on linkedinUrl — that field is normalised, so the same person comes back as the same string regardless of which URL form was submitted.

Why do I sometimes see 🔁 "trying again" in the logs? The actor will retry a profile on its own when the first attempt didn't succeed. This is automatic and you don't need to do anything.


Disclaimer

This actor reads only publicly visible information from LinkedIn profile pages — the same content any logged-out visitor would see. No LinkedIn account or login of yours is required.

You are responsible for complying with applicable terms of service, data protection laws (GDPR, CCPA, etc.), any contractual obligations relating to the data you collect, and the rules of your jurisdiction.

This actor is in active development (beta). It may contain undiscovered bugs or edge cases, and LinkedIn occasionally changes its public profile pages — when that happens, some fields may temporarily come back empty until the actor is updated. Before running a large batch, try the actor on a small sample (5–10 profiles) to confirm the output meets your needs. If you encounter unexpected behaviour, please report it through the actor's page on Apify Store and include a sample input that reproduces the issue.

The actor is provided as-is, with no warranty of accuracy, completeness, or fitness for any particular purpose.

LinkedIn is a registered trademark of LinkedIn Corporation. This actor is not affiliated with, endorsed by, or sponsored by LinkedIn.


Try other Apify actors by the same author

Browse the catalogue: apify.com/futurizerush


LinkedIn Profile Scraper, LinkedIn Email Finder, Lead Generation, Bulk LinkedIn Extractor, Public Profile Data, B2B Sales Data, Recruiter Tool, Contact Enrichment, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT