LinkedIn Profile Scraper | No Login or Cookies avatar

LinkedIn Profile Scraper | No Login or Cookies

Pricing

from $1.40 / 1,000 successful linkedin profiles

Go to Apify Store
LinkedIn Profile Scraper | No Login or Cookies

LinkedIn Profile Scraper | No Login or Cookies

Scrape public LinkedIn person profiles without a LinkedIn account, login, cookies, browser extension, or proxy setup. Process multiple profiles per run, export structured data to Apify datasets, and automate collection with schedules, webhooks, integrations, or the Apify API.

Pricing

from $1.40 / 1,000 successful linkedin profiles

Rating

0.0

(0)

Developer

Curly

Curly

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

6

Monthly active users

3 days ago

Last modified

Share

LinkedIn Profile Scraper (No Cookies or Login Required)

Scrape one public LinkedIn person profile per run and export structured profile data for research, enrichment, monitoring, and automated workflows. Free-plan users can use one accepted run every 12 hours.

No LinkedIn cookies, account, login, browser extension, or proxy setup is required. Enter public /in/ profile URLs or slugs and receive the fields LinkedIn makes available without an authenticated session.

Why use this LinkedIn profile scraper?

  • No cookies or login: collect public profile data without connecting a LinkedIn account or providing session cookies.
  • No proxy setup: the required network configuration is included with the Actor.
  • Single profile per run: submit one public person profile URL or slug.
  • Structured profile data: receive consistent fields for identity, headline, location, company, experience, education, and public network counts.
  • Ready for automation: run from Apify Console, schedules, webhooks, integrations, or the Apify API.
  • Flexible exports: download datasets as JSON, CSV, Excel, XML, RSS, or another format supported by Apify.

Quick start

  1. Paste one public LinkedIn person profile URL or slug.
  2. Add one profile.
  3. Select Start.
  4. Open the dataset to review or download the collected profile records.

Input

{
"profile": "https://www.linkedin.com/in/example-founder/"
}

Accepted inputs include:

  • A complete public linkedin.com/in/... person profile URL
  • A localized LinkedIn person URL such as de.linkedin.com/in/...
  • The profile slug shown after /in/

Company pages, post URLs, search pages, arbitrary names, and non-LinkedIn URLs are not accepted because this Actor is specifically for known LinkedIn person profiles.

What LinkedIn profile data can you extract?

Each successful profile produces one dataset item that can include:

  • Identity: profile ID, first name, last name, full name, headline, about text, and canonical LinkedIn URL
  • Location: city, country code, and the public location displayed on the profile
  • Current company: company name, company ID, company URL, company location, and logo when available
  • Experience: job title, employer, company identifiers, location, dates, and company logo for each public role
  • Education: school, degree, attendance years, school URL, and school logo when available
  • Audience: public follower and connection counts
  • Media: avatar and banner image
  • Additional public sections: languages, organizations, and honors when displayed publicly
  • Related profiles: similar-profile cards when included in the public response
  • Request provenance: the canonical profile ID and URL plus the original submitted URL

The exact fields vary by profile and request. Masked, unavailable, or non-public values remain null, empty, or absent instead of being guessed.

Example output

The values below are representative. Long text and LinkedIn-hosted media URLs are abbreviated, but every top-level output field is included so you can plan your dataset or integration before running the Actor.

{
"id": "jane-doe",
"name": "Jane Doe",
"first_name": "Jane",
"last_name": "Doe",
"url": "https://www.linkedin.com/in/jane-doe",
"input_url": "https://www.linkedin.com/in/jane-doe/",
"city": "Berlin",
"country_code": "DE",
"location": "Berlin, Germany",
"position": "Founder at Example Labs",
"about": "Builds reliable data products for research and operations.",
"profile_badges": null,
"influencer": false,
"avatar": "https://media.licdn.com/example-avatar",
"banner_image": "https://media.licdn.com/example-banner",
"default_avatar": false,
"followers": 2345,
"connections": 500,
"current_company": {
"company_id": "example-labs",
"link": "https://www.linkedin.com/company/example-labs",
"location": "Berlin, Germany",
"name": "Example Labs",
"logo": "https://media.licdn.com/example-company-logo"
},
"experience": [
{
"company": "Example Labs",
"company_id": "example-labs",
"company_url": "https://www.linkedin.com/company/example-labs",
"company_logo_url": "https://media.licdn.com/example-company-logo",
"location": "Berlin, Germany",
"title": "Founder",
"start_date": "2022",
"end_date": null
}
],
"educations_details": [
{
"school": "Example University",
"school_url": "https://www.linkedin.com/school/example-university",
"school_logo_url": "https://media.licdn.com/example-school-logo",
"degree": "MSc",
"start_year": 2016,
"end_year": 2018
}
],
"languages": [
"English",
"German"
],
"honors_and_awards": null,
"organizations": null,
"similar_profiles": [
{
"name": "Alex Example",
"url": "https://www.linkedin.com/in/alex-example",
"followers": 980,
"avatar": "https://media.licdn.com/example-similar-avatar"
}
]
}

