Back to LinkedIn
Apify·LinkedIn
Linkedin Jobs Scraper
/curious_coder/linkedin-jobs-scraperasync$0.0026 / resultScrape Linkedin jobs from jobs search results using search URLs or filters. Get full job details, job poster and company details. Runs as an Apify actor (20–120 s); results are dataset rows.
Charged per returned row plus the flat fee.
Input
| Field | Type | Required | Description |
|---|---|---|---|
| urls | array | — | Go to [public linkedin jobs search page](https://www.linkedin.com/jobs/search/) on incognito window (to access public version), search with required filters and once you are done, copy the full URL from address bar and pass it here. You can pass multiple search URLs. When URLs are provided, the AI (default []) |
| keywords | string | — | Job title, skills, or free-text search (e.g. "software engineer remote"). Used only when the URLs list above is empty. |
| location | string | — | City, region, or country as you would type it on LinkedIn (e.g. "United States", "London, United Kingdom", "Remote"). |
| geoId | string | — | Optional LinkedIn geoId for precise location targeting (found in a LinkedIn search URL as `geoId=`). Overrides free-text location when LinkedIn resolves it. |
| distance | integer | — | Search radius in miles around the location. Leave empty for LinkedIn's default. |
| datePosted | string (anyTime, past24Hours, pastWeek, pastMonth) | — | Only return jobs posted within this window. (default "anyTime") |
| companyIds | array | — | LinkedIn numeric company IDs (from a company URL or `f_C=` in a search URL), e.g. "1441" for Google. (default []) |
| under10Applicants | boolean | — | Only jobs with fewer than 10 applicants. (default false) |
| autoConvertToAiSearch | boolean | — | LinkedIn is now forcing AI job search which removed many classic filters (experience, job type, workplace, salary, sort, etc.) When this option is enabled, the filters in old search URLs are converted to natural language and appended to search keywords. Date posted, Company, Easy apply, and Under 1 (default true) |
| scrapeCompany | boolean | — | This will require additional scraping requests for each job record and take longer to scrape (default true) |
| limitPerSource | integer | — | Maximum number of jobs to scrape from each input URL (or from the AI search filters when no URLs are provided). Leave empty to scrape as many as LinkedIn returns for each search (up to ~1000). |
| splitByLocation | boolean | — | Enable this to split your search by cities within a country. This helps bypass LinkedIn's 1000 job limit per search URL by creating separate searches for each city. This will overwrite the location filter in input search URLs. (default false) |
| splitCountry | string (US, CA, MX, GB, DE, FR, NL, CH, …) | — | Select the country whose cities will be used to split the search. Only used when 'Split search by city locations' is enabled. Required to when 'Split search by city locations' is enabled. |
Run it
curl -s https://sooma.dev/v1/run \
-H "Authorization: Bearer $SOOMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"apify","endpoint":"/curious_coder/linkedin-jobs-scraper","input":{}}'
Or ask your agent: it will call inspect for this schema and run it over MCP.