ATS Job Postings Scraper: Greenhouse, Lever, Ashby, Workable avatar

ATS Job Postings Scraper: Greenhouse, Lever, Ashby, Workable

Pricing

Pay per event

Go to Apify Store
ATS Job Postings Scraper: Greenhouse, Lever, Ashby, Workable

ATS Job Postings Scraper: Greenhouse, Lever, Ashby, Workable

Extracts every open role from companies on Greenhouse, Lever, Ashby, Workable, and SmartRecruiters. Normalized JSON from stable public endpoints. Recruiter and job agent ready.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Aaron Marxsen

Aaron Marxsen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

ATS Job Postings Scraper

Extract every open role from companies hosted on Greenhouse, Lever, Ashby, Workable, and SmartRecruiters. This actor reads each platform's stable public JSON endpoint, normalizes the results into one consistent schema, and returns clean postings ready for recruiting tools, hiring signal pipelines, and job search agents. No browser, no login, no fragile HTML selectors, which is why it stays cheap and rarely breaks.

Built for recruiters, job market researchers, and developers building hiring data products.

Features

  • Scrape job postings from Greenhouse, Lever, Ashby, Workable, and SmartRecruiters
  • Normalize every posting into one schema across all five platforms
  • Filter by keyword and by remote status
  • Accept career page URLs, platform:token shorthands, or bare company tokens
  • Read stable public endpoints for low maintenance and high reliability
  • Pay per posting, no subscription

Use cases

  • Aggregate open roles across a list of target companies
  • Track hiring signals for sales and market intelligence
  • Feed a job board or job search agent with fresh postings
  • Monitor a competitor's open roles on a schedule

Input

FieldTypeDescription
companiesarray (required)Career page URLs, platform:token shorthands, or bare tokens
keywordsarray (optional)Only return postings whose title or department contains a term
remoteOnlyboolean (default false)Only return postings detected as remote
{ "companies": ["greenhouse:stripe", "lever:matchgroup", "https://jobs.ashbyhq.com/ramp"], "keywords": ["engineer"] }

Output

One normalized item per posting:

{
"platform": "greenhouse",
"company": "stripe",
"title": "AI Engineer",
"department": "Solutions Architecture",
"location": "Chicago",
"remote": false,
"postedDate": "2026-07-03T08:14:53-04:00",
"applyUrl": "https://stripe.com/jobs/search?gh_jid=8044460"
}

Pricing: worked example

Pay per event. You are charged scan-init at $0.03 once, company-scanned at $0.02 per company read, and posting-extracted at $0.003 per posting returned.

Scanning 3 companies that return 150 postings triggers 1 start ($0.03), 3 company events ($0.06), and 150 posting events ($0.45). Total: $0.54.

How to use

  1. Open the actor and click Try for free.
  2. Add companies as career page URLs, platform:token shorthands, or bare tokens.
  3. Optionally add keywords or set remoteOnly.
  4. Click Start.
  5. Download the normalized postings as JSON or CSV from the Storage tab.
  6. Load them into your ATS, job board, or hiring signal pipeline.

FAQ

How do I scrape jobs from Greenhouse or Lever? Add the company as greenhouse:stripe or lever:matchgroup, or paste its career page URL, and the actor reads the public postings endpoint.

Which ATS platforms are supported? Greenhouse, Lever, Ashby, Workable, and SmartRecruiters.

Do I need an API key for each ATS? No. It reads each platform's public JSON endpoint.

What if a company is not on a supported platform? It is reported as skipped, not an error, so a batch run never fails on one company.

Can an AI agent run this? Yes. It supports agentic payments, so a recruiting agent can pull postings and pay per posting.

API and agents

Run it from the Apify API or let an AI agent call it. Supports agentic payments via x402 and Skyfire (pay per event, limited permissions, no Standby).

curl -X POST "https://api.apify.com/v2/acts/hereditary_model~ats-job-postings-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "companies": ["greenhouse:stripe"] }'