Career Site Jobs Scraper - Greenhouse, Lever, Ashby, Workday avatar

Career Site Jobs Scraper - Greenhouse, Lever, Ashby, Workday

Pricing

from $0.90 / 1,000 job postings

Go to Apify Store
Career Site Jobs Scraper - Greenhouse, Lever, Ashby, Workday

Career Site Jobs Scraper - Greenhouse, Lever, Ashby, Workday

Career site jobs scraper and ATS jobs API alternative: extract job postings from Greenhouse, Lever, Ashby and Workday boards with title, department, locations, remote flag, employment type, salary range, posting date, apply URL and description. Company URLs or names, no login or API key.

Pricing

from $0.90 / 1,000 job postings

Rating

0.0

(0)

Developer

CrawlKit

CrawlKit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 minutes ago

Last modified

Share

Scrape job postings from company career sites hosted on Greenhouse, Lever, Ashby and Workday. Give the Actor a list of career page URLs or company names; it returns one flat JSON record per open job, with title, department, locations, remote flag, employment type, salary range (when the employer publishes one), posting date, apply URL and the full description as text and HTML.

The data comes from the public JSON endpoints these applicant tracking systems (ATS) serve to their own job boards. No login, no API key, no browser.

What it does

  • Detects the ATS from each URL: boards.greenhouse.io, job-boards.greenhouse.io, jobs.lever.co, jobs.ashbyhq.com, <tenant>.wdN.myworkdayjobs.com/<site>.
  • Also accepts greenhouse:airbnb / lever:spotify / ashby:ramp, a bare board name (stripe, looked up on Greenhouse, then Lever, then Ashby), or a company's own careers page URL, which is read once (if its robots.txt allows it) to find a link to one of these job boards.
  • Reads every open job of each board, newest first on Greenhouse, Lever and Ashby, and fetches the job detail where the list does not carry it (Greenhouse: offices, departments, pay ranges, description; Workday: description, locations, date).
  • Optional filters: words in the job title, location text, remote only, posted within N days.
  • Normalizes everything to one schema: ISO 8601 UTC dates, remote boolean, workplaceType (remote / hybrid / onsite), numeric salary with separate currency and period.
  • Deduplicates on (platform, jobId).
  • A company that cannot be read (unknown board, refused request) is reported in the log and the run continues with the others. The run fails with an explicit reason only when no job at all is returned (board not found, blocked, no job matching the filters).

Input

ParameterTypeRequiredDefaultDescription
companiesarray of stringsYes-Career site URLs (Greenhouse, Lever, Ashby, Workday), platform:slug values, bare board names, or company careers page URLs. Workday URLs must include the site name, e.g. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite.
keywordstringNo-Only jobs whose title contains every word (case-insensitive).
locationstringNo-Only jobs with a location containing this text, e.g. London, Germany. remote also matches jobs flagged remote.
remoteOnlybooleanNofalseOnly remote jobs.
postedWithinDaysintegerNo-Only jobs first published in the last N days. Jobs without a date are excluded when set.
includeDescriptionbooleanNotrueInclude descriptionText and descriptionHtml.
maxItemsintegerNo20Maximum jobs in total, shared across companies: each company gets an equal share, and the share a company does not use passes to the next ones.

Example:

{
"companies": [
"https://boards.greenhouse.io/airbnb",
"https://jobs.lever.co/spotify",
"ramp",
"https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"
],
"keyword": "engineer",
"postedWithinDays": 14,
"maxItems": 100
}

Output

One dataset item per job (description shortened here):

{
"jobId": "6232541004",
"requisitionId": "2676",
"title": "Customer Enablement Manager - Figma Weave (New York, United States)",
"company": "Figma",
"companyId": "figma",
"platform": "greenhouse",
"department": "Figma Weave",
"team": null,
"location": "New York, NY • United States",
"locations": ["New York, NY • United States", "Canada", "US"],
"remote": false,
"workplaceType": null,
"employmentType": null,
"salaryMin": 127000,
"salaryMax": 269000,
"salaryCurrency": "USD",
"salaryPeriod": "YEAR",
"postedAt": "2026-10-27T20:24:36Z",
"updatedAt": "2026-10-27T20:24:36Z",
"applyUrl": "https://boards.greenhouse.io/figma/jobs/6232541004?gh_jid=6232541004",
"jobUrl": "https://boards.greenhouse.io/figma/jobs/6232541004?gh_jid=6232541004",
"descriptionText": "Figma is growing our team of passionate creatives and builders on a mission to make design accessible to all. ...",
"descriptionHtml": "<div class=\"content-intro\"><p>Figma is growing our team of passionate creatives ...",
"source": "figma",
"scrapedAt": "2026-10-28T06:45:37Z"
}

Field availability by ATS:

FieldGreenhouseLeverAshbyWorkday
department / teamdepartmentbothboth-
workplaceTypewhen the employer sets ityesyeswhen the site publishes it
employmentTypewhen the employer sets ityesyesyes
salarywhen the employer publishes a pay rangewhen the employer publishes a pay rangewhen the employer publishes compensation-
postedAtdate and timedate and timedate and timedate only
updatedAtyes---
requisitionIdyes--yes

company is the company name on Greenhouse and the board name (slug or Workday tenant) on the other platforms.

Pricing

Pay-per-event, no start fee: $1.50 per 1,000 jobs on the Apify Free plan, lower on paid plans.

EventFreeStarterScaleBusinessEnterprise
JOB (one job pushed to the dataset)$1.50$1.30$1.10$0.90$0.90

Prices in USD per 1,000 events. Only jobs returned are charged; a company that cannot be read costs nothing. When the maximum cost per run you set is reached, the run stops cleanly with the jobs already collected.

Limitations

  • Only career sites hosted on Greenhouse, Lever, Ashby and Workday. Other systems (SmartRecruiters, iCIMS, Taleo, SuccessFactors...) are not supported. A careers page on the company's own domain works only if it links to one of the four job boards in its HTML (pages built entirely in JavaScript may not).
  • A bare company name is matched against the board name, which is not always the company name (Greenhouse uses airbnb, but some companies use another slug). When a name finds nothing, use the job board URL.
  • Workday sites cannot be found from a name: give the full URL with the site name. Workday returns the posting date without a time and has no department or salary fields (some employers write the pay range in the description).
  • Salary fields are filled only when the ATS publishes a structured pay range (Greenhouse pay transparency, Lever salary range, Ashby compensation). Ranges written only in the description text are not parsed. For Greenhouse ranges with several zones, the widest range in the first listed currency is returned, and the period is read from the range title or, failing that, inferred from the amount.
  • keyword matches the job title only, not the description. On Workday it is also sent to the site's own search, so results follow Workday's relevance order.
  • Greenhouse, Lever and Ashby list all open jobs of a board; very large Workday sites are read 20 jobs per page, up to 2,000 jobs per site.
  • Jobs reflect what the board publishes at run time; closed jobs disappear from the boards and are not returned.