π₯ LinkedIn Jobs Scraper
/bebity/linkedin-jobs-scraperasync$0.0032 / resultβΉοΈ Designed for both personal and professional use, simply enter your desired job title and location to receive a tailored list of job opportunities. Try it today! Runs as an Apify actor (20β120 s); results are dataset rows.
Charged per returned row plus the flat fee.
titlesarrayWhat to search for (e.g. Web developer). Add several β each is searched separately (up to Results per search each) and every result is tagged with the term it came from (in scrapingInfo). Leave empty for a broad search.
locationsarrayWhere to search (e.g. Paris, New York). Every title is crossed with every location β each title Γ location pair is its own search β and every result is tagged with the location it came from (in scrapingInfo).
rowsintegerHow many jobs to return per search (up to 1000). Each job title Γ location is its own search. Set 0 (the default) for all available β every search runs to its last page. The whole run is also capped by the max items / cost limit you set on the run, so use that to bound the total. (default 0)
companyNamearrayRestrict to specific companies by name (e.g. Google, NASA).
companyIdarrayRestrict to specific companies by numeric LinkedIn id (e.g. Facebook: 76987811, Uber: 1815218). Numbers only.
companyUrlsarrayFilter the search to specific companies by their LinkedIn page URL (e.g. https://www.linkedin.com/company/openai/) β often easier than finding the numeric id. Combines with your title/location filters. A numeric /company/{id} URL is used directly; a name URL is resolved automatically. (To instead sc
publishedAtstringHow recent the posting must be. (default "")
, r2592000, r604800, r86400
easyApplybooleanOnly return jobs that offer LinkedIn Easy Apply. (default false)
under10ApplicantsbooleanOnly return jobs with fewer than 10 applicants β less-competitive roles. (default false)
workTypesarrayOn-site, Remote and/or Hybrid. Pick one or more to match any of them.
contractTypesarrayFull-time, Part-time, Contract, Temporary, Internship or Volunteer. Pick one or more to match any of them.
experienceLevelsarrayInternship β Director. Pick one or more to match any of them.
industryarrayFilter by company industry β pick one or more from the list (no ids to look up). Combine several to match any of them. Filtered accurately on Linkedinβs side.
startUrlsarrayPaste LinkedIn job-search URLs (from the search page after applying filters), single job URLs, or a company page URL (e.g. https://www.linkedin.com/company/openai/) to scrape every job at that company. When provided, these drive the run and the search filters above are ignored.
maxRowsPerUrlintegerMaximum results to collect from each pasted URL above. Set 0 (the default) for all available β each URL runs to its last page. Bound the total with the run's max items / cost limit. (default 0)
enrichCompanybooleanAdd an enriched profile to each job β company size, followers, industry, description and salary source, PLUS the hiring contact's headline and photo when the posting has one. It all comes from a single lookup, so it is one premium add-on (one charge), billed on top of the base rate only for the jobs (default false)
enrichCompanyWebsitebooleanAdd each company's external website URL. Billed as its own premium add-on (it takes one extra lookup per company, fetched once and reused across that company's jobs). (default false)
| Field | Type | Required | Description |
|---|---|---|---|
| titles | array | β | What to search for (e.g. Web developer). Add several β each is searched separately (up to Results per search each) and every result is tagged with the term it came from (in scrapingInfo). Leave empty for a broad search. |
| locations | array | β | Where to search (e.g. Paris, New York). Every title is crossed with every location β each title Γ location pair is its own search β and every result is tagged with the location it came from (in scrapingInfo). |
| rows | integer | β | How many jobs to return per search (up to 1000). Each job title Γ location is its own search. Set 0 (the default) for all available β every search runs to its last page. The whole run is also capped by the max items / cost limit you set on the run, so use that to bound the total. (default 0) |
| companyName | array | β | Restrict to specific companies by name (e.g. Google, NASA). |
| companyId | array | β | Restrict to specific companies by numeric LinkedIn id (e.g. Facebook: 76987811, Uber: 1815218). Numbers only. |
| companyUrls | array | β | Filter the search to specific companies by their LinkedIn page URL (e.g. https://www.linkedin.com/company/openai/) β often easier than finding the numeric id. Combines with your title/location filters. A numeric /company/{id} URL is used directly; a name URL is resolved automatically. (To instead sc |
| publishedAt | string (, r2592000, r604800, r86400) | β | How recent the posting must be. (default "") |
| easyApply | boolean | β | Only return jobs that offer LinkedIn Easy Apply. (default false) |
| under10Applicants | boolean | β | Only return jobs with fewer than 10 applicants β less-competitive roles. (default false) |
| workTypes | array | β | On-site, Remote and/or Hybrid. Pick one or more to match any of them. |
| contractTypes | array | β | Full-time, Part-time, Contract, Temporary, Internship or Volunteer. Pick one or more to match any of them. |
| experienceLevels | array | β | Internship β Director. Pick one or more to match any of them. |
| industry | array | β | Filter by company industry β pick one or more from the list (no ids to look up). Combine several to match any of them. Filtered accurately on Linkedinβs side. |
| startUrls | array | β | Paste LinkedIn job-search URLs (from the search page after applying filters), single job URLs, or a company page URL (e.g. https://www.linkedin.com/company/openai/) to scrape every job at that company. When provided, these drive the run and the search filters above are ignored. |
| maxRowsPerUrl | integer | β | Maximum results to collect from each pasted URL above. Set 0 (the default) for all available β each URL runs to its last page. Bound the total with the run's max items / cost limit. (default 0) |
| enrichCompany | boolean | β | Add an enriched profile to each job β company size, followers, industry, description and salary source, PLUS the hiring contact's headline and photo when the posting has one. It all comes from a single lookup, so it is one premium add-on (one charge), billed on top of the base rate only for the jobs (default false) |
| enrichCompanyWebsite | boolean | β | Add each company's external website URL. Billed as its own premium add-on (it takes one extra lookup per company, fetched once and reused across that company's jobs). (default false) |
Run it
Or ask your agent: it will call inspect for this schema and run it over MCP.