Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in
All collectors

LinkedIn profile scraper API

Company data · v1.0.0 · linkedin_profile

$0.005 / profile

$5.00 / 1K · pay per delivered profile

A LinkedIn profile scraper API that returns the public preview of a profile: name, headline, location, current company, job titles, education, follower and connection counts, and the photo — from slugs or /in/ URLs, without logging into anyone's account.

$0.005 per delivered profile · $2 free every month · Failed runs never billed

What it does

What a LinkedIn profile scraper API does

Logged out, LinkedIn serves a preview page and puts the rest behind a sign-in wall. This collector reads exactly the public half — the schema.org block and the top card — and stops there. It does not authenticate, does not replay someone's session cookie, and does not pretend the hidden fields are available.

That boundary is the product decision. Tools that promise full profiles are logging in as somebody, which is the part that gets accounts banned and creates a compliance problem you inherit. If the public preview is enough for your use case, this is a clean way to collect it at volume.

Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

InputTypeRequiredWhat it does
profilesarrayyesProfile slugs (williamhgates) or /in/ URLs, one per line.
countrystringnoISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool.
max_resultsintegernoHow many profiles to deliver at most (1–50). You pay only for delivered profiles.

Outputs — 13 fields, one row per profile

What one profile looks like

Every delivered profile carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

FieldTypeWhat it holds
slugstringProfile slug.
namestringFull name.
headlinestring · nullableProfile headline.
locationstring · nullableLocation as published.
countrystring · nullableCountry when exposed.
job_titlesstring[]Titles listed in the public schema block.
companystring · nullableCurrent company.
company_urlstring · nullableCompany LinkedIn URL.
educationstring[]Schools listed publicly.
followersinteger · nullableFollower count.
connectionsinteger · nullableConnection count as shown.
imagestring · nullableProfile photo URL.
urlstringProfile URL.

Integration

One POST, typed rows

Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/scraper/collectors/linkedin_profile/run.

curl -X POST https://api.quanticdata.io/v1/scraper/collectors/linkedin_profile/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profiles":["williamhgates"],"max_results":5}'

Example response

POST /v1/scraper/collectors/linkedin_profile/run
$ curl $QD/linkedin_profile/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"profiles": ["williamhgates"], "max_results": 5}'
{ "status": "done", "count": 5,
  "results": [
    {
      "slug": "…",
      "name": "…",
      "headline": "…",
      "location": "…" } ],
  "cost": 0.025 }
# 5 profiles × $0.005 · nothing delivered, nothing charged

Try it

LinkedIn profile, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

Get my free API key
LinkedIn profile scraper API: from profiles, QuanticData reads the LinkedIn profile and returns one row per profile with name, slug and headline, at $0.005 per delivered profile.
You send profiles and country; the run goes out through a residential exit and comes back as profiles with slug, name and headline — 13 fields on every row — and you are billed $0.005 for each profile actually delivered, nothing for a run that delivers none.
$0.005 / profile400 profiles on the free $2 every month
Semantic inputprofiles, country, max_results — no URL lists
Up to 50profiles per run, pagination handled for you
No browserread over HTTP/TLS — cheaper and faster than rendering

Pricing

LinkedIn profile scraper API pricing

$0.005 per delivered profile. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 400 profiles before you spend anything.

$0.005per delivered profile$5 per 1,000 delivered profiles
400 profileson the free allowance$2 every month, no card
Zero rowszero chargeblocks, captchas and retries are on us
−30%on volume tiersthe catalog returns your key's price

Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.

What people build with the LinkedIn profile scraper API

Three shapes of work this endpoint was designed around.

Lead enrichment

Attach title, company and location to a list of profile URLs you already hold.

Recruiting research

Screen a candidate shortlist on headline and current employer before reaching out.

Data hygiene

Detect when a contact has changed role or company since your CRM last saw them.

LinkedIn profile scraper API versus rolling your own

The differences that actually cost time when you build this in-house.

DIY scraperThis collector
AuthenticationYour cookie, your account at riskNone — public preview only
Scope claimsPromise the full profileDocumented as the public half

What people search for

Live autocomplete demand around LinkedIn profile, pulled with our own Keyword ideas collector.

The only official read is your own visitor

LinkedIn's API offers Sign In with LinkedIn, which returns the profile of a user who has just authenticated with your application and consented to share basic fields. That is an authentication product. Reading profiles of people who have not authorised you runs through partner programmes that are not granted for enrichment or prospecting, at any price.

Which leaves the logged-out public preview — what this reads — or a commercial contact database. They are different products: databases sell verified emails and direct dials that no public page contains; this returns current, self-published positioning for anyone with a public profile, and returns it as a typed row rather than a page.

Limits, scope and the legal bit

Up to 50 profiles per run, logged-out fields only. Everything behind the sign-in wall — full experience history, contact details, skills — is out of scope by design and is never guessed to fill a column. Throughput is your plan's rate limit rather than anything about the collector: 60 requests/minute on pay-as-you-go, up to 1,200 on the top tier.

This is the most personal-data-heavy collector in the catalogue. US courts have repeatedly held that scraping publicly accessible pages is not unauthorised access under the CFAA, which is meaningful and narrow: a profile is still personal data under GDPR and equivalents, so you need a lawful basis, individuals hold access and erasure rights, and LinkedIn's terms prohibit automated collection independently of any statute. None of this is legal advice — get some for your actual use case.

LinkedIn profile scraper API: the POST to the linkedin_profile collector, 5 profiles delivered and the bill, 5 × $0.005 = $0.025 in usage.cost_usd; zero profiles would cost $0.
The same call you would paste into a terminal: a Bearer key, profiles and country in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many profiles arrived and usage.cost_usd is $0.025, which is 5 × $0.005. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

FAQ

Questions we get about the LinkedIn profile scraper API.

Something else? Ask us

Does it return the full work history?

No. Experience beyond the current role, contact details and connections are behind LinkedIn's sign-in wall, and this API does not log in. You get name, headline, location, current company, public job titles and education.

Do I need a LinkedIn account or cookie?

No. That is the point: nothing is authenticated, so no account of yours is exposed.

Is the company page richer?

Considerably. linkedin_company returns employee count, follower count, industry, website and the structured headquarters address.

Is there a free LinkedIn profile scraper API?

Every account gets $2 of credit every month with no card, which is about 400 delivered profiles on this endpoint at $0.005 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

How much does one run cost?

Multiply the rows you actually receive by $0.005. A run capped at 50 profiles — the maximum for this collector — costs $0.25 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.

Why is the dataset narrower than other LinkedIn tools claim?

Because it only reads what LinkedIn shows to signed-out visitors. Tools that return full experience history are holding a session, and sessions on LinkedIn get detected and the account restricted. A narrower dataset that keeps working is the deliberate trade.

Can it return email addresses?

No. LinkedIn does not publish email addresses on public profiles, so no LinkedIn collector can return one honestly. For business contact details, the site contacts and company profile collectors read what a company publishes on its own site.

Run the LinkedIn profile scraper API now

$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.

Run in dashboard
Illustration: three coloured zones of the page that is read (LinkedIn profile) turn into clean JSON with the fields name, slug and headline; 13 fields on every row.