Skip to content
ScrapeField

Get a LinkedIn profile

Fetch a LinkedIn profile: full_name, headline, about, location, follower_count, connection_count, current_company, experience, education and skills. With detail=with_email, also look for their work email, each address checked with its mail server. Use this to enrich a person from their profile URL.

7–33 credits
GEThttps://api.scrapefield.com/v1/linkedin/profile
Try itno key needed7–33 credits on a real call · 0 here
https://api.scrapefield.com/v1/linkedin/profile?vanity_name=sirlewishamilton

In your code

const params = new URLSearchParams({
  "url": "https://www.linkedin.com/in/example"
});

const res = await fetch(`https://api.scrapefield.com/v1/linkedin/profile?${params}`, {
  headers: { Authorization: `Bearer ${process.env.SCRAPEFIELD_KEY}` },
});

const { data, meta } = await res.json();
console.log(data, meta.credits_charged);

Parameters

Parameters
ParameterWhat it does
url
string · one of the profile ids
The public profile URL, e.g. https://www.linkedin.com/in/someone. A member-id URL (/in/ACoAA… or /in/ACwAA…), as reactions and Sales Navigator give, works too.
vanity_name
string · one of the profile ids
The part after /in/ in the public URL, e.g. someone. A member id (ACoAA…) works too.
detail
string
main is the profile as LinkedIn first shows it, without opening a section: up to 5 positions, 2 schools and 2 skills, for less. with_email is the whole profile and a search for their work email, in emails, for more.
full · main · with_email, default full
fresh
boolean
Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.
default false

Response

Returns one linkedin_profile. This is the demo’s answer, the one the playground above returns, in full rather than abbreviated — including the fields that come back null, because a field is null when the platform does not show it and you should know which ones those are before you build on them. A call with your key returns the account you ask for.

{
  "data": {
    "vanity_name": "mara-vogel",
    "url": "https://www.linkedin.com/in/mara-vogel/",
    "full_name": "Mara Vogel",
    "first_name": "Mara",
    "last_name": "Vogel",
    "headline": "Head of Growth at Kestrel",
    "about": "I build the boring parts that keep products up. Previously early at two startups; now working on data infrastructure.",
    "location": "Brooklyn, United States",
    "profile_picture_url": "https://cdn.example/li/kmVExb4fW1Hu.jpg",
    "follower_count": 20156,
    "connection_count": 500,
    "open_to_work": false,
    "current_company": {
      "name": "Kestrel",
      "url": "https://www.linkedin.com/company/kestrel/"
    },
    "experience": [
      {
        "title": "Head of Growth",
        "company": {
          "name": "Kestrel",
          "url": "https://www.linkedin.com/company/kestrel/"
        },
        "employment_type": "Full-time",
        "location": "Brooklyn, United States",
        "start_date": "2023-01",
        "end_date": null,
        "is_current": true,
        "description": "Own the data platform end to end: ingestion, the warehouse and the on-call rota."
      },
      {
        "title": "Product Designer",
        "company": {
          "name": "Kestrel",
          "url": "https://www.linkedin.com/company/kestrel/"
        },
        "employment_type": "Full-time",
        "location": "Brooklyn, United States",
        "start_date": "2020-03",
        "end_date": "2023-06",
        "is_current": false,
        "description": null
      },
      {
        "title": "Founder",
        "company": {
          "name": "Brightwater",
          "url": "https://www.linkedin.com/company/brightwater/"
        },
        "employment_type": "Contract",
        "location": "Brooklyn, United States",
        "start_date": "2018-08",
        "end_date": "2020-09",
        "is_current": false,
        "description": null
      }
    ],
    "education": [
      {
        "school": {
          "name": "The University of Texas at Austin",
          "url": "https://www.linkedin.com/school/theuniversityoftexasataustin/"
        },
        "degree": "Master of Science - MS",
        "field_of_study": "Industrial Design",
        "start_year": 2013,
        "end_year": 2017
      }
    ],
    "skills": [
      "Data Modeling",
      "Product Strategy",
      "SQL",
      "TypeScript"
    ],
    "emails": []
  },
  "meta": {
    "request_id": "req_7f3ac1e94b2d40f8a1c6e5d2",
    "credits_charged": 11,
    "credits_remaining": 74218,
    "cached": false,
    "fetched_at": "2026-09-20T09:12:03Z",
    "next_cursor": null
  }
}

Fields of linkedin_profile

