Skip to main content
LinkedIn Profiles

LinkedIn Profile Scraper API
what a public profile shows

Send a link to a public LinkedIn profile and get back what LinkedIn shows a visitor who isn't signed in: name, headline, location, about, current roles, education, followers and recent posts and articles. Nothing more, and never through anyone's account.

You sendwww.linkedin.com/in/williamhgates/
Public profile1 credit
You get back (real run, trimmed)
{
"type": "profile",
"name": "Bill Gates",
"headline": "Chair, Gates Foundation and Founder, Breakthrough Energy",
"location": "Seattle, Washington, United States",
"followers": 40734440,
"connections": "8",
"currentRoles": [
{
"title": "Co-chair",
"organization": "Gates Foundation",
"organizationUrl": "https://www.linkedin.com/company/gates-foundation",
"startYear": 2000
},
"… 2 more"
]
}
1 credit

per public profile

$0

when LinkedIn won't show the profile to a visitor

0

logins: Spidra never signs in or uses your cookies

masked

flag on every experience entry LinkedIn hides

Profile links, and what happens to each

Spidra opens the pages LinkedIn shows the public. Pages kept for members are refused before anything is fetched.

Public profiles

The public version of a member's profile: headline, about, current roles, education, followers and activity.

linkedin.com/in/williamhgates/

Country subdomains

Links from country sites read the same way as linkedin.com links.

uk.linkedin.com/in/<slug>/

A member's posts

A public post with its text, date, likes, comment count, images and the comments shown to visitors.

linkedin.com/posts/...

A member's articles

A Pulse article with its title, dates, likes and the full body as text and markdown.

linkedin.com/pulse/...

Profile detail pages

The full experience, skills and activity pages need a signed-in member. They are refused with a message, free.

linkedin.com/in/<slug>/details/experience/

People search

Searching people by name, title or company needs a signed-in member, so it is refused free too.

linkedin.com/search/results/people/...

One call, every field

Point the scrape call at a LinkedIn link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.

Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.

import { SpidraClient } from "spidra";
 
const spidra = new SpidraClient({
apiKey: process.env.SPIDRA_API_KEY,
});
 
const result = await spidra.scrape({
urls: [{ url: "https://www.linkedin.com/in/williamhgates/" }],
output: "json",
});
 
const data = result.content;
console.log(data.name, data.headline);
for (const r of data.currentRoles) console.log(r.title, r.organization);
What you get from a public profile
Identity
Name, the profile's slug and link, photo, and badges such as Creator or Top Voice
Headline
The headline as the member wrote it
Location
The location shown on the profile and its country code
About
The about section, when the member makes it public
Audience
Followers as a number, and connections as LinkedIn shows them
Current roles
Title, organization, the organization's LinkedIn link and start year for each current role
Experience
The entries LinkedIn shows visitors, with dates and a masked flag on entries it hides
Education
School, the school's LinkedIn link, and start and end years
Activity
Recent posts and articles with their link, title or text, date and like count, plus languages and websites when listed

What comes back

Real responses from Spidra, trimmed for length. Nothing here is mocked up.

Request
https://www.linkedin.com/in/williamhgates/

Everything LinkedIn shows a visitor who isn't signed in. Parts it hides from visitors are marked masked.

