LinkedIn Profile Scraper avatar

LinkedIn Profile Scraper

Pricing

from $3.00 / 1,000 linkedin profiles

Go to Apify Store
LinkedIn Profile Scraper

LinkedIn Profile Scraper

Extract facts shown on known public LinkedIn profile pages, including name, headline, location, followers, connections, organizations, education, languages, and awards.

Pricing

from $3.00 / 1,000 linkedin profiles

Rating

0.0

(0)

Developer

Chronometrica

Chronometrica

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

๐Ÿ“Š What does LinkedIn Profile Scraper do?

LinkedIn Profile Scraper turns known public LinkedIn profile URLs into clean profile rows. Use it for public professional research, company and role research, directory updates, reports, and scheduled profile checks.

Each input creates one row. A successful row can contain stable profile identity, public profile details, organizations, education, languages, awards, follower count, connection label, and observation time.

This Actor reads public LinkedIn profile pages. It does not sign in, use customer LinkedIn accounts, collect private contact details, or reveal hidden profile sections.

With LinkedIn Profile Scraper, you can:

  • ๐Ÿ†” Collect stable profile IDs, profile URNs, and clean profile URLs.
  • ๐Ÿง‘โ€๐Ÿ’ผ Build public professional and company research datasets.
  • ๐Ÿข Collect public organization and education details.
  • ๐Ÿ“ˆ Save public follower counts and connection labels for later comparison.
  • ๐Ÿ“ฆ Export rows as JSON, JSONL, CSV, Excel, XML, RSS, or HTML.
  • ๐Ÿ”„ Send profile rows to an API, webhook, spreadsheet, or data pipeline.

๐Ÿ“ฆ What LinkedIn profile data can I extract?

One dataset row represents one attempted public LinkedIn profile input.

Data groupExample fields
๐Ÿ”— Profile identityinputUrl, url, profileId, profileUrn, publicIdentifier
๐Ÿงพ Public detailsname, headline, description, location, imageUrl
๐Ÿข OrganizationscurrentOrganizations, organizationDetails
๐ŸŽ“ Educationeducation, educationDetails
๐Ÿ—ฃ๏ธ Other detailslanguages, awards
๐Ÿ“Š Public countsfollowersCount, connectionsLabel
๐Ÿšฆ Row statestatus, statusReason, observedAt

Missing public values stay null. Missing list values stay as empty lists. The Actor does not guess hidden values or change missing counts to zero.

โš™๏ธ Can I use this Actor through an API?

Yes. Run the Actor in Apify Console or connect it through:

  • Apify API
  • Python SDK
  • JavaScript SDK
  • Webhooks
  • Scheduled runs
  • Apify integrations

This lets you send fresh profile rows to a spreadsheet, database, warehouse, or internal service.

๐ŸŽฏ Why scrape LinkedIn profiles?

Use caseHow the data helps
๐Ÿ”Ž Professional researchReview public roles, education, languages, and awards.
๐Ÿข Company researchConnect people with public organization details.
๐Ÿงฑ Data pipelinesLoad stable profile rows into a database or internal tool.
๐Ÿ“ˆ Profile monitoringCompare public profile snapshots from scheduled runs.
๐Ÿงน Directory updatesCheck known profile URLs and refresh public details.

๐Ÿ’ต Pricing Event

This Actor uses pay-per-result pricing. One paid result means one successfully resolved public profile row. Failed, private, missing, or unsupported profiles are not paid results. Platform usage is included.

Apify planPrice per 1,000 successful profiles
Free$4.00
Starter$3.50
Scale$3.25
Business$3.00

Use Apify's maximum charge setting to limit paid results before a run.

๐Ÿš€ How do I use LinkedIn Profile Scraper?

  1. Open LinkedIn Profile Scraper in Apify Console.
  2. Add one or more public LinkedIn profile URLs.
  3. Click Start.
  4. Open the Output tab while the run is active to see completed rows.
  5. Download the dataset or connect it to your workflow.

โฌ‡๏ธ Input

๐Ÿ”— LinkedIn profile URLs

Add public LinkedIn profile URLs to startUrls.