A LinkedIn profile. Named after the words LinkedIn prints, since LinkedIn has no official data API.

Fields
FieldWhat it is
vanity_name
string
The part after /in/ in the profile URL.
url
URL
The profile.
full_name
string
The name, as the profile shows it.
first_name
string · or null
The given name.
last_name
string · or null
The family name.
headline
string · or null
The line under the name.
about
string · or null
The About section.
location
string · or null
As printed, e.g. "Berlin, Germany".
profile_picture_url
URL · or null
The profile photo.
follower_count
integer · or null
How many members follow the profile.
connection_count
integer · or null
LinkedIn stops counting at 500: a value of 500 means "500+".
open_to_work
boolean · or null
Whether the profile shows the #OpenToWork frame.
current_company
object · or null
The employer shown at the top of the profile.
current_company.name
string · or null
As the listing prints it.
current_company.url
URL · or null
The company page, where it has one.
experience
array of objects
Positions, most recent first.
experience[].title
string · or null
As the position shows it. null where the profile gives none.
experience[].company
object
The employer.
experience[].company.name
string · or null
As the listing prints it.
experience[].company.url
URL · or null
The company page, where it has one.
experience[].employment_type
string · or null
As printed: "Full-time", "Contract", …
experience[].location
string · or null
Where the role is based, as printed.
experience[].start_date
string · or null
YYYY-MM, or YYYY where the profile gives only a year.
experience[].end_date
string · or null
YYYY-MM or YYYY; null for a current role, or where the profile gives no date: is_current tells which.
experience[].is_current
boolean · or null
true where the profile says the role runs to the present, false where it gives an end date, null where it gives no dates.
experience[].description
string · or null
What the profile says about the role.
education
array of objects
Schools, most recent first.
education[].school
object
The school, and its LinkedIn page where it has one.
education[].school.name
string · or null
As the listing prints it.
education[].school.url
URL · or null
The company page, where it has one.
education[].degree
string · or null
As printed, e.g. "Bachelor of Science - BS".
education[].field_of_study
string · or null
As printed, e.g. "Computer Science".
education[].start_year
integer · or null
The year they started.
education[].end_year
integer · or null
The year they finished, or expect to.
skills
array of strings
As listed on the profile.
emails
array of objects
Their work email, found with detail=with_email only, best first; empty otherwise, or when none is found.
emails[].email
string
The address.
emails[].status
string · or null
valid when their mail server accepts it; risky when the server accepts every address, so this one cannot be confirmed.
emails[].deliverable
boolean · or null
Whether mail to it should arrive.
emails[].catch_all
boolean · or null
Whether the domain accepts any address at all, which makes a check meaningless.
emails[].free_provider
boolean · or null
Whether it is at a free mail service, such as Gmail, rather than an employer's domain.

What it costs

11 credits (7 for detail=main, 33 for detail=with_email) per successful call, whether we fetch it or serve it from cache — you pay for the answer, not for how we produced it. Responses are cached for 12 hours and a cached one tells you when the data was actually fetched. A call we fail costs 0 and is refunded automatically.

On the smallest pack that is $8.58 per 1,000 calls; on the largest, $4.84. The full table.

Questions

How much does the LinkedIn profile scraper API cost?

From 7 to 33 credits a call, depending on what you ask for: $5.46 to $25.74 per 1,000 calls on the smallest pack, $3.08 to $14.51 on the largest. A call that fails costs nothing, and the refund is automatic. A cached answer costs the same as a fresh one. Credits are bought in packs and never expire; there is no plan.

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

No. You need a key from us and nothing from LinkedIn. We never take a customer's login, cookies or session, at any price, and no account of yours is ever at risk.

Can I try it without signing up?

Yes. Add demo=true and leave the key out, or press Send request in the playground on this page. The demo answers with a real answer about Lewis Hamilton, captured once a week, in exactly the shape a live call returns, whatever you ask, and charges nothing.

How fresh is the data?

An answer is kept for up to 12 hours, and a cached one says when it was fetched, in meta.fetched_at. Add fresh=true to fetch it again now, at the same price; it needs any purchase, not the trial.

What does it return?

One linkedin_profile object. Its fields are named after the words LinkedIn prints, since LinkedIn has no official data API. A field is null when LinkedIn does not show it, never missing. Every field is described on this page.

Can an AI agent call it?

Yes: it is the MCP tool get_linkedin_profile on our MCP server, with the same parameters, answer and price. Without a key, the tool answers from the demo.