Open jobs from Greenhouse, Lever, Ashby, Workday and 4 more ATS — by company domain, or search ~11,000 company boards by keyword. Posted salaries, filters, and a daily only-new feed.
Search every company (searchAllCompanies, atsPlatforms, maxTotalResults): filters run
across a shipped directory of ~11.3k boards (5,974 Greenhouse, 3,418 Ashby, 1,926 Lever opt-in),
read live, shuffled, light title pass then a full read only on a hit, stopped at the run-wide cap
or the run deadline. Ashby rate-limits one IP: per-vendor concurrency + 429 backoff, throttled
boards are reported (free truncated notice), never counted as closed. search.py;
recon docs/actors/recon-ats-search-all-companies.md.
Only new since last run (onlyNew, stateKey): a named KV store of delivered job keys,
applied before the per-company cap; only pushed rows are remembered. Works on Workday.
More filters:excludeKeywords, departments, employmentTypes, keywordsInDescription
(descriptions are kept internally for matching and dropped unless includeDescription).
Workday from a bare domain via robots.txt across 9 pods + ownership rule (site name or a
live job's hiring organisation names the brand); workday:<tenant> now resolves pod and site.
Workable, Recruitee, Breezy readers and slug confirmation (Workable by the employer's own
website; a dormant Workable account with 0 jobs is passed over). Recruitee structured salary,
Breezy pay text. Recon docs/actors/recon-ats-tier2-vendors.md.
Posted salary ranges: salary_min, salary_max, salary_currency, salary_interval,
salary_text from Greenhouse (pay_transparency=true), Ashby (includeCompensation=true) and
Lever (salaryRange). The earlier "0 pay data" finding was an artifact of not asking for it:
on 2026-10-31 Figma posted 93/140, OpenAI 645/810, Ramp 165/172. Never estimated.
Filters before billing: titleKeywords, locationKeywords, remoteOnly, salaryOnly.
maxResults counts matching jobs; a filtered run reads each whole board first.
Retitled to the per-ATS names buyers search: "Greenhouse, Lever, Ashby & Workday Jobs Scraper
with Salaries" (slug unchanged).
0.1 — 2026-09-07
First build, from demand-discovery candidate #153 .
Reads open jobs from five applicant-tracking systems into one schema: Greenhouse, Ashby, Lever,
SmartRecruiters and Workday.
Takes a company domain, not an ATS slug: resolves the board from an explicit reference, a
link on the company's own careers page, or a slug guess the vendor confirms by company name.
A guess no vendor will corroborate is refused with a free marker row rather than returned as
another company's jobs — example.com maps to a real Greenhouse board owned by "Democorp".
Batch input (companies), maxResults per company, postedAfter for a new-openings feed,
optional descriptions (off by default; one large board is ~16 KB per job).
Charges per job returned, in chunks of 100, push before charge. Marker rows are never billed.