{
"startUrls": [
"https://www.linkedin.com/in/timferriss",
"https://uk.linkedin.com/in/clairebeasley"
]
}

The Actor supports standard and country LinkedIn domains with an /in/ profile path. Tracking parameters can remain in the input URL. The output includes a clean profile URL when the profile resolves.

Exact duplicate input strings are checked once. Different URL forms for the same profile can create separate attempts.

Results are saved as soon as each profile finishes.

โฌ†๏ธ Output sample

The sample values below show the output shape. Public values vary by profile and run time.

{
"inputUrl": "https://www.linkedin.com/in/example-person",
"url": "https://www.linkedin.com/in/example-person",
"profileId": "123456789",
"profileUrn": "urn:li:member:123456789",
"publicIdentifier": "example-person",
"name": "Example Person",
"headline": "Software Engineer",
"description": "Public profile description",
"location": "Toronto, Ontario, Canada",
"imageUrl": "https://media.licdn.com/example-image",
"currentOrganizations": ["Example Company"],
"organizationDetails": [
{
"name": "Example Company",
"url": "https://www.linkedin.com/company/example-company",
"location": "Toronto, Ontario, Canada"
}
],
"education": ["Example University"],
"educationDetails": [
{
"name": "Example University",
"url": "https://www.linkedin.com/school/example-university",
"description": "Computer Science",
"startDate": "2018",
"endDate": "2022"
}
],
"languages": ["English"],
"awards": [],
"followersCount": 1250,
"connectionsLabel": "500+",
"status": "ok",
"statusReason": null,
"observedAt": "2026-08-12T18:25:52.047Z"
}

๐Ÿ“Œ Run summary

The OUTPUT record contains:

  • inputCount: number of unique input strings;
  • usefulRows: number of successful profile rows;
  • failedRows: number of failed profile rows;
  • datasetId: ID of the result dataset;
  • stopReason: why the Actor stopped;
  • startedAt and finishedAt: run times.

๐ŸŽฏ Status and quality fields

  • ok: the Actor found a public profile and proved its stable profile identity.
  • failed: the public profile could not be read or did not expose enough data to prove its identity.

Failed rows keep the same field order as successful rows. Unknown scalar values stay null. Unknown list values stay empty. Check statusReason for a safe explanation.

The connectionsLabel field is the public LinkedIn label. For example, LinkedIn can show 500+ instead of an exact number. Education dates can contain a year, month, or full date, based on what LinkedIn shows.

๐Ÿ”’ Source boundary

This Actor reads only public LinkedIn profile pages available without a customer account. It does not:

  • sign in to LinkedIn;
  • use customer passwords, saved browser data, or accounts;
  • collect email addresses or phone numbers;
  • open private profiles or hidden profile sections;
  • guess values that LinkedIn does not show.

โš ๏ธ Limits and interpretation

  • LinkedIn can show different public fields by profile, visitor region, and time.
  • Private, deleted, missing, or login-limited profiles can return failed rows.
  • A public headline, description, count, image, organization, or education field can be missing.
  • Public image links can change or expire.
  • Results are profile snapshots. Use scheduled runs to build history.
  • LinkedIn can change its public pages. A later change can require an Actor update.

โ“ FAQ

Does this Actor need a LinkedIn login or API key?

No. It reads public profile pages without a customer LinkedIn account.

Why is a field null or an empty list?

LinkedIn did not show that value publicly for the profile at run time. The Actor does not guess the value.

Why did I receive a failed row?

The profile can be private, missing, deleted, limited to signed-in visitors, or unavailable at run time. Check statusReason and confirm that the input is a public LinkedIn /in/ profile URL.

How are duplicate profiles handled?

The Actor checks an exact duplicate input string once per run. Different URL forms for the same profile can create separate attempts.

Continue the same workflow on this platform or compare public data across platforms.

Continue on LinkedIn

Compare profiles across platforms

๐Ÿ›Ÿ Support

For help, share the run ID, public profile URL, expected result, and actual result. State whether the issue affects one row or the full run. Never share a LinkedIn password, saved browser data, or private token.

Use public data in line with applicable laws, LinkedIn rules, and Apify rules.