ATS Jobs Scraper - Career Site Jobs: Greenhouse, Lever, Workday avatar

ATS Jobs Scraper - Career Site Jobs: Greenhouse, Lever, Workday

Pricing

from $0.70 / 1,000 jobs

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

ATS Jobs Scraper - Career Site Jobs: Greenhouse, Lever, Workday

Paste company career-page links (Greenhouse, Lever, Ashby, Workday and 3 more) and get every open job in one table.

Pricing

from $0.70 / 1,000 jobs

Rating

0.0

(0)

Developer

Afterstar

Afterstar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

18 days ago

Last modified

Categories

Share

Pricing: $1.00 per 1,000 jobs. On a schedule (only new jobs): $0.004 per career page checked + $1.00 per 1,000 new, changed or removed jobs.

What does ATS Jobs Scraper do?

Paste company career-page links (Greenhouse, Lever, Ashby, Workday and 3 more) and get every open job in one table. Every job comes in one clean table: company, title, department, team, locations, remote or on-site, employment type, salary (where the company publishes it), posting date, the job link, the apply link and the full description as plain text.

Run it once for a list, or schedule it to get only the new jobs each day. The tool remembers what it has seen, so a daily check costs a fraction of a cent when nothing is new.

What you get

Job systemsGreenhouse, Lever, Ashby, Workday, Workable, Recruitee and Personio, detected from each link
InputA company's careers page or its job board link; career pages are followed to the board they use
Per jobCompany, title, department, team, locations, remote, employment type, salary, dates, job and apply links, description
FiltersKeywords, location (text + country field), remote only, posting dates, minimum salary
ScheduleOnly new jobs, or new + changed + removed jobs, with a memory per saved task
Price$1.00 per 1,000 jobs; on a schedule $0.004 per career page checked

Use cases

  • Track hiring at your target companies or competitors: new roles, closed roles, pay changes.
  • Feed a job board, a newsletter or a Slack channel with fresh openings.
  • Sales and recruiting signals: which companies are hiring for what, right now.

Input