Response (real run, October 18, 2026, trimmed)
{
"source": "linkedin",
"type": "profile",
"slug": "williamhgates",
"name": "Bill Gates",
"headline": "Chair, Gates Foundation and Founder, Breakthrough Energy",
"badges": "Creator, Top Voice",
"location": "Seattle, Washington, United States",
"country": "US",
"about": "Chair of the Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft. Voracious reader. Avid traveler. Active blogger.",
"followers": 40734440,
"connections": "8",
"photo": "https://media.licdn.com/dms/image/v2/D5603AQF-RYZP55jmXA/profile-displayphoto-shrink_200_200/B56ZRi8g.aGsAY-/0/1736826818802?e=2147483647&v=beta&t=bKWfN6UwwtiCq…",
"currentRoles": [
{
"title": "Co-chair",
"organization": "Gates Foundation",
"organizationUrl": "https://www.linkedin.com/company/gates-foundation",
"startYear": 2000
},
{
"title": "Founder",
"organization": "Breakthrough Energy",
"organizationUrl": "https://www.linkedin.com/company/breakthrough-energy",
"startYear": 2015
},
"… 1 more"
],
"experience": [
{
"title": "Co-chair",
"organization": "Gates Foundation",
"dates": "2000 - Present (26 years)",
"masked": false
},
{
"title": "Founder",
"organization": "Breakthrough Energy",
"dates": "2015 - Present (11 years)",
"masked": false
},
"… 1 more"
],
"education": [
{
"school": "Harvard University",
"schoolUrl": "https://www.linkedin.com/school/harvard-university/",
"startYear": 1973,
"endYear": 1975
}
],
"websites": [
"https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fgatesnot%2Ees%2Fsourcecode-li&urlhash=Zl5S&trk=public_profile_topcard-website"
],
"activity": [
{
"type": "article",
"url": "https://www.linkedin.com/pulse/affordable-climate-win-look-sky-bill-gates-eoj7e",
"title": "For an affordable climate win, look to the sky",
"publishedAt": "2026-10-12T20:10:59.000+00:00",
"likes": 3852
},
{
"type": "article",
"url": "https://www.linkedin.com/pulse/ai-equity-choice-we-cant-delay-bill-gates-d1gte",
"title": "AI, equity, and the choice we can’t delay",
"publishedAt": "2026-09-17T15:18:20.000+00:00",
"likes": 2996
},
"… 16 more"
],
"url": "https://www.linkedin.com/in/williamhgates/"
}

Exactly what a visitor sees

Since November 2025, LinkedIn shows a profile's full work history only to signed-in members. Visitors see current roles, education and a limited part of the experience list, and LinkedIn replaces some entries with asterisks.

Spidra returns that public view as it is. Entries LinkedIn masks come back with "masked": true instead of being guessed or filled in from somewhere else, so you always know what the page actually showed.

linkedin.com/in/williamhgates (real run, trimmed)
"currentRoles": [{
"title": "Co-chair",
"organization": "Gates Foundation",
"organizationUrl": "https://www.linkedin.com/company/gates-foundation",
"startYear": 2000,
"endYear": null
}],
"experience": [{
"title": "Co-chair",
"organization": "Gates Foundation",
"dates": "2000 - Present (26 years)",
"masked": false
}],
"education": [{
"school": "Harvard University",
"schoolUrl": "https://www.linkedin.com/school/harvard-university/",
"startYear": 1973,
"endYear": 1975
}]

Refused pages cost nothing

Spidra doesn't sign in to LinkedIn, doesn't keep LinkedIn accounts, and never sends cookies you include with a LinkedIn link. LinkedIn's User Agreement forbids using another member's session, and Spidra respects that line.

So when a page needs a member, Spidra says so instead of trying. The request fails with a message and no credit is charged.

  • Profile detail pages, people search and Sales Navigator are refused before anything is fetched
  • A profile LinkedIn won't show a visitor fails free. A missing profile and a refused one look the same, so the message can't say which
  • No emails or phone numbers: LinkedIn doesn't show them to visitors

Profiles are personal data

A public profile is still personal data. Privacy laws such as GDPR apply to it whether or not it is public, and you are responsible for how you collect and use it.

Regulators act on this. In December 2024 France's CNIL fined KASPR €240,000 over contact details collected from LinkedIn, and in October 2024 seventeen data protection authorities said jointly that publicly accessible personal data is still protected.

  • Have a lawful basis for each profile you collect, and collect only the fields you need
  • Keep the data no longer than your purpose requires, and honor deletion and access requests
  • Don't use profile data for unsolicited bulk outreach, or to build contact lists people didn't expect

Ask for the columns you want

Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.

