# LinkedIn Jobs API Reference

Canonical: https://monsterapi.co/docs/api/linkedin-jobs

Read the LinkedIn Jobs reference. Review parameters, response fields, examples, and current credit prices.

OpenAPI specification: [LinkedIn](https://monsterapi.co/docs/openapi/platforms/linkedin.yaml).

---

Current operation prices: [public catalog](https://monsterapi.co/account/api/v1/public/api-prices). Prices use credits per request.

---

# LinkedIn: Job search results

`GET /linkedin/api/jobs`

Documentation: https://monsterapi.co/docs/api/linkedin#job-search-results

Operation ID: `linkedin_jobs_search`

Returns up to ten job summaries per page; continue with `next_cursor` as `cursor` on this endpoint with the same filters. The `job_type` and `experience` filters are temporarily unavailable; valid values receive 500 `upstream_shape` and a billing refund.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `keywords` (query, optional): Free text matched against title, skills and employer: up to 256 letters, digits,
  punctuation and spaces, not spaces alone.

- `location` (query, optional): Location as a person would write it, in the same alphabet as `keywords`. `geo_id` is more
  precise and wins over it.

- `geo_id` (query, optional): Optional decimal location identifier below 2^64 from `hits[].id` in [GET
  /typeahead/geo](https://monsterapi.co/docs/api/linkedin#location-company-and-keyword-autocomplete). Takes precedence over `location`.

- `company_id` (query, optional): Optional decimal employer identifier below 2^64 from `hits[].id` in [GET
  /typeahead/company](https://monsterapi.co/docs/api/linkedin#location-company-and-keyword-autocomplete).

- `date_posted` (query, optional): How recently the posting appeared.

- `workplace` (query, optional): Where the work happens.

- `job_type` (query, optional): Employment type filter. Temporarily unavailable: valid values receive 500 `upstream_shape` and a billing
  refund.

- `experience` (query, optional): Seniority filter. Temporarily unavailable: valid values receive 500 `upstream_shape` and a billing refund.

- `salary` (query, optional): Lowest base salary bucket, in US dollars per year.

- `distance_miles` (query, optional): Search radius around the location, in miles, from 0 to 2147483647.

- `easy_apply` (query, optional): Keep only postings that are applied to without leaving LinkedIn.

- `early_applicant` (query, optional): Compatibility alias of `under_10_applicants`. Either parameter set to true enables the filter; false does
  not negate the other parameter.

- `under_10_applicants` (query, optional): Under 10 applicants filter. True enables it; false or omission leaves it disabled unless `early_applicant`
  is true.

- `sort` (query, optional): Order of the result set. Relevance when absent.

- `cursor` (query, optional): Optional next_cursor from [GET /jobs](https://monsterapi.co/docs/api/linkedin#job-search-results) or [GET /jobs/search](https://monsterapi.co/docs/api/linkedin#job-search-overview). Pass unchanged as cursor with the same filters; omit for the first page. Accepted offsets are whole numbers from 0 through 999; other values receive 400.

## Responses

- 200: Requested information.

- 400: `bad_request`: an invalid filter, malformed cursor or offset outside the accepted range.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: `not_found`: the requested job results are not available.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: `upstream_shape`: job_type or experience is temporarily unavailable, or job result information is unavailable or incomplete. Public billing refunds this 500.

- 501: `requires_auth`: access requires authentication or is restricted.

- 503: `rate_limited`: request frequency is limited; `upstream_error`: information is temporarily unavailable; `no_proxies`: this resource is temporarily unreachable; `overloaded`: request capacity is exhausted; `upstream_stale`: access configuration is temporarily unavailable. A later request may succeed.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/linkedin/api/jobs' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# LinkedIn: Job search overview

`GET /linkedin/api/jobs/search`

Documentation: https://monsterapi.co/docs/api/linkedin#job-search-overview

Operation ID: `linkedin_job_search_page_read`

Returns up to 60 job summaries, result counts and filter choices; use `next_cursor` as `cursor` in [GET /jobs](https://monsterapi.co/docs/api/linkedin#job-search-results) with the same filters. The `job_type` and `experience` filters are unavailable and receive 500 `upstream_shape` with a billing refund.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `keywords` (query, optional): Free text matched against title, skills and employer: up to 256 letters, digits,
  punctuation and spaces, not spaces alone.

- `location` (query, optional): Location as a person would write it, in the same alphabet as `keywords`. `geo_id` is more
  precise and wins over it.

- `geo_id` (query, optional): Optional decimal location identifier below 2^64 from `hits[].id` in [GET
  /typeahead/geo](https://monsterapi.co/docs/api/linkedin#location-company-and-keyword-autocomplete). Takes precedence over `location`.

- `company_id` (query, optional): Optional decimal employer identifier below 2^64 from `hits[].id` in [GET
  /typeahead/company](https://monsterapi.co/docs/api/linkedin#location-company-and-keyword-autocomplete).

- `date_posted` (query, optional): How recently the posting appeared.

- `workplace` (query, optional): Where the work happens.

- `job_type` (query, optional): Employment type filter. Temporarily unavailable: valid values receive 500 `upstream_shape` and a billing
  refund.

- `experience` (query, optional): Seniority filter. Temporarily unavailable: valid values receive 500 `upstream_shape` and a billing refund.

- `salary` (query, optional): Lowest base salary bucket, in US dollars per year.

- `distance_miles` (query, optional): Search radius around the location, in miles, from 0 to 2147483647.

- `easy_apply` (query, optional): Keep only postings that are applied to without leaving LinkedIn.

- `early_applicant` (query, optional): Compatibility alias of `under_10_applicants`. Either parameter set to true enables the filter; false does
  not negate the other parameter.

- `under_10_applicants` (query, optional): Under 10 applicants filter. True enables it; false or omission leaves it disabled unless `early_applicant`
  is true.

- `sort` (query, optional): Order of the result set. Relevance when absent.

## Responses

- 200: Requested information.

- 400: `bad_request`: a filter outside its accepted values.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: `not_found`: no matching jobs are available.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: `upstream_shape`: job_type or experience is temporarily unavailable, or job search information is unavailable or incomplete. Public billing refunds this 500.

- 501: `requires_auth`: access requires authentication or is restricted.

- 503: `rate_limited`: request frequency is limited; `upstream_error`: information is temporarily unavailable; `no_proxies`: this resource is temporarily unreachable; `overloaded`: request capacity is exhausted; `upstream_stale`: access configuration is temporarily unavailable. A later request may succeed.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/linkedin/api/jobs/search' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# LinkedIn: Job details by URL

`GET /linkedin/api/jobs/view`

Documentation: https://monsterapi.co/docs/api/linkedin#job-details-by-url

Operation ID: `linkedin_job_view_read`

Returns job details, salary, application information and related jobs for the complete `url` from a job search result. Preserve its country hostname and query parameters; an expired job receives 404 `not_found`.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `url` (query, required): Required complete HTTPS URL from `jobs[].url` in [GET /jobs](https://monsterapi.co/docs/api/linkedin#job-search-results) or [GET /jobs/search](https://monsterapi.co/docs/api/linkedin#job-search-overview). Hosts: www, de, uk, ca, es, fr, is, ee, aq, ph, ch.linkedin.com; path /jobs/view/{slug}-{id}. Up to 4096 bytes; no credentials, port or fragment; query parameters are preserved.

## Responses

- 200: Requested information.

- 400: `bad_request`: URL is missing, too long, has an unsupported host or scheme, credentials, port or fragment, or lacks the job slug and numeric identifier.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: `not_found`: the job is absent or expired.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: `upstream_shape`: job details are unavailable or incomplete.

- 501: `requires_auth`: access requires authentication or is restricted.

- 503: `rate_limited`: request frequency is limited; `upstream_error`: information is temporarily unavailable; `no_proxies`: this resource is temporarily unreachable; `overloaded`: request capacity is exhausted; `upstream_stale`: access configuration is temporarily unavailable. A later request may succeed.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/linkedin/api/jobs/view' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```

---

# LinkedIn: Job posting by ID

`GET /linkedin/api/jobs/{id}`

Documentation: https://monsterapi.co/docs/api/linkedin#job-posting-by-id

Operation ID: `linkedin_job_detail`

Returns job details and application information for numeric `id`. Closed postings may still be returned, with their application status in `closed_text`.

## Authentication

Send your billing API key in the `Authorization: Bearer <YOUR_API_KEY>` header. Your account login is separate.

## Inputs

- `id` (path, required): Required decimal job identifier from `jobs[].id` in [GET /jobs](https://monsterapi.co/docs/api/linkedin#job-search-results) or [GET /jobs/search](https://monsterapi.co/docs/api/linkedin#job-search-overview). The number must be below 2^64.

## Responses

- 200: Requested information.

- 400: `bad_request`: id is not decimal digits representing a number below 2^64.

Refused at the gateway: the request target, path and query string together, is longer than 8,192 bytes; or the headers, the target counted among them, exceed 16,384 bytes or 64 fields

- 401: #/components/responses/GatewayUnauthorized

- 402: #/components/responses/GatewayPaymentRequired

- 403: #/components/responses/GatewayForbidden

- 404: `not_found`: the job posting is not available.

- 405: `method_not_allowed`: the endpoint answers GET alone, and any other method, HEAD included, is refused

Refused at the gateway: the path exists, but no operation on it takes the method of the request, HEAD included; `Allow` names the methods that do

- 409: #/components/responses/GatewayConflict

- 429: #/components/responses/GatewayTooManyRequests

- 500: `upstream_shape`: job posting information is unavailable or incomplete.

- 501: `requires_auth`: access requires authentication or is restricted.

- 503: `rate_limited`: request frequency is limited; `upstream_error`: information is temporarily unavailable; `no_proxies`: this resource is temporarily unreachable; `overloaded`: request capacity is exhausted; `upstream_stale`: access configuration is temporarily unavailable. A later request may succeed.

Refused at the gateway: the check could not complete, the account is suspended, or the platform did not answer; each may pass later, and `Retry-After` comes only when the platform did not answer

## Credits

Check the live price in the documentation before sending. Platform 2xx and 4xx responses can use credits, including empty data. Gateway refusals and 5xx responses do not use credits. Each pagination request is a separate call.

https://monsterapi.co/docs/pricing

## Request template

Replace path placeholders and add the required query parameters from the Inputs section before sending.

```shell

curl --get 'https://api.monsterapi.co/linkedin/api/jobs/{id}' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'

```
