Skip to main content
POST
Scrape Linkedin Jobs
Triggers a LinkedIn job search for one or more job titles and locations. The scraper builds the LinkedIn search, collects matching listings, optionally enriches each with full job and company detail, applies your exclusions, and returns structured job data. Pass a company_url (e.g. https://www.linkedin.com/company/google/) to scope the search to a single company: with titles_query it returns that company’s jobs matching your titles; on its own it returns the company’s whole job list (per-job detail fetches default off for these larger runs). Required fields depend on company_url:
  • With company_url — both titles_query and locations are optional. Omit locations and the company is scraped worldwide.
  • Without company_url — both titles_query and locations are required (a keyword search needs a where).
How rows behaves:
  • rows set — capped at that number (1–100), for any search (company or title).
  • rows omitted, company_url-only — the whole company list (up to ~1000).
  • rows omitted, title search — defaults to 50.
The pipeline runs asynchronously. Use the returned request_id to poll for results.
Timing guidance: Most searches complete within 1–4 minutes. Higher rows with include_job_details / include_company_details enabled take longer (one detail fetch per job). Poll every 15–30 seconds.

How it works

  1. Builds LinkedIn guest search URLs from your titles_query, locations, country, and filters. When company_url is set, it is resolved to LinkedIn’s numeric company id and applied as a company filter
  2. Collects job cards across the result pages up to rows (a company_url-only scrape collects the whole company list instead)
  3. Removes excluded_companies / excluded_titles / excluded_industries and de-duplicates
  4. Optionally fetches each job’s detail page (include_job_details) and company page (include_company_details)
  5. Returns structured listings plus the search URLs used

Response

The request is accepted immediately and returns a request_id — no jobs are returned here. Poll Get LinkedIn job scrape status with that id to retrieve the results.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
titles_query

Job title(s) to search. A single string, or an array that is joined into one A OR B keyword search (single request, OR'd titles). Optional when company_url is given; at least one of the two is required.

company_url
string | null

LinkedIn company URL (e.g. https://www.linkedin.com/company/google/). Resolved to a numeric company id to return that company's jobs. With titles_query it narrows to matching titles; alone it returns the whole company list. At least one of titles_query or company_url is required.

locations
string[] | null

Cities, regions, or countries to search; one search is run per location. Required unless company_url is given (a company scrape defaults to worldwide when omitted).

country
enum<string>
default:United States

Selects the LinkedIn regional domain to search (e.g. United Kingdom -> uk.linkedin.com). Countries without a dedicated subdomain use the global www.linkedin.com domain.

Available options:
Afghanistan,
Albania,
Algeria,
American Samoa,
Andorra,
Angola,
Anguilla,
Antarctica,
Antigua and Barbuda,
Argentina,
Armenia,
Aruba,
Australia,
Austria,
Azerbaijan,
Bahamas,
Bahrain,
Bangladesh,
Barbados,
Belarus,
Belgium,
Belize,
Benin,
Bermuda,
Bhutan,
Bolivia,
Bonaire, Sint Eustatius and Saba,
Bosnia and Herzegovina,
Botswana,
Bouvet Island,
Brazil,
British Indian Ocean Territory,
Brunei Darussalam,
Bulgaria,
Burkina Faso,
Burundi,
Cabo Verde,
Cambodia,
Cameroon,
Canada,
Cayman Islands,
Central African Republic,
Chad,
Chile,
China,
Christmas Island,
Cocos (Keeling) Islands,
Colombia,
Comoros,
Congo,
Congo, The Democratic Republic of the,
Cook Islands,
Costa Rica,
Croatia,
Cuba,
Curaçao,
Cyprus,
Czechia,
Côte d'Ivoire,
Denmark,
Djibouti,
Dominica,
Dominican Republic,
Ecuador,
Egypt,
El Salvador,
Equatorial Guinea,
Eritrea,
Estonia,
Eswatini,
Ethiopia,
Falkland Islands (Malvinas),
Faroe Islands,
Fiji,
Finland,
France,
French Guiana,
French Polynesia,
French Southern Territories,
Gabon,
Gambia,
Georgia,
Germany,
Ghana,
Gibraltar,
Greece,
Greenland,
Grenada,
Guadeloupe,
Guam,
Guatemala,
Guernsey,
Guinea,
Guinea-Bissau,
Guyana,
Haiti,
Heard Island and McDonald Islands,
Holy See (Vatican City State),
Honduras,
Hong Kong,
Hungary,
Iceland,
India,
Indonesia,
Iran,
Iraq,
Ireland,
Isle of Man,
Israel,
Italy,
Jamaica,
Japan,
Jersey,
Jordan,
Kazakhstan,
Kenya,
Kiribati,
Kuwait,
Kyrgyzstan,
Laos,
Latvia,
Lebanon,
Lesotho,
Liberia,
Libya,
Liechtenstein,
Lithuania,
Luxembourg,
Macao,
Madagascar,
Malawi,
Malaysia,
Maldives,
Mali,
Malta,
Marshall Islands,
Martinique,
Mauritania,
Mauritius,
Mayotte,
Mexico,
Micronesia, Federated States of,
Moldova,
Monaco,
Mongolia,
Montenegro,
Montserrat,
Morocco,
Mozambique,
Myanmar,
Namibia,
Nauru,
Nepal,
Netherlands,
New Caledonia,
New Zealand,
Nicaragua,
Niger,
Nigeria,
Niue,
Norfolk Island,
North Korea,
North Macedonia,
Northern Mariana Islands,
Norway,
Oman,
Pakistan,
Palau,
Palestine, State of,
Panama,
Papua New Guinea,
Paraguay,
Peru,
Philippines,
Pitcairn,
Poland,
Portugal,
Puerto Rico,
Qatar,
Romania,
Russian Federation,
Rwanda,
Réunion,
Saint Barthélemy,
Saint Helena, Ascension and Tristan da Cunha,
Saint Kitts and Nevis,
Saint Lucia,
Saint Martin (French part),
Saint Pierre and Miquelon,
Saint Vincent and the Grenadines,
Samoa,
San Marino,
Sao Tome and Principe,
Saudi Arabia,
Senegal,
Serbia,
Seychelles,
Sierra Leone,
Singapore,
Sint Maarten (Dutch part),
Slovakia,
Slovenia,
Solomon Islands,
Somalia,
South Africa,
South Georgia and the South Sandwich Islands,
South Korea,
South Sudan,
Spain,
Sri Lanka,
Sudan,
Suriname,
Svalbard and Jan Mayen,
Sweden,
Switzerland,
Syria,
Taiwan,
Tajikistan,
Tanzania,
Thailand,
Timor-Leste,
Togo,
Tokelau,
Tonga,
Trinidad and Tobago,
Tunisia,
Turkmenistan,
Turks and Caicos Islands,
Tuvalu,
Türkiye,
Uganda,
Ukraine,
United Arab Emirates,
United Kingdom,
United States,
United States Minor Outlying Islands,
Uruguay,
Uzbekistan,
Vanuatu,
Venezuela,
Vietnam,
Virgin Islands, British,
Virgin Islands, U.S.,
Wallis and Futuna,
Western Sahara,
Yemen,
Zambia,
Zimbabwe,
Åland Islands
rows
integer | null

Max jobs to return (1-100). Omit on a company_url-only scrape to pull the whole company list; set it to cap the count. Title searches default to 50 when omitted. Page results via limit/offset on the status endpoint.

Required range: 1 <= x <= 100
distance
string | null

Search radius in miles around each location, e.g. "25".

hours
integer | null

Only return jobs posted within the last N hours.

Required range: x >= 1
job_types
enum<string>[] | null

Filter by employment type. Unknown values are ignored.

Available options:
full-time,
part-time,
contract,
temporary,
internship,
volunteer,
other
work_types
enum<string>[] | null

Filter by on-site / remote / hybrid. Unknown values are ignored.

Available options:
on-site,
remote,
hybrid
experience_levels
enum<string>[] | null

Filter by seniority. Unknown values are ignored.

Available options:
internship,
entry level,
associate,
mid-senior level,
director
excluded_companies
string[] | null

Drop jobs whose company name matches any of these.

excluded_titles
string[] | null

Drop jobs whose title matches any of these.

excluded_industries
string[] | null

Drop jobs whose industry matches any of these.

include_company_details
boolean | null

Fetch each job's company page for extra fields (slower; one fetch per job). Default: on for a title search, off for a full company scrape.

include_job_details
boolean | null

Fetch each job's detail page for description, salary, apply URL, etc. (slower; one fetch per job). Default: on for a title search, off for a full company scrape.

Response

Successful Response

request_id
string
required
status
string
default:QUEUED