How to pull every job from a company careers page, whatever ATS it runs on

Last updated

Maintained by Datapika · We publish this product under the openclawai account on Apify. Product reference

Four applicant tracking systems publish free public job board APIs that need no key: Greenhouse (boards-api.greenhouse.io), Lever (api.lever.co/v0/postings), Ashby (api.ashbyhq.com/posting-api) and SmartRecruiters (api.smartrecruiters.com/v1/companies), checked September 7, 2026. Workday, iCIMS, SuccessFactors, Taleo and Oracle publish none, and each renders jobs through a tenant-specific site. Datapika's Career Site and ATS Jobs Scraper on Apify takes any careers URL or a company name, detects the ATS among 70 plus adapters, and returns every open role with a Markdown description at $0.005 per job.

Which ATS platforms have a public jobs API?

Greenhouse documents a Job Board API at boards-api.greenhouse.io/v1/boards/{board_token}/jobs; its docs state that job board data is publicly available, so authentication is not required for any GET endpoint, and appending content=true adds the full description, department and office to each job (docs.greenhouse.io, checked September 7, 2026). Lever's Postings API at api.lever.co/v0/postings/{site}?mode=json returns a company's open roles the same way. Ashby exposes api.ashbyhq.com/posting-api/job-board/{name}, and SmartRecruiters exposes api.smartrecruiters.com/v1/companies/{identifier}/postings. All four are free and keyless; the only thing you need is the company's slug.

The other half of the market has no read API. Workday tenants serve jobs from a per-company myworkdayjobs.com site through an internal search call; iCIMS, SAP SuccessFactors, Oracle Recruiting, Taleo, Phenom and Eightfold each render a careers site with its own internal endpoints. Large employers such as Amazon, Apple, Google, Meta, TikTok and Uber run in-house career sites. Each of those needs its own adapter, and every adapter breaks on its own schedule.

  • Public, keyless: Greenhouse Job Board API, Lever Postings API, Ashby Posting API, SmartRecruiters Postings API
  • Greenhouse: content=true returns the full description, department and office per job
  • No public API: Workday, iCIMS, SuccessFactors, Oracle Recruiting, Taleo, Phenom, Eightfold
  • In-house career sites: Amazon, Apple, Google, Meta, TikTok, Uber
  • Slugs differ per system: a board token, a site name, a company identifier or a full tenant URL

How does one scraper cover 70 plus applicant tracking systems?

Paste any careers URL into queries and the actor detects the ATS from the host and path, picks the matching adapter and calls that system's public listing endpoint, or, where none exists, the internal call the careers site itself uses. A company name works too: the actor looks the company up in a directory of known careers sites, prefers an exact name match, and falls back to a hint row rather than a wrong company when nothing matches. Supported systems include Workday, Greenhouse, Lever, Ashby, SmartRecruiters, SuccessFactors, iCIMS, Taleo, Oracle, Phenom, Eightfold, Personio, Workable, Recruitee and Teamtailor, plus the in-house career sites of Amazon, Apple, Google, Meta, TikTok and Uber.

Every job lands in one flat schema whichever system produced it: job_id in the form ats:id, company, title, location, is_remote, url, apply_url, posted_at, employment_type, department, team, salary_min, salary_max, salary_currency, salary_period, salary_summary, experience, country_iso, region, requisition_id, application_deadline, language, ats, careers_url and, with includeDescription on, the description as Markdown. Filters for keywords, locations and remoteOnly are applied before rows are written, and maxJobsPerCompany caps each company.

  • Input: careers URLs or company names, one per line; the ATS is detected automatically
  • 70 plus adapters: public APIs where they exist, the site's own internal calls where they do not
  • One schema for every system, with the ats field naming the source
  • Descriptions in Markdown, included in the per-job price
  • Unsupported career sites return a free hint row, never a wrong company

How much does an ATS jobs scraper cost on Apify?

The table records store figures as shown on September 7, 2026. fantastic-jobs lists separate Greenhouse and Workday actors at $1.20 per 1,000 jobs, with 794 and 629 users. jobo.world's ats-jobs-api lists $1.30 per 1,000 with 680 users and a 4.58 rating from 3 reviews. bovi's Greenhouse, Lever and Ashby scraper lists $1.45 per 1,000 job results with 373 users. memo23's career-site actor, 115 users at a 5.0 rating from 5 reviews, charges $0.002 per additional-data event.

