ATS Job Postings Scraper - 6 Platforms, Auto-Detect avatar

ATS Job Postings Scraper - 6 Platforms, Auto-Detect

Pricing

from $5.00 / 1,000 results

Go to Apify Store
ATS Job Postings Scraper - 6 Platforms, Auto-Detect

ATS Job Postings Scraper - 6 Platforms, Auto-Detect

Scrape live job postings from Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee & Workable. Auto-detects each company's ATS. One schema, no API key, export CSV.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Brandt May

Brandt May

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

ATS Job Postings Scraper - Greenhouse, Lever, Ashby & 3 More in One Run

Paste a company name, get its live job postings. This ATS job postings scraper figures out the platform for you.

What it does

This ATS job postings scraper pulls live job postings straight from company career boards across six applicant tracking systems - Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, and Workable - and normalizes every result into one schema. Give it a company name or slug and it auto-detects which ATS that company uses, then queries the public ATS job-board APIs (the same endpoints behind the careers page) with no API key required. Filter by role title, location, or remote-only, optionally attach the full job description, and export the dataset to CSV, JSON, Excel, or Google Sheets. Because it turns live openings into structured data, it doubles as a hiring signals scraper for sales prospecting and labor-market research.

Unlike single-platform tools (a Greenhouse jobs scraper, a Lever job scraper, an Ashby jobs API wrapper), you don't have to know the ATS or hunt for board tokens up front - one run covers all six.

Who it's for

  • Recruiters and sourcers building candidate pipelines from live career-board openings
  • Job boards and aggregators ingesting normalized postings from multiple ATS platforms at once
  • Sales and BD teams using hiring signals as buying intent for prospecting
  • Labor-market researchers and analysts tracking roles, locations, employment types, and salaries
  • Job seekers monitoring target companies' openings over time

What you get / Output

One record per job posting. Fields:

FieldDescription
atsWhich ATS the posting came from (greenhouse, lever, ashby, smartrecruiters, recruitee, workable)
companyCompany name / identifier
titleJob title
departmentDepartment, where the ATS exposes it
teamTeam, where the ATS exposes it
locationLocation string as published
remoteRemote flag set by the ATS
employmentTypeFull-time, part-time, contract, etc., where available
postedAtPosting timestamp
salaryMinMinimum salary, where published
salaryMaxMaximum salary, where published
salaryCurrencyCurrency of the salary range
urlDirect link to the live posting
jobIdUnique posting ID from the source ATS
descriptionFull job description as clean text (only when descriptions are enabled)

Not every company publishes every field - department, team, salary, and employmentType depend on what the source ATS exposes.

Input / How to query

Two ways to target companies, and you can mix them in one run:

  • Auto-detect (recommended): put company slugs in Companies (e.g. stripe, spotify, ramp). The Actor tries all six platforms and finds where each company hosts its jobs - no need to know the ATS.
  • Direct per-platform lists: if you already know the platform, paste identifiers into the matching field to skip detection: Greenhouse board tokens, Lever companies, Ashby organizations, SmartRecruiters companies, Recruitee companies, Workable accounts.

Filters and options:

  • Title contains - keep only jobs whose title matches text like engineer or sales (case-insensitive)
  • Location contains - keep only jobs whose location matches text like remote or new york (case-insensitive)
  • Remote only - keep only jobs the ATS explicitly flags remote
  • Include job descriptions - attach the full description as clean text; increases output size

Example use cases

  1. Sales intent list: run 200 target-account slugs on auto-detect, filter titleContains = "sales", and hand your SDRs a list of companies actively hiring reps - a hiring signal that they're scaling.
  2. Engineering sourcing pool: pull every open role across your target companies with titleContains = "engineer" and Remote only, then export to CSV for your ATS or sourcing tool.
  3. Aggregator ingestion: feed a list of employers and get normalized postings from Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, and Workable in one schema instead of maintaining six scrapers.
  4. Compensation research: collect postings with published salary ranges (salaryMin, salaryMax, salaryCurrency) across an industry to benchmark pay by role and location.
  5. Competitor watch: track a rival's careers page over time to see which teams and locations they're staffing up.

Recurring use & scheduling

Use Apify Schedules to run this on a cron (for example daily or weekly) against a fixed company list so you always have fresh openings.

Each run writes a full snapshot of currently live postings to its dataset. To turn snapshots into a "new vs. closed" view, dedupe downstream on the stable jobId (or url) key: postings whose jobId appears in today's run but not yesterday's are new, and jobIds that dropped off are likely closed or filled. Because jobId and url are stable per posting, this diffing is reliable across runs and easy to wire into a webhook, Google Sheet, or database.

FAQ

How do I scrape job postings from Greenhouse, Lever, and Ashby in one run?

Put the company slugs in the Companies field and run. The Actor auto-detects each company's ATS across all six supported platforms - including Greenhouse, Lever, and Ashby - and returns every posting in one normalized schema. No need to run three separate scrapers or know which platform each company uses.

How do I get job postings from a company's careers page without an API key?

Enter the company slug (usually the lowercase name from its careers URL, e.g. stripe). The Actor queries the public ATS job-board endpoints that power the careers page directly - no API key, login, or token setup required from you.

How can I find which ATS a company uses automatically?

That's the default behavior. In auto-detect mode the Actor probes all six platforms for each company slug and reports the match in the ats field on every record, so you learn the platform and get the jobs in the same run.

How do I export job postings to CSV or Google Sheets?

Every run stores results in an Apify dataset. From the run's Storage tab, export to CSV, JSON, Excel, or XML in one click, or push straight to Google Sheets via Apify's integration. The API and integrations let you automate the export on a schedule.

How do I use job postings as hiring signals for sales prospecting?

Companies posting roles in a function (sales, engineering, ops) are signaling investment and growth. Run your target-account slugs, filter with Title contains, and use the resulting list of actively-hiring companies as buying-intent signals for outreach.

How do I get only new and newly-closed jobs between runs?

Schedule recurring runs and diff on the stable jobId (or url) key: IDs present in the latest run but not the previous one are new; IDs that disappeared are likely closed or filled. The Actor emits a fresh snapshot each run; the delta is a lightweight compare in your sheet, database, or webhook handler.

The Actor reads only public job-board data - the same postings any visitor sees on a company's careers page - via the platforms' own public endpoints, and collects no personal candidate data. Public job data is generally low-risk to collect, but you are responsible for your own compliance, each platform's terms, and applicable laws in your use case.

How do I get salary data from job postings?

When a company publishes a salary range, it's captured in salaryMin, salaryMax, and salaryCurrency. Coverage depends on the employer - many roles omit pay, and those fields stay empty rather than being estimated.

Data source & notes

  • Source: public job-board APIs of six ATS platforms - Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, and Workable - the same endpoints that render each company's public careers page.
  • No API key or authentication is required.
  • Coverage caveats: department, team, employmentType, and salary fields appear only when the source ATS exposes them. Job descriptions are optional (enable Include job descriptions). Only public posting data is collected - no candidate or applicant information.

Actor: maydit/ats-job-postings-scraper (ID zkwXPahBHDRl7gxHu)