Request
const result = await spidra.scrape({
urls: [{ url: "https://www.linkedin.com/in/williamhgates/" }],
prompt: "Summarise this profile.",
schema: {
type: "object",
properties: {
name: {
type: "string"
},
headline: {
type: "string"
},
location: {
type: "string"
},
currentRoles: {
type: "array",
items: {
type: "string"
}
}
}
},
});
What came back (real run)
{
"name": "Bill Gates",
"headline": "Chair, Gates Foundation and Founder, Breakthrough Energy",
"location": "Seattle, Washington, United States",
"currentRoles": [
"Co-chair",
"Founder",
"Co-founder"
]
}

This request cost 2 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.

What teams build with it

Public profile data fits work where you already know who you are looking at and why.

Speaker and author research

Check the public headline, current roles and recent articles of people you plan to invite, quote or cite.

Company context

Link the public figures of a company, such as founders and executives, to their current roles and organizations.

See the use case

Public activity tracking

Follow what public figures and creators publish on LinkedIn and how many people react to it.

How Spidra compares

Profile scrapers differ most in what they claim to return after LinkedIn's November 2025 change. Here is what each says.

Bright DataScrapingDogSpidra
Price per 1,000$1.50 pay as you go, $1.30 on the Scale plan$2.92 to $10 (50 credits per profile, 100 if protected)$3.80 down to $1.99
Access, as stated"Bright Data only scrapes publicly available data""We don't use your cookies or any LinkedIn account"Logged out. Never signs in and never sends your cookies
Work historyPosition, experience and education served from a cache since November 13, 2025Experience and education in its field listWhat visitors see, with masked entries flagged
Failed profilesPay only for successNot statedFree, with a message
OutputFixed fieldsFixed fieldsFixed fields, or your own schema or prompt

Choose Bright Data if

You need stored profile datasets in bulk, or fields LinkedIn no longer shows visitors, served from Bright Data's cache.

Choose Spidra if

You want the profile as LinkedIn shows it today, clearly marked where LinkedIn hides something, with no LinkedIn account involved anywhere.

Competitor prices and statements are as published on their own pages on October 17, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: Bright Data, Bright Data (profile change), ScrapingDog.

What to know before you build

We would rather you hear the limits from us than find them in production.

  • Logged out only. Spidra never signs in to LinkedIn and never uses your LinkedIn account or cookies.
  • Since November 2025 LinkedIn shows the full experience history only to signed-in members. Public profiles give current roles, education and part of the history, and masked entries come back with "masked": true.
  • Members choose what their public profile shows, and some turn it off. LinkedIn also refuses some profiles to visitors. Those requests fail free, and the message can't tell a missing profile from a refused one.
  • No people search, no emails, no phone numbers, no skills or recommendations pages, and no connection lists.
  • Profiles are personal data. Handle them according to the privacy laws that apply to you, such as GDPR, which protects personal data even when it is public.

What it costs

1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.

Monthly credits
1,500
Fits the Starter plan ($19/mo)

Example: 50 public profiles a day is 1,500 credits a month, inside the Starter plan. Plain JSON output uses no AI tokens.

PlanPriceLinkedIn pages a month
Free$0up to 300 (one time)
Starter$19/moup to 5,000
BuilderPopular$79/moup to 25,000
Pro$249/moup to 125,000

Credits are shared across everything Spidra does, so the same plan covers LinkedIn and any other site.

Related scrapers

Same API key, same credits. See every scraper.

FAQ

Questions, answered

LinkedIn

What LinkedIn shows a visitor who isn't signed in: name, headline, location, about, followers, current roles, education, the experience entries it shows, and recent posts and articles. Members control what their public profile includes, so some fields are empty on some profiles.

Send a public profile link and see what comes back.

Get 300 free credits, no card, and read your first public profile from the dashboard or the API.

Spidra is not affiliated with, endorsed by, or sponsored by LinkedIn. LinkedIn is a trademark of LinkedIn Corporation. Profiles contain personal data. Check LinkedIn's User Agreement and the privacy laws that apply to you before you collect any, and use it responsibly.