Datapika charges $5 per 1,000 jobs as a single event, the highest per row in the table, and includes the full Markdown description, company-name lookup and the widest system coverage in one input shape. If you only need Greenhouse boards, a single-system actor at $1.20 is the cheaper buy; if your list mixes Workday, SuccessFactors and iCIMS tenants with Greenhouse boards, one actor with one schema saves the integration work.

  • fantastic-jobs/greenhouse-jobs-api and workday-jobs-api: $1.20 per 1,000 jobs each, single system
  • jobo.world/ats-jobs-api: $1.30 per 1,000 jobs, 680 users, 4.58 rating from 3 reviews
  • bovi/greenhouse-lever-ashby-job-scraper: $1.45 per 1,000 job results, 373 users
  • Datapika: $5 per 1,000 jobs, 70 plus systems, descriptions included, company-name lookup, published September 2026
Ways to read jobs from company careers pages, figures as shown September 7, 2026
OptionPriceSystemsNeedsNotes
Greenhouse Job Board API (official)FreeGreenhouse onlyBoard tokenPublic GET, content=true for descriptions
Lever Postings API (official)FreeLever onlySite namePublic GET, mode=json
Ashby Posting API (official)FreeAshby onlyJob board namePublic GET
SmartRecruiters Postings API (official)FreeSmartRecruiters onlyCompany identifierPublic GET
Workday, iCIMS, SuccessFactors, Taleo, OracleNo public APIPer-tenant careers sitesCustom adapter per systemInternal calls change without notice
Datapika Career Site & ATS Jobs Scraper$5 / 1,000 jobs70+ including all of the aboveApify accountDescriptions included, company-name lookup, one schema
fantastic-jobs/greenhouse-jobs-api$1.20 / 1,000 jobsGreenhouseApify account794 users, 4.35 (2)
fantastic-jobs/workday-jobs-api$1.20 / 1,000 jobsWorkdayApify account629 users, 5.0 (1)
jobo.world/ats-jobs-api$1.30 / 1,000 jobsSeveralApify account680 users, 4.58 (3)
bovi/greenhouse-lever-ashby-job-scraper$1.45 / 1,000 job resultsGreenhouse, Lever, AshbyApify account373 users

Sources you can inspect

Product documentation and implementation references. These references describe supported options and billing, not independent proof of performance. Confirm current details before running; examples and estimates are not guarantees.

How to do it

  1. 1.If every target runs Greenhouse, Lever, Ashby or SmartRecruiters, call the public API directly with the company's slug; no key is needed.
  2. 2.For a mixed list, open https://apify.com/openclawai/career-site-ats-jobs-scraper and paste careers URLs or company names into queries, one per line.
  3. 3.Add keywords, locations or remoteOnly to filter at the source, set maxJobsPerCompany, and keep includeDescription on for Markdown descriptions.
  4. 4.Run it and export JSON or CSV; schedule it daily and diff job_id to catch new roles, or connect it through MCP so an agent can check who is hiring.
Run the Career Site & ATS Jobs Scraper

Questions, answered

Does Workday have a public jobs API?

No. Workday tenants serve jobs from a per-company site on myworkdayjobs.com through an internal search call that is not documented for public use. Greenhouse, Lever, Ashby and SmartRecruiters do publish free public listing endpoints. The scraper handles both kinds through one input.

Is the Greenhouse Job Board API free?

Yes. Greenhouse's documentation states that job board data is publicly available and that no authentication is required for any GET endpoint; only the application POST needs Basic Auth. Use boards-api.greenhouse.io/v1/boards/{board_token}/jobs?content=true for full descriptions, checked September 7, 2026.

How much does it cost to scrape a company's careers page?

$0.005 per job row, so 1,000 jobs cost $5, with Markdown descriptions included. A company on an unsupported career site returns a free hint row. Single-system actors on the Apify Store list from $1.20 per 1,000 jobs as of September 7, 2026.

Can I search by company name instead of a URL?

Yes. Company names are looked up in a directory of known careers sites; an exact name match wins, corporate suffixes such as Inc are ignored, and a name with no confident match returns a hint rather than a wrong company. A careers URL is always the most precise input.

Are salaries included?

When the careers site lists them. Rows carry salary_min, salary_max, salary_currency, salary_period and salary_summary as shown on the posting, and null otherwise. Ashby and Greenhouse boards often show ranges; Workday tenants usually do not.

How is this different from the multi-board job scraper?

The job board scraper searches keywords across LinkedIn, Indeed, Glassdoor and other boards. This actor starts from the employer: give it a careers page and it returns every open role that company lists, including roles that never reach a job board.

Keep reading