LinkedIn Job search

Search job postings by keyword and location, with salary and seniority filters

Starting price
$0.0017 /record
Offers
1 same output format
Max queries per request
100

Endpoint

One endpoint for every offer below. Omit provider and the router picks with automatic failover — the response's served_by tells you which one ran.

POSThttps://api.socialrouter.io/v1/extract/linkedin/job.search

Offers

Every offer below returns the same normalized output, in failover order — the first one serves unless you pin another with the provider field.

  • brightdata/linkedinvia Bright Datadefault route

    Up to 100 queries per request

    $0.0017per record

Parameters

JSON body of the request. Unknown fields and unknown options are rejected with the valid list, so a wrong guess costs nothing.

ParameterTypeDescription
queriesRequiredstring[]Search queries to process. Accepted shape:A job title or keyword, as you would type it in LinkedIn's job search — Quote a phrase ("product manager") for an exact match. The `location` option is required: LinkedIn scopes a job search to a place.Example: product managerA single query string is accepted too.
providerOptionalstringPin one offer, e.g. brightdata/linkedin. Omit it and the router picks with failover.
limitOptionalintegerMax records to return per query.
optionsOptionalobjectService-specific options, listed below.
options.locationOptionalstringWhere to search, as LinkedIn spells it: a city, region or country, e.g. "Paris", "Greater London", "United States". LinkedIn scopes a job search to a place, so a keyword on its own is not a search.
options.countryOptionalISO 3166-1 alpha-2Two-letter country code narrowing the location, e.g. "FR", "US".
options.timeRangeOptionalPast 24 hours | Past week | Past month | Any timeOnly return listings posted within this window.
options.jobTypeOptionalFull-time | Part-time | Contract | Temporary | Internship | Volunteer | OtherEmployment type.
options.experienceLevelOptionalInternship | Entry level | Associate | Mid-Senior level | Director | ExecutiveSeniority of the role.
options.remoteOptionalRemote | On-site | HybridWork arrangement.
options.companyOptionalstringOnly return listings from this company.
options.locationRadiusOptionalstringHow far around `location` to search, in LinkedIn's own units, e.g. "25 mi".
options.selectiveSearchOptionalbooleanDrop listings whose title does not contain the keyword. Fewer results, tighter match, fewer billed records. Defaults to false.

Output

Each record has the fields below, whichever offer serves the request. Offers may include additional platform-specific fields on top.

  • titlestring

    Job title

  • companystring

    Hiring company

  • locationstring

    Job location (or "Remote")

  • job_idstring

    LinkedIn job posting id

  • job_seniority_levelstring

    Seniority of the role

  • job_employment_typestring

    Full-time, Contract, …

  • job_base_pay_rangestring

    Salary range as LinkedIn renders it

  • base_salaryobject

    Structured pay: min, max, currency, period

  • job_num_applicantsnumber

    Applicants so far

  • posted_dateiso8601

    When the posting was published

  • discovery_keywordstring

    The query this listing answered

  • sourcestring

    Platform the record was extracted from (e.g. "linkedin")

  • extracted_atiso8601

    UTC timestamp when the record was produced

Going further

Auth, error semantics, and every other endpoint live in the API reference — including the machine-readable OpenAPI spec at /v1/openapi.json.

Frequently asked questions

How much does LinkedIn job search cost?

Prices start at $0.0017 per record, depending on the offer that serves the request. You are only charged for records actually returned.

Which offers serve linkedin/job.search?

brightdata/linkedin — 1 offer is available behind the same endpoint. Pin one with the optional "provider" field, or omit it and the router picks with automatic failover. The response's "served_by" field names the offer that ran.

What input does it need?

The "queries" field of the JSON body, as an array of strings: A job title or keyword, as you would type it in LinkedIn's job search — Quote a phrase ("product manager") for an exact match. The `location` option is required: LinkedIn scopes a job search to a place.. For example: product manager

Is the output format the same for every offer?

Yes. Every offer returns the normalized record schema documented on this page; some add extra platform-specific fields on top, but the documented fields are always present.

How many queries can I send per request?

Up to 100 queries in a single request, depending on the offer.

What happens if an offer fails?

SocialRouter automatically fails over to the next offer serving the same service, so a single upstream outage doesn't break your integration.

What options does it take?

location (string): Where to search, as LinkedIn spells it: a city, region or country, e.g. "Paris", "Greater London", "United States". LinkedIn scopes a job search to a place, so a keyword on its own is not a search. country (string): Two-letter country code narrowing the location, e.g. "FR", "US". timeRange (Past 24 hours|Past week|Past month|Any time): Only return listings posted within this window. jobType (Full-time|Part-time|Contract|Temporary|Internship|Volunteer|Other): Employment type. experienceLevel (Internship|Entry level|Associate|Mid-Senior level|Director|Executive): Seniority of the role. remote (Remote|On-site|Hybrid): Work arrangement. company (string): Only return listings from this company. locationRadius (string): How far around `location` to search, in LinkedIn's own units, e.g. "25 mi". selectiveSearch (boolean): Drop listings whose title does not contain the keyword. Fewer results, tighter match, fewer billed records.

Related services

Get linkedin job search into your app or your AI agent

$1 in free credits to test it — no credit card, no commitment.