ATS Hiring Signals — cross-ATS jobs + new-role deltas
Pricing
Pay per usage
ATS Hiring Signals — cross-ATS jobs + new-role deltas
Track hiring across company career sites (Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee). Get normalized job postings, only-new deltas with first-seen dates, and per-company hiring rollups (buying signals). Non-personal data.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
tkmvictim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
ATS Hiring Signals — cross-ATS jobs + new-role delta & company rollups
Track hiring across company career sites and sell the derived signal, not a raw wrapper.
Why this and not a plain job scraper: anyone can hit a single ATS's public JSON for free. The product is the layer on top — a normalized cross-ATS schema, only-new deltas with firstSeenAt dates, and per-company hiring rollups ("who just started hiring for what") that buyers (recruiters, B2B sales tracking hiring spikes as buying signals) cannot self-serve.
Supported ATS (Tier-1, public JSON, no auth, non-personal)
Greenhouse · Lever · Ashby · SmartRecruiters · Recruitee. (Workday / iCIMS are intentionally out — anti-bot heavy, would break the passive/self-healing model. Add as a separate isolated actor later.)
Input
{"companies": [{ "ats": "greenhouse", "slug": "stripe" },{ "ats": "ashby", "slug": "ramp" },{ "ats": "lever", "slug": "matchgroup" }],"mode": "full","emitCompanyRollup": true,"filters": { "titleKeywords": [], "departments": [], "remoteOnly": false },"maxJobsPerCompany": 0}
- mode
full— every active job (+ closed). modedelta— only newly-opened / newly-closed roles (uses the stored per-company snapshot). Run on a daily Schedule indeltamode to generate recurring buying-signal consumption.
Output (dataset)
- Job records:
{ jobId, company, companySlug, ats, title, department, team, location{raw,remote}, employmentType, applyUrl, sourceUrl, postedAt, firstSeenAt, lastSeenAt, status }—status∈new | active | closed. - Company rollups (
_type: "company_rollup"):{ company, ats, activeJobs, newJobs, closedJobs, newDepartments, newRoles[], isBaseline }.
Pricing (pay-per-event — configure in Console)
| Event | Suggested price | Role |
|---|---|---|
job-listed | $0.002 / job | commodity full-mode records (acquisition) |
new-job-delta | $0.01 / new role | the product — pre-computed only-new feed |
company-hiring-rollup | $0.05 / company | highest-margin buying-signal intelligence |
Don't compete on $/1,000 raw jobs (incumbents win on volume). Charge for the signal.
Legal / ToS
Non-personal job & firmographic data. Sell derived data (first-seen, velocity, rollups), not verbatim bulk redistribution — Greenhouse's terms restrict reselling raw bulk. Never extract recruiter names/emails from descriptions (keeps it out of PII/GDPR territory). Public endpoints only; no login/cookies.
Self-healing notes
Tolerant key-based parsing per ATS; a company that 404s is skipped, not fatal. Baseline runs (no prior snapshot) mark everything active, never new, to avoid a false "all-new" explosion. State lives in the KV store keyed per company.