Yes, there is a public LinkedIn API

Reads only the logged-out page. No accounts, no cookies.

Logged-out public pages only No accounts or cookies Not-accessible profiles free
THE SHORT ANSWER

Is there a public LinkedIn API? Yes.

LinkedIn does not publish a general-purpose data API, which is why people keep searching for one. CrustAPI fills that gap: GET /v1/linkedin reads the logged-out public page and hands it back as clean JSON.

This page answers the two questions people ask most: does a public LinkedIn API exist, and is using one allowed. For the full field reference, see the LinkedIn API page; for the step by step, see how to scrape LinkedIn without login.

Pick a surface with type, pass a URL or keywords, and the result comes back under a key named after the type. One billing rule covers all of them: a successful call is one credit, and an empty or inaccessible result is free.

typeWhat the public page gives youInput
profileThe public profile: name, headline, work history, education, follower count, and stable ids. The default type.url (a linkedin.com/in/... URL)
refreshThe current company and school with their numeric LinkedIn ids, plus companyState. The lean, low-latency call for keeping a database current.url
companyThe public company page. See the LinkedIn company API for the full shape.url (a linkedin.com/company/... URL)
postsPublic posts, up to 100 per call. Add comments=true for comments on each post.url (profile or company)
jobsPublic job listings, up to 50 per call, with paging via start.keywords plus optional location, or a job url
search (beta)People search over public results. Add enrich=true to get each person's full profile in the same call.keywords

Note the input rule: profile, company, and posts take url, never a search query. If you only have a name, find the person first with type=search (beta), then pass the profile URL you get back.

curl "https://crustapi.com/v1/linkedin?type=profile&url=https://www.linkedin.com/in/satyanadella" \ -H "x-api-key: YOUR_KEY"
PULLED LIVE FROM THE API, AUGUST 11, 2026

A real response, not a mockup

This is the exact JSON the curl above returned, trimmed for width. It came back in about 1 second and cost 1 credit.

// trimmed for width: photo and id fields, parsed location detail, // the remaining experience and education entries, and this key's // creditsRemaining removed { "type": "linkedin-profile", "url": "https://www.linkedin.com/in/satyanadella", "tookMs": 1049, "accessible": true, "profile": { "name": "Satya Nadella", "headline": "Chairman and CEO at Microsoft", "currentCompany": "Microsoft", "companyState": "public", "followerCount": 12110954, "memberIdentifier": "19186432", "experience": [ { "position": "Chairman and CEO", "companyName": "Microsoft", "companyLinkedinUrl": "https://www.linkedin.com/company/microsoft", "startDate": { "year": 2014 }, "endDate": { "text": "Present" } } // 4 more experience entries trimmed for width ], // 3 education entries trimmed for width "linkedinUrl": "https://www.linkedin.com/in/satyanadella" } }

Two fields worth noticing. accessible tells you whether the profile has a public page at all; when it is false, profile is null, a note explains why, and the call is not charged.

memberIdentifier is LinkedIn's permanent numeric member id. It survives name and vanity-URL changes, so it is the right join key for a database.

WHAT PUBLIC MEANS

What data do you get?

A public LinkedIn API can only return what a signed-out visitor sees. That is a feature, not a limit: it is what lets the call run with no account of yours attached.

Identityname · headline · location · photo · profile URLIdsmemberIdentifier · publicIdentifierWorkcurrent role · full experience history · company URLs · datesBackgroundeducation · schools · degreesSignalsabout · followerCount · influencer · topVoiceContactworkEmail with emailStatus, opt-in

The email field is opt-in: add email=true to a profile call and the response appends workEmail and emailStatus.

The status is verified, pattern-likely, or unknown, so you can keep the confirmed addresses and treat the rest as guesses. Email is a field on the profile call, not a separate product.

WHAT IT DOES NOT RETURN

