docs / linkedin-jobs
LinkedIn Jobs
Public job listings and details.
base /linkedin-jobs/v13 endpoints
post
/linkedin-jobs/v1/jobs/search1 creditSearch public LinkedIn job postings by keywords, with optional location and date/seniority/job-type/workplace filters.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| keywords | required | — | What job to search for — title, skill or keyword. |
| location | optional | — | Country, region or city to search in (free text, e.g. 'United States', 'Berlin'). |
| max_results = 50 | optional | 1–1000 | How many jobs to return (1–1000). LinkedIn's guest API caps any single query at ~1000; use filters to narrow. |
| date_posted | optional | 24h · week · month | Only jobs posted within this window (raw f_TPR codes like r86400 also accepted). |
| experience | optional | internship · entry · associate · mid_senior · director · executive | Only jobs at this experience level (raw f_E codes 1–6 also accepted). |
| job_type | optional | fulltime · parttime · contract · temporary · internship · volunteer · other | Only jobs of this employment type (raw f_JT codes F/P/C/T/I/V/O also accepted). |
| workplace | optional | onsite · remote · hybrid | Only jobs with this workplace arrangement (raw f_WT codes 1/2/3 also accepted). |
| include_detail = false | optional | — | Fetch the full posting per job (description, employment type, seniority, salary) — slower. |
| include_company = false | optional | — | Also fetch the employer's company profile (industry, size, HQ) per job — slower. |
| page = 1 | optional | 1– | Page number (easy paging: 1, 2, 3… — page size = max_results). |
| cursor | optional | — | Next page: pass the previous response's meta.pagination.next_cursor (the 'Next' button does this automatically). |
| start | optional | 0–999 | Advanced: raw result offset (10 jobs/page, must stay < 1000). Prefer `page` or `cursor`. |
| geoId | optional | — | Advanced: LinkedIn numeric geo ID — pins the search to an exact region (more precise than free-text location). |
| filters | optional | — | Advanced: the same facets as one object {date_posted, experience, job_type, workplace} — explicit keys here win over the flat params. |
| detail_concurrency = 4 | optional | 1–8 | Advanced: parallel detail fetches when include_detail=true (1–8). |
post
/linkedin-jobs/v1/jobs/detail1 creditFull posting for one job: description, employment type, seniority, salary, applicant count.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| job_id | required | — | LinkedIn job ID — the number in the job URL (linkedin.com/jobs/view/<job_id>) or `job_id` from jobs/search. |
| include_company = false | optional | — | Also fetch the employer's company profile (industry, size, HQ) per job — slower. |
post
/linkedin-jobs/v1/company2 creditsCompany profile: description, website, employee count, industry, HQ, founded year, specialties.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| company | required | — | Company slug (the part after linkedin.com/company/) or the full LinkedIn company URL. |
Example request · jobs/search
curl -X POST https://api.reefapi.com/linkedin-jobs/v1/jobs/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"keywords":"python developer","location":"United States","max_results":25}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}