FieldWhat it does
Career pages or job board linksOne per line: a company's careers page (https://www.figma.com/careers) or its job board link (https://boards.greenhouse.io/figma, https://jobs.lever.co/spotify, any Ashby, Workable, Recruitee, Personio or Workday board)
Company namesOr type names (Stripe, Notion): looked up in our directory of 17,763 public Greenhouse, Ashby, Workable, Recruitee, Personio, Workday boards
Keywords + where to searchOnly jobs with these words in the title, or in the title and description
Posted after / beforeA date window (jobs without a date are kept)
Location contains / exclude / remote onlyMatch the location text and the country the board gives (Germany also matches a board's DE); drop places; only remote jobs
Minimum salary / only with salaryFilter by the top of the published salary range
Max jobs per boardNo fixed cap (default 10,000 per board)
Output modeAll jobs, only new jobs, or new + changed + removed jobs

Output

One row per job, with the same keys for every job system:

{
"id": "greenhouse:<company>:<job id>",
"changeType": "new",
"firstSeenAt": "2026-10-04T19:30:00Z",
"ats": "greenhouse",
"company": "…",
"title": "Senior Backend Engineer",
"department": "Engineering",
"locations": ["Berlin, Germany"],
"remote": true,
"employmentType": "FullTime",
"salaryMin": 70000,
"salaryMax": 90000,
"salaryCurrency": "EUR",
"postedAt": "2026-10-01T09:00:00Z",
"url": "…",
"applyUrl": "…",
"descriptionText": "…"
}

Every row has every key (null when the job system doesn't give a value). changeType is new, changed, unchanged or removed; a changed row lists changedFields and the previous values. Emails and phone numbers inside descriptions are replaced by [redacted] unless you switch that off. Rows have no recruiter name or contact fields.

If a board doesn't exist or doesn't answer, you get one row with changeType: "status" and a statusCode (not_found, rate_limited, source_error) instead of an error, and you're not charged for it.

Schedule it: only new jobs, every day

  1. Add your boards and save it as a task.
  2. Run it once with Baseline only switched on. It remembers today's jobs and lists nothing. Or skip this and accept that the first run lists every current job once.
  3. Set Output mode to Only new results (or New, changed and removed) and add a schedule.
  4. Connect an integration (Slack, Google Sheets, Zapier, Make, n8n), or put a webhook URL in the input.

Each saved task keeps its own memory, and switching a task between modes keeps it.

Apify webhook template (Integrations → Webhook → payload):

{"datasetUrl": "https://api.apify.com/v2/datasets/{{resource.defaultDatasetId}}/items?clean=true&format=json"}

Each run also saves a summary (OUTPUT in the run's key-value store): counts of new, changed, unchanged and removed jobs per board.

How much does it cost?

  • $1.00 per 1,000 jobs listed (on paid Apify plans 10-30% less).
  • On a schedule (only new, changed or removed jobs): $0.004 per career page checked plus $1.00 per 1,000 new, changed or removed jobs. Checking 10 boards daily with a few new jobs costs about $1.80 a month.
  • Status rows (errors) are free. Set a spending limit on the run and the tool stops there.

Good to know

  • salaryPeriod is year, month, week, day or hour, whatever word the board uses (its own wording stays in salaryText); a rare period (every 2 weeks, one-time) comes as the board wrote it.
  • "Removed" jobs are reported only when a board was fetched completely and without filters, so a hiccup never reports every job as closed.
  • Freshness: every run reads each job board live (no cache); fetchedAt on each row says when.
  • The job system is detected from each link. For a company's own careers page, the tool reads that page once and follows the job board it links to or embeds (Greenhouse, Lever, Ashby, Workable, Recruitee, Personio or Workday). Pages that build their job list in their own system (no link to one of these boards) get a free not_supported row that says so; paste the board link instead. One system failing gives a status row for its links only; the rest still run.

How it compares

Instead ofWith this tool
Checking career pages by handEvery open job of every board in one table, with the same columns for every company
A general web scraperReads the job board's own job data, so titles, locations, salaries and dates come as fields, not page text
Re-running a full export daily'Only new' mode lists just the jobs added since the last run; nothing new costs a fraction of a cent

FAQ

Which job systems does it read? Greenhouse, Lever, Ashby, Workday, Workable, Recruitee and Personio. The system is detected from each link, and you can mix them in one run.

Can I paste a company's own careers page? Yes. The tool reads that page once and follows the job board it links to or embeds. If the page uses another job system, you get a free not_supported row; paste the board link instead.

How do I get only new jobs every day? Save the input as a task, set Output mode to 'Only new results' and add a schedule. The first run can be a 'Baseline only' run, so it remembers today's jobs and lists nothing.

Does it output recruiter names or e-mails? The tool has no recruiter name or contact fields. E-mail addresses and phone numbers inside descriptions are replaced by [redacted] unless you switch that off.

What if a board doesn't exist? You get a free status row (not_found, rate_limited or source_error) and the other boards still run.

Can I get one company's jobs without a tool? Yes. Most job boards publish their open jobs as public JSON, and one company is a single request:

  • Greenhouse: https://boards-api.greenhouse.io/v1/boards/<company>/jobs?content=true
  • Lever: https://api.lever.co/v0/postings/<company>?mode=json (EU boards: api.eu.lever.co)
  • Ashby: https://api.ashbyhq.com/posting-api/job-board/<company>
  • Workday has no simple link: the careers page POSTs {"appliedFacets": {}, "limit": 20, "offset": 0, "searchText": ""} to https://<company>.<wdN>.myworkdayjobs.com/wday/cxs/<company>/<site>/jobs, 20 jobs at a time.

This tool earns its price when you follow many companies on different systems: it detects the system from each link, gives every company the same columns, pages through Workday for you, and on a schedule lists only new jobs. It costs $1.00 per 1,000 jobs; on a schedule, $0.004 per career page checked plus $1.00 per 1,000 new, changed or removed jobs.

Source: each company's public job board on Greenhouse, Lever, Ashby, Workable, Recruitee, Personio, Workday. This tool is not affiliated with or endorsed by any of these vendors.

More Afterstar tools

Found a problem or need a field? Open an issue on the Issues tab.