API reference · Job

GET/api/v2/jobs/search

Search Jobs by Keyword and Location

Search LinkedIn job cards by keyword. Optional filter values should come from /api/v2/jobs/search/filters; copy each filter's secondaryFilterValues[].value back into this endpoint.

Try in playground

Sign in if needed. The playground opens with this endpoint selected and ready to configure.

Parameters

ParameterInTypeDescription
keywords *querystringmin length 1Job search text, for example software engineer.
locationquerystring | nullFree-text job location, such as Berlin or San Francisco, CA. Use geo_id instead when combining location with advanced filters.
geo_idquerystring | nullLinkedIn geo ID for job search. Use /api/v2/search/locations or /api/v2/jobs/search/filters to find it. Prefer this over free-text location when using advanced job filters.
companyquerystringLinkedIn company ID filter for jobs. Use /api/v2/jobs/search/filters and copy secondaryFilterValues[].value from the company filter. Accepts comma-separated or repeated values.
companiesquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
jobTypequerystringJob type values: F full-time, P part-time, C contract, T temporary, V volunteer, I internship, O other. Accepts comma-separated or repeated values.
experiencequerystringExperience level values: 1 internship, 2 entry level, 3 associate, 4 mid-senior, 5 director, 6 executive. Accepts comma-separated or repeated values.
workplaceTypequerystringWorkplace values: 1 on-site, 2 remote, 3 hybrid. Accepts comma-separated or repeated values.
workArrangementquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
regionsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
salaryquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
industriesquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
locationsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
functionsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
titlesquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
benefitsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
BenefitsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
commitmentsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
easyApplyquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
verifiedJobquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
under10ApplicantsquerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
fairChancequerystringComma-separated values or repeated query parameters. Use the matching filter-discovery endpoint to find valid secondaryFilterValues[].value entries.
timePostedRangequerystringdefault Job posting age. Use empty string for any time, r86400 for past 24 hours, r604800 for past week, r2592000 for past month.
sortByquerystringdefault RJob sort order. Values: R most relevant, DD most recent.
offsetqueryintegermin 0, default 0Page offset for list results. Use 0 or omit it for the first page. When the response has pagination.hasMore=true, request the next page with offset=<pagination.nextOffset>.
limitqueryintegermin 1, max 100, default 10Maximum items to return. The schema shows the allowed min/max for this endpoint. LinkedIn may return fewer; check pagination.returned.

Response codes

CodeMeaning
200Successful v2 response envelope.
400Invalid input
401Missing or invalid API key
404Resource not found
409Cookie pool unavailable
422Validation error
429Rate limited
502Upstream response could not be normalized
503Upstream unavailable

Pagination

This endpoint returns the standard pagination object. While pagination.hasMore is true, request the next page with pagination.nextOffset. See Pagination.