LinkedIn Profile API
Look up public LinkedIn person profiles by URL and get structured JSON — name, headline, experience, education, metrics — without running your own browser farm.
GET /v1/linkedin/profiles2 credits per profile URL requested. Up to 50 profiles per request (100 credits max).
About this endpoint
CRM enrichment and GTM tools need LinkedIn person cards more often than they need Sales Navigator sessions. DIY scrapers stall on checkpoints, session reuse, and HTML that changes every quarter. You want a GET that accepts a public `/in/…` URL and returns fields you can upsert.
`GET /v1/linkedin/profiles` takes one or more public LinkedIn profile URLs (`url` query param, repeatable). Each result includes `lookupStatus` — write when it is `found`, keep `requestId` when it is not. The payload covers public identity fields (handle, display name, headline, location), experience and education blocks when LinkedIn shows them publicly, follower/connection metrics, and related activity when present.
Pricing is 2 credits per profile URL requested, up to 50 URLs per call (100 credits max). Check `meta.creditsCharged` on the response; that value is what the request cost. This route is for person profiles. Company and school pages use the company or organization endpoints on the LinkedIn hub.
LinkedIn Profile API FAQ
How do I fetch a LinkedIn person profile via API?
Call `GET /v1/linkedin/profiles` with your Social Fetch API key (`x-api-key`) and a public LinkedIn profile `url` query param (for example `https://www.linkedin.com/in/…`). Read `data.results[].lookupStatus` and the `profile` object in the JSON response. Full parameters are in the API docs.
How much does the LinkedIn Profile API cost?
2 credits per profile URL requested. You can send up to 50 URLs in one request (100 credits max). Always trust `meta.creditsCharged` on the response over a spreadsheet estimate.
Can I look up multiple LinkedIn profiles in one request?
Yes. Pass multiple `url` query values on the same `GET /v1/linkedin/profiles` call, up to 50. The response returns a `results` array plus a `summary` of found, not_found, and errored counts.
What fields does the LinkedIn profile response include?
Public person fields when available: handle, display name, headline, bio, location, avatar, current company, experience, education, languages, and follower/connection metrics. Coverage follows what is publicly visible on the profile page — gated or logged-in-only sections are out of scope.
LinkedIn person profile vs company page endpoint?
Use `GET /v1/linkedin/profiles` for `/in/…` person URLs. Company pages use `GET /v1/linkedin/companies`. School and other organization pages use `GET /v1/linkedin/organizations`. Passing a company URL into the person profile route will not return a company card.
Do I need LinkedIn partner API access for this?
No. Social Fetch returns public LinkedIn person profile data for enrichment-style lookups. LinkedIn's official partner APIs are separate and require LinkedIn's access programs and member authorization.
What happens when a LinkedIn profile URL is not found?
The batch still returns HTTP 200 with per-URL rows. Check each result's `lookupStatus`. Only upsert when status is `found`. Keep `meta.requestId` (and any per-row error) so you can retry or escalate failed enrichment rows.
Other LinkedIn endpoints
- Profile postsGET /v1/linkedin/profiles/posts
- People searchGET /v1/linkedin/people/search
- Organization pageGET /v1/linkedin/organizations
- Company pageGET /v1/linkedin/companies
- Company postsGET /v1/linkedin/companies/posts
- Post or articleGET /v1/linkedin/posts
- TranscriptGET /v1/linkedin/posts/transcript
- Post searchGET /v1/linkedin/posts/search