Search LinkedIn Jobs
Search LinkedIn Jobs
Find job listings on LinkedIn by keywords, location, job type, experience level, and workplace type. Returns lightweight job rows (title, company, companyUrl, companyLogo, location, workplaceType, postedAt, jobUrl, listingId). For RICH job-detail (applicant count, full description, employment status, listed/expire timestamps, inferred benefits, formattedJobFunctions, formattedIndustries, applyMethod, companyDescription), pass the result's listingId to visitJob (or POST /api/visit/linkedin/job).
Parameters
- keywords (optional): Search terms matched against job title, company name, and description
Keyword syntax (Boolean operators)
Keywords support LinkedIn Boolean search syntax:
- Exact phrase: "frontend engineer" — matches only that exact title
- AND: React AND TypeScript — both terms required (spaces default to AND)
- OR: "frontend engineer" OR "front-end developer" — either term
- NOT: engineer NOT intern — exclude unwanted terms
- Parentheses: (React OR Vue) AND "senior engineer" — group logic
Operators must be UPPERCASE. Precedence: Quotes > Parentheses > NOT > AND > OR.
Available filters
Pass human-readable names for location, company, industry, jobFunction, benefits, commitments — they are resolved to LinkedIn IDs server-side. Do not hand-resolve.
| Filter | Type | Description |
|---|---|---|
| location | string[] | City/region/country names |
| company | string[] | Hiring company names |
| industry | string[] | Company industry names |
| jobFunction | string[] | Job function names (Engineering, Sales, …) |
| datePosted | string | "past-24h" | "past-week" | "past-month" |
| sortBy | string | "relevance" | "date" |
| jobType | string[] | Employment type codes (see below) |
| experienceLevel | string[] | Seniority codes (see below) |
| workplaceType | string[] | Work location codes (see below) |
| benefits | string[] | Advertised benefit names |
| commitments | string[] | Employer commitment names |
| easyApply | boolean | Only Easy Apply jobs |
| under10Applicants | boolean | Only jobs with <10 applicants |
| inYourNetwork | boolean | Only jobs where you have a connection |
| hasVerifications | boolean | Only verified job posters |
| fairChanceEmployer | boolean | Only Fair Chance employers |
Job type codes
| Code | Type |
|---|---|
| F | Full-time |
| P | Part-time |
| C | Contract |
| T | Temporary |
| I | Internship |
| V | Volunteer |
| O | Other |
Experience level codes
| Code | Level |
|---|---|
| 1 | Internship |
| 2 | Entry level |
| 3 | Associate |
| 4 | Mid-Senior level |
| 5 | Director |
| 6 | Executive |
Workplace type codes
| Code | Type |
|---|---|
| 1 | On-site |
| 2 | Remote |
| 3 | Hybrid |
Response fields (per item)
| Field | Type | Description |
|---|---|---|
| title | string | Job title |
| company | string|null | Hiring company name |
| companyUrl | string|null | Company LinkedIn page URL |
| companyLogo | string|null | Company logo URL |
| location | string|null | Job location |
| workplaceType | string|null | On-site / Remote / Hybrid |
| postedAt | string|null | Human-readable posting time (e.g. "2 days ago") |
| jobUrl | string | Direct URL to the job listing |
| listingId | string | LinkedIn job listing ID |
Pagination
- Default page size: 10, max: 50
- Use start + count to paginate. Check hasMore for more pages.
Example workflows
- Job monitoring: Search by title + location → track new openings in your area
- Competitive hiring analysis: Search by company keywords → see what roles competitors are hiring for
- Market demand research: Search by skills → gauge demand for specific expertise
Credits
Request body
Response
List of LinkedIn job listings matching the search criteria
Changes
Changed in 4 of the 12 revisions of this API.1113
- ▲
removed the required property
_meta/credits/accountPlanfrom the response with the200statusresponse-required-property-removed
- ▲
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status400response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status401response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status403response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status404response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status409response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status410response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status422response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status429response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status500response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status502response-property-enum-value-added
- ●
added the new
pacingenum value to theerror/quotaKindresponse property for the response status503response-property-enum-value-added
- ○
the
countrequest property's max was increased from50.00to100.00request-property-max-increased
- ●
- ○
added the optional property
warningsto the response with the200statusresponse-optional-property-added
- ○
- ○
added the optional property
_metato the response with the200statusresponse-optional-property-added
- ○
Of the 12 revisions, 1 has no diff computed.