Scrape LinkedIn jobs
Search LinkedIn for jobs and extract structured listing + company data
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— bothtitles_queryandlocationsare optional. Omitlocationsand the company is scraped worldwide. - Without
company_url— bothtitles_queryandlocationsare required (a keyword search needs a where).
rows behaves:
rowsset — capped at that number (1–100), for any search (company or title).rowsomitted,company_url-only — the whole company list (up to ~1000).rowsomitted, title search — defaults to 50.
request_id to poll for results.
How it works
- Builds LinkedIn guest search URLs from your
titles_query,locations,country, and filters. Whencompany_urlis set, it is resolved to LinkedIn’s numeric company id and applied as a company filter - Collects job cards across the result pages up to
rows(acompany_url-only scrape collects the whole company list instead) - Removes
excluded_companies/excluded_titles/excluded_industriesand de-duplicates - Optionally fetches each job’s detail page (
include_job_details) and company page (include_company_details) - Returns structured listings plus the search URLs used
Response
The request is accepted immediately and returns arequest_id — no jobs are returned here. Poll Get LinkedIn job scrape status with that id to retrieve the results.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
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.
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.
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).
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.
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 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.
1 <= x <= 100Search radius in miles around each location, e.g. "25".
Only return jobs posted within the last N hours.
x >= 1Filter by employment type. Unknown values are ignored.
full-time, part-time, contract, temporary, internship, volunteer, other Filter by on-site / remote / hybrid. Unknown values are ignored.
on-site, remote, hybrid Filter by seniority. Unknown values are ignored.
internship, entry level, associate, mid-senior level, director Drop jobs whose company name matches any of these.
Drop jobs whose title matches any of these.
Drop jobs whose industry matches any of these.
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.
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.