LinkedIn Job API
Look up public LinkedIn job postings by URL and get structured JSON — title, company, pay, description, apply links — without scraping login-walled job pages yourself.
GET /v1/linkedin/jobsUp to 3 credits per completed job URL Up to 50 jobs per request Max 150 credits Technical failures are free
About this endpoint
GET /v2/linkedin/jobs/batch takes one or more public LinkedIn job URLs (url query param, repeatable). Each URL must include a /jobs/view/ path. Branch on each row's lookupStatus before you write. When found, the legacy job projection can include id, URL, title, company identity/logo, location, summary, first job function, employment type, first industry and salary-range label, posted dates, Easy Apply, apply link, description and country code when supplied. Fields this projection cannot verify remain null and are described in compatibility; use v2 job routes for the fuller native record and optional related/hiring-team sections.
Pricing is 3 credits per completed job URL, including a verified miss, up to 50 URLs per call (150 credits maximum authorization). Technical failures and unstarted work cost zero. Trust meta.creditsCharged. Live data can be served within a documented freshness window, including cache hits.
LinkedIn Job API FAQ
How do I fetch a LinkedIn job posting via API?
Call GET /v2/linkedin/jobs/batch with your Social Fetch API key (x-api-key) and a public LinkedIn job url query param that includes /jobs/view/ (for example https://www.linkedin.com/jobs/view/…). Read data.results[].lookupStatus and the job object in the JSON response. See the API docs for parameters.
How much does the LinkedIn Job API cost?
3 credits per completed job URL, including a verified miss. You can send up to 50 URLs in one request (150 credits maximum authorization); technical failures and unstarted work cost zero. Trust meta.creditsCharged.
Can I look up multiple LinkedIn jobs in one request?
Yes. Pass multiple url query values on the same GET /v2/linkedin/jobs/batch call, up to 50. The response returns a results array plus a summary of found, notFound, and errored counts.
What fields does each LinkedIn job result include?
When lookupStatus is found, the job object can include id, url, title, company name/id/URL/logo, location, summary, seniority, function, employment type, industries, pay range text and structured base salary, posted labels/dates, applicant count, poster info, Easy Apply / apply link, description HTML/text, and country code. Coverage follows what is publicly visible on the posting.
LinkedIn job GET by URL vs job search?
Use GET /v2/linkedin/jobs/batch when you already have one or more /jobs/view/… URLs and want those postings directly. Use GET /v2/linkedin/jobs/search when you have a keyword and need candidate listings first.
What happens when a LinkedIn job 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.
Do I need LinkedIn partner API access for job lookups?
No. Social Fetch returns public LinkedIn job posting data for enrichment-style lookups. LinkedIn's official partner APIs are separate and require LinkedIn's access programs and authorization.
Other LinkedIn endpoints
- ProfileGET /v2/linkedin/profiles
- ProfilesGET /v2/linkedin/profiles/batch
- Resolve personGET /v2/linkedin/people/resolve
- Profile postsGET /v2/linkedin/people/{entityId}/posts
- Profile commentsGET /v2/linkedin/people/{entityId}/comments
- Employment historyGET /v2/linkedin/people/{entityId}/employment-history
- RecommendationsGET /v2/linkedin/people/{entityId}/recommendations
- InterestsGET /v2/linkedin/people/{entityId}/interests