LinkedIn exposes different public details for different profiles. Missing optional data remains null rather than being inferred. Permanently inaccessible placeholder fields are not part of the output contract.

Automate profile collection with Apify

The same profiles input works in Apify Console, REST requests, API clients, schedules, webhooks, and integrations.

curl -X POST \
"https://api.apify.com/v2/acts/curly~linkedin-profile-scraper/run-sync-get-dataset-items?format=json" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"profiles": [
"example-founder",
"https://www.linkedin.com/in/example-engineer/"
]
}'

For asynchronous workflows, start an Actor run and read its default dataset after completion. You can also save the input as an Apify task, attach a schedule, or send completed runs to a webhook or integration such as Make, Zapier, n8n, Clay, or Google Sheets.

Common use cases

  • Enrich known public profile URLs in CRM and lead-research workflows
  • Monitor public role, company, location, or profile-description changes
  • Normalize profile records before sending them to a database or spreadsheet
  • Prepare public experience and education data for analysis
  • Add public person-profile data to Make, Zapier, n8n, Clay, or your own application

This Actor does not discover people by name, search LinkedIn, find email addresses, or scrape company pages. Start with known public person profile URLs or slugs.

Price and unsuccessful profiles

  • Actor start: $0.00005 per run, using Apify's recommended synthetic start event
  • Successful profile result on a paid plan: $0.0014 per stored profile, equivalent to $1.40 per 1,000 successful results
  • Apify Free plan: no profile-result fee, one profile, and one accepted run every 12 hours
  • Paid Apify plans: one profile per run without the 12-hour free-plan restriction

For paying users, only a successfully stored person-profile result emits the billable person-result event. Free-plan results and invalid, inaccessible, unavailable, or rate-limited profiles do not emit that event and are not charged as profile results. The small Actor-start charge is automatic and still applies whenever a run starts, including an empty, unsuccessful, or rate-limited run.

Expected profile-access failures do not fail the Actor run. A partially successful run returns the accessible records, while a zero-result run completes with an empty dataset. Details remain available through Run summary and Unavailable or invalid inputs on the run's Output tab.

Limits and responsible use

  • One submitted LinkedIn person profile URL or slug per run
  • Public, unauthenticated fields only
  • No LinkedIn cookies, passwords, access tokens, or account sessions
  • No email or phone-number discovery
  • No CAPTCHA solving or verification bypass
  • Results depend on what LinkedIn makes public for the requested profile

LinkedIn's terms restrict certain automated collection, and privacy and data-protection requirements vary by location and use case. Use the Actor only where collection and processing are lawful, respect applicable platform and contractual rules, obtain any required permission, and apply appropriate retention and access controls to personal data.

FAQ

Do I need a LinkedIn account, login, or cookies?

No. The Actor collects public person-profile data without asking for LinkedIn credentials, cookies, access tokens, or session details.

How do I scrape a LinkedIn profile from its URL?

Paste the public person profile URL into the profiles input and select Start. The Actor returns the available public fields as one structured dataset item. You can submit one URL per run.

Can I scrape multiple LinkedIn profiles?

No. This Actor accepts one profile per run for reliability. Each run stores the collected profile as a single dataset item.

What happens when a Free-plan limit is reached?

The Actor exits normally before browser collection and returns a clear RATE_LIMITED run summary. It does not create or charge a profile result. Apify's automatic $0.00005 Actor-start event still applies because the run has already started.

Can I scrape a LinkedIn company profile?

No. This Actor accepts person profiles under /in/. Use Curly's LinkedIn Company Profile Scraper for company pages.

Why are some profile fields empty?

LinkedIn exposes different public fields for different profiles and requests. The Actor does not infer unavailable values or use an authenticated session to reveal additional fields.

What happens when one profile is unavailable?

Available profiles are still returned. An unavailable or invalid profile does not remove results collected for the other submitted URLs and does not create a billable result event.

What happens when no submitted profile is accessible?

The run completes normally with an empty dataset instead of reporting an Actor error. Open Run summary and Unavailable or invalid inputs on the Output tab for the safe per-input outcome. Because no person-profile dataset item is stored, no pay-per-result event is emitted.

Does LinkedIn allow profile scraping?

LinkedIn's terms restrict certain automated collection. Laws and permitted uses also vary by jurisdiction and context. Review the applicable terms and privacy requirements, obtain any required permission, and seek legal advice before production or recurring collection.

Can I schedule recurring runs?

Yes. Save the input as an Apify task, attach a schedule, and send completed datasets to a webhook or integration.

Support

For questions, missing fields, or unexpected results, contact hello@trycurly.xyz.