ATS Job Scraper - 10 Platforms, Jobs API, Deduped | $1.50/1K
Pricing
$5.00 / 1,000 verified job postings
ATS Job Scraper - 10 Platforms, Jobs API, Deduped | $1.50/1K
Job postings from 16,276 verified career boards across 10 ATS platforms: Greenhouse, BambooHR, Lever, Ashby, Workable, Workday, Recruitee, Personio, Rippling, SmartRecruiters. Deduped. Demo/sandbox boards excluded. Title, company, location, remote, apply URL, posted date. $1.50 per 1,000 results.
Pricing
$5.00 / 1,000 verified job postings
Rating
0.0
(0)
Developer
Kaleb Confer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Verified Job Boards
Job postings from public ATS boards — checked against the vendor's own record count, and told you either way.
Every other job scraper hands you rows and lets you assume they're all there. This one reports, per board, whether completeness was proven, and says so plainly when it can't be.
Every claim on this page is published and checkable: the per-board coverage table, what share of the feed is count-verified, and the cases where it is not — what this index can and cannot prove. The board directory itself is at job-board-directory.
The two things buyers complain about
Look at the open issues on any job-data API and you find the same two, over and over: duplicates and missing records. Both are completeness failures, and both are handled structurally here rather than by effort.
Missing records. Greenhouse, SmartRecruiters, Workday and BambooHR publish a total alongside the board. Every fetch is compared to it. A board that comes up short is flagged, not quietly included.
Duplicates. Deduplication happens at two levels, because one rule cannot do both jobs.
Inside a platform, identity is the vendor's own posting id. Titles cannot be trusted for this: Stripe runs requisitions 8128772 and 8156996, both Account Executive, SMB (Grower) in Chicago, and they are two separate openings with two application links. Collapsing them would hide a real job.
Across platforms, the vendor's id is useless — a company mid-migration runs two live boards and the same real role carries a Greenhouse id and an Ashby id, which have nothing in common. So a role that appears on two of a company's boards under the same title and location is collapsed to one row. Measured 2026-09-03: Trusted Health runs live boards on Ashby and Greenhouse, 6 postings between them, delivered as 5.
Paying per result, you are charged for the 5.
What every run returns
Alongside the roles, a PROVENANCE record:
{"boards": 3,"boards_with_published_count": 2,"boards_verified_complete": 2,"duplicates_removed": 1,"unique_roles": 188,"detail": [{ "company": "Stripe", "ats": "greenhouse", "postings_fetched": 566,"count_published_by_vendor": 566, "verified_complete": true,"completeness_basis": "vendor count matched" },{ "company": "Ramp", "ats": "ashby", "postings_fetched": 136,"count_published_by_vendor": null, "verified_complete": null,"completeness_basis": "vendor publishes no count; whole board returned in one call" }]}
Note the null on Ramp. Ashby doesn't publish a count, so completeness there is credible but not proven — one call returns the whole board, with no pagination to truncate. It is reported as unknown rather than dressed up as verified. That distinction is the entire point.
Input
| Field | Description |
|---|---|
companies | Company names. Board tokens resolve automatically — Stripe finds greenhouse/stripe. |
keyword | Optional title filter. |
platforms | Which ATS platforms to check. Default: greenhouse, ashby, lever. |
maxResults | 0 for no limit. |
Supported platforms
| Platform | Completeness provable? |
|---|---|
| Greenhouse | yes — publishes meta.total |
| SmartRecruiters | yes — publishes totalFound |
| Workday | yes — publishes a total |
| Ashby | whole board in one call, no count published |
| Lever | whole board in one call, no count published |
| Workable | whole board in one call, no count published |
| Recruitee | whole board in one call, no count published |
| Rippling | whole board in one call, no count published |
| Personio | whole board in one call, no count published |
Search
Titles, companies and departments are indexed for full-text search, so keyword
matches on word stems rather than on a raw substring.
Why not LinkedIn
Measured, not assumed. LinkedIn's public guest endpoint returns 30 unique postings for a broad query and goes empty at offset 600, with no total anywhere in the response. You cannot prove a corpus complete against a source that won't tell you how big it is.
Every endpoint used here is the ATS vendor's own documented public API: no login, no session cookie, no terms accepted, no CAPTCHA, no IP-block circumvention. A board token either resolves or returns 404. Postings contain company data, not personal data of private individuals.
Cost
Pay per result. You are charged for unique, deduplicated roles delivered — not for the run, and not for the duplicates that were removed before you saw them.