ATS Job Scraper — Greenhouse, Lever & Ashby Careers avatar

ATS Job Scraper — Greenhouse, Lever & Ashby Careers

Pricing

from $1.00 / 1,000 job scrapeds

Go to Apify Store
ATS Job Scraper — Greenhouse, Lever & Ashby Careers

ATS Job Scraper — Greenhouse, Lever & Ashby Careers

Scrape live job postings straight from Greenhouse, Lever, and Ashby public careers APIs, normalized into one schema. No login, no API keys, no browser. Pay per job.

Pricing

from $1.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Jaxx

Jaxx

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

ATS Job Scraper — Greenhouse, Lever & Ashby Careers, One Schema

Pull live job postings straight from companies' own careers pages — Greenhouse, Lever, and Ashby — normalized into one clean, deduplicated table. No login, no API keys, no browser. You pay per job.

Most job scrapers point at Indeed or LinkedIn and fight anti-bot walls all day. This one goes to the source: the official, public job-board APIs that Greenhouse, Lever, and Ashby publish so companies can embed their own careers page. That means clean structured data, no CAPTCHAs, no breakage — and the same schema whether a job came from Greenhouse, Lever, or Ashby, so you never reconcile three different scrapers again.

  • 🏢 Straight from the company — the ATS the employer actually uses, not a noisy aggregator
  • 🔀 Three ATSs, one schema — Greenhouse + Lever + Ashby normalized together, deduplicated by source + job ID across the whole run
  • 💰 Salary where it's public — Ashby (and some Lever) postings include compensation
  • 🌍 Remote flag, department, team, location, apply URL, posted date, full description
  • 💵 Pay per job — a board that returns nothing costs you nothing

🎯 Best for

  • Recruiters & sourcers — track exactly what target companies are hiring for, in real time.
  • Sales & GTM teams — hiring signals are buying signals; find companies staffing up a function you sell to.
  • Job boards & aggregators — ingest clean, structured postings direct from the source ATS.
  • Labor-market & comp analytics — postings + salary data across hundreds of companies, one schema.
  • Candidates & career tools — monitor a set of dream companies and get new roles the day they post.

⚙️ How it works

Plain HTTP against each ATS's official public job-board endpoint — no login, no key, no browser:

  • Greenhouseboards-api.greenhouse.io/v1/boards/<token>/jobs (with full descriptions).
  • Leverapi.lever.co/v0/postings/<company>?mode=json.
  • Ashbyapi.ashbyhq.com/posting-api/job-board/<org> (with compensation where published).

Every posting is normalized into one schema and deduplicated by source + job ID.


▶️ How to use (no code)

  1. Find each company's ATS slug from its careers-page URL:
    • Greenhouse → the token in boards.greenhouse.io/stripe (or a greenhouse.io embed).
    • Lever → the name in jobs.lever.co/gopuff.
    • Ashby → the name in jobs.ashbyhq.com/ramp.
  2. Put those slugs into Greenhouse board tokens, Lever company slugs, and/or Ashby org slugs.
  3. (Optional) filter by title keywords, location, department, remote-only, or posted-since date.
  4. Click Start, then export as JSON, CSV, Excel, XML, or HTML — or pull it via the API.

📥 Input

FieldTypeNotes
greenhouseTokensarrayGreenhouse board tokens, e.g. ["stripe","gitlab"].
leverCompaniesarrayLever company slugs, e.g. ["gopuff"].
ashbyOrgsarrayAshby org slugs, e.g. ["ramp"].
titleIncludesarrayKeep only titles containing any of these (case-insensitive).
locationIncludesarrayKeep only locations containing any of these.
departmentIncludesarrayKeep only jobs whose department/team match.
remoteOnlybooleanOnly postings flagged remote. Default false.
postedSinceISO dateOnly jobs posted on/after this date — cheap incremental re-runs.
maxJobsPerCompanyintegerCap per company after filters. 0 = no cap.
includeDescriptionbooleanInclude full description (text + HTML). Default true.

Example input

{
"greenhouseTokens": ["stripe", "gitlab"],
"leverCompanies": ["gopuff"],
"ashbyOrgs": ["ramp"],
"titleIncludes": ["engineer", "designer"],
"remoteOnly": true
}

📤 Output — one record per job

{
"source": "ashby",
"company": "ramp",
"jobId": "03e2d4e1-73ad-4f09-a058-2eb9ce...",
"title": "Technical Consultant, Mid-Market",
"department": "Sales",
"team": "Mid-Market",
"location": "Remote (US); San Francisco, CA; New York, NY",
"isRemote": true,
"employmentType": "FullTime",
"compensation": "$151K – $231K • Offers Equity",
"postedAt": "2026-07-07T20:47:09.753+00:00",
"updatedAt": null,
"applyUrl": "https://jobs.ashbyhq.com/ramp/03e2d4e1-...",
"jobUrl": "https://jobs.ashbyhq.com/ramp/03e2d4e1-...",
"descriptionText": "ABOUT RAMP Ramp is building the smart infrastructure...",
"descriptionHtml": "<p>ABOUT RAMP...</p>",
"scrapedAt": "2026-07-10T18:00:00.000Z"
}

source is greenhouse, lever, or ashby. Fields a given ATS doesn't expose come back null — the schema stays identical across all three.


💰 Pricing (pay-per-event)

You are charged a fixed price per result, not for compute.

EventPriceWhen you're charged
job-scraped$0.001Once per unique job posting returned.
company-resolved$0.005Once per company board that returns at least one job. A board that yields nothing is free.

Worked example: 5 companies returning 800 jobs total = 800 × $0.001 = $0.80, plus 5 × $0.005 = $0.025. Total ≈ $0.83.


❓ FAQ

Which companies can I scrape? Any company whose careers page runs on Greenhouse, Lever, or Ashby — that's a large share of tech and startup hiring. You supply the ATS slug; the actor does the rest.

Is this legal / is it personal data? It reads only public job postings an employer chose to publish, from the ATS's own public API. The structured fields it extracts are company and role information only — never applicant or candidate data. Note that the free-text job description (returned when includeDescription is on) is the employer's own text and can occasionally include an incidental recruiter name or contact email; if you need a strictly PII-free dataset, set includeDescription: false and descriptions are omitted. Use the data lawfully (GDPR/CCPA, each ATS's terms).

Why not Indeed / LinkedIn? Those are anti-bot aggregators of second-hand data. Going to the source ATS is cleaner, more reliable, and more complete for the companies you care about.

Can I run it on a schedule? Yes — schedule it in the Console, call it via API, or wire the output into Make, Zapier, Slack, Google Sheets, or a webhook for real-time hiring alerts.

Workday / other ATSs? Greenhouse, Lever, and Ashby ship first. Workday and others are on the roadmap.


🔌 API-ready

Apify auto-generates integration snippets — JavaScript, Python, CLI, REST, OpenAPI, and an MCP server — so you can drop this into your stack or an agent workflow. See the API tab.


Maintainer

Published by Jaxx. Want another ATS supported (Workday, SmartRecruiters, Workable) or a field added? Open an issue on the Issues tab — requests and edge cases are actively reviewed.