Fields that only exist behind a login stay out, on purpose. A person's connection list, mutual connections, who viewed a profile, or anything else that never appears on the logged-out page is not in the response. That boundary is what makes it a public LinkedIn API in the first place, with no account and nothing of yours at risk.

Make your first call in the next minute
Free 3,000 credits a month, no card.
Get started →
IS IT ALLOWED

Is a public LinkedIn API allowed?

The short version: it reads data that is already public, and it uses no login. Here is the fuller picture, without the hand-waving.

The data comes from pages that anyone can open in a browser with no account. Logged-out, public-only collection has repeatedly defeated computer-fraud and contract claims. No fake accounts, no logins, no CAPTCHA fraud.

A site's terms still restrict automated access on their side, which is why we keep the whole thing to public pages and never touch a login wall. We handle the collection, and what you receive is plain public data.

That distinction separated the tools that survived from the ones that were shut down: reading public pages logged-out is not the same as operating fake logged-in accounts.

THREE STEPS

How do you get started?

From zero to your first profile as JSON in about two minutes:

  1. 1

    Create a free account. You get 3,000 credits a month, no card needed.

  2. 2

    Copy your key from the dashboard. It is issued the moment you sign up.

  3. 3

    Run the curl above with any public LinkedIn URL. The profile comes back as JSON.

PRICING

How much does the API cost?

Every successful call is one credit, whatever the type. A profile that is not accessible costs nothing, and an empty search result is free. Here is what the packs cost:

CallsCreditsYou pay
3,000 every month3,000$0, free tier, no card
25,000 calls25,000$49 ($1.96 per 1,000)
100,000 calls100,000$149 ($1.49 per 1,000)
500,000 calls500,000$549 ($1.10 per 1,000)
2.5 million calls2,500,000$1,999 ($0.80 per 1,000)

Packs continue up to 250 million credits for $100,000, which is $0.40 per 1,000. Prices ex-tax.

Credits are prepaid and never expire. One exception to the flat rule: people search (beta) with enrich=true bills one credit per full profile it returns.

WHO IT'S FOR

Who uses this API?

Related: LinkedIn API reference · Scrape LinkedIn without login · LinkedIn company API · Proxycurl alternative

BEFORE YOU ASK

Common questions

Yes. CrustAPI is a public LinkedIn API at GET /v1/linkedin. It reads the logged-out public version of a profile, company page, or job listing and returns it as clean JSON. Set type to profile, refresh, company, posts, jobs, or search (beta). Every successful call is 1 credit, and a profile that is not accessible is free.

No. It reads only the public, logged-out page, so there is no cookie to paste, no session to hand over, and no account of yours in the request. Fields that appear only behind a login, like connection lists, are deliberately not part of it.

It reads data that is already public for anyone to see, with no login. Logged-out, public-only collection has repeatedly defeated computer-fraud and contract claims, and we use no fake accounts or logins. A site's terms still restrict automated access on their own side, so we keep to public pages, handle the collection, and hand you plain public data.

For a profile: name, headline, location, current company, the full experience history with company links and dates, follower count, and stable identifiers including memberIdentifier, LinkedIn's permanent numeric member id. Add email=true to append workEmail with an emailStatus of verified, pattern-likely, or unknown. Company pages, public posts, and job listings have their own shapes on the same endpoint.

One credit per successful call, for every type. The exception is people search (beta) with enrich=true, which bills 1 credit per full profile returned. A private or inaccessible profile returns null with a note and is not charged, and empty results are free. The free tier is 3,000 credits a month with no card.

Same endpoint, different question. This page answers whether a public LinkedIn API exists and whether it is allowed. The LinkedIn API page is the full reference for every type, field, and parameter, and the scrape LinkedIn without login page is the step by step.

WORKS WITH YOUR STACK

Point it at a profile and see

Start on the free 3,000 credits a month, no card needed. One GET returns the public profile as clean JSON, and a profile that is not accessible costs you nothing. No account of yours is ever part of the request.

Get 3,000 free credits
No credit card required