ATS Hiring-Velocity Scraper (Greenhouse/Lever/Ashby/Workday)
Pricing
from $10.00 / 1,000 results
ATS Hiring-Velocity Scraper (Greenhouse/Lever/Ashby/Workday)
Track a company's open job postings across major ATS platforms and the new/closed delta between runs — a leading headcount-growth signal. Public job-board data, no login.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
ATS Hiring-Velocity Scraper
Track any company's open job postings across the major Applicant-Tracking Systems — Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, Workable, and Workday — and the new / closed delta between runs. Rising headcount is a leading indicator of revenue growth, so this turns public careers pages into an alternative-data signal.
Built for equity/credit analysts, B2B sales-intelligence, recruiters, and market researchers.
Why use this actor
- No account, no API key, no login. All sources are public job-board APIs.
- Multi-ATS in one run. Mix Greenhouse, Lever, Ashby, SmartRecruiters, and Workday companies in a single job.
- Velocity, not just a list. Each company gets a
VELOCITY_SNAPSHOTwith total open reqs, a breakdown by department and location, and — from the second run on — exactly which reqs are new and which closed. - Raw + structured. Every individual posting is emitted with the ATS's own field names preserved (
JOB_POSTING), so nothing is lost; the snapshot adds the derived counts. - Stable output ready for pipelines, spreadsheets, or a time-series database.
Input
| Field | Description |
|---|---|
companies | One entry per company. Use vendor:slug notation or a full careers URL. |
emitJobPostings | Push one record per open req (true, default) or only the snapshot per company (false). |
computeVelocityDelta | Persist job-ids and report new_since_last / closed_since_last next run (default true). |
maxConcurrency | Companies processed in parallel (default 6). |
proxyConfiguration | Optional — datacenter works; residential only helps a Cloudflare-fronted Workday tenant. |
How to address each ATS
greenhouse:databrickslever:palantirashby:rampsmartrecruiters:<companyId>recruitee:<slug>workable:<slug>workday:<tenant>/<dc>/<site> # e.g. workday:nvidia/wd5/NVIDIAExternalCareerSite
A full careers URL (boards.greenhouse.io/..., jobs.lever.co/..., jobs.ashbyhq.com/..., *.myworkdayjobs.com/...) is auto-detected. For Workday, copy the tenant/datacenter/site from the careers URL: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite → nvidia / wd5 / NVIDIAExternalCareerSite.
Output
Two record types share the dataset envelope (_input, _source, _scrapedAt).
VELOCITY_SNAPSHOT (one per company per run):
{"_input": "greenhouse:databricks","_source": "S1-greenhouse","_scrapedAt": "2026-06-03T10:00:00Z","recordType": "VELOCITY_SNAPSHOT","ats_vendor": "greenhouse","company_slug": "databricks","total_open": 755,"by_department": {"Engineering": 210, "Sales": 88},"by_location": {"United States": 400, "Remote": 60},"new_since_last": 12,"closed_since_last": 4,"new_job_ids": ["..."],"closed_job_ids": ["..."]}
JOB_POSTING (one per open req, raw upstream fields preserved): the envelope + ats_vendor, company_slug, job_id, then the ATS payload verbatim (e.g. Greenhouse first_published/updated_at/departments, Ashby publishedAt/compensation, Lever createdAt/categories, Workday postedOn/externalPath).
On the first run there is no baseline, so new_since_last / closed_since_last are null. Schedule the actor (daily/weekly) to build the time series; deltas populate from run two.
How it works
- Each input is resolved to an ATS vendor + identifier.
- The matching public board API is called (Workday and SmartRecruiters are paginated; the rest return all jobs in one call).
- Job-ids are diffed against the previous run (stored in the
ATS_SNAPSHOTSKey-Value store) to compute the new/closed delta. - Records stream into the dataset.
Known limits
- WAF: none for Greenhouse/Lever/Ashby/SmartRecruiters/Recruitee/Workable; a rare Workday tenant fronts Cloudflare → the client auto-escalates to a
curl_cffi(chrome131) TLS profile. - Workday departments: taken from the
jobFamilyGroupfacet (full-board counts), since the list payload has no per-job department. - Recruitee / Workable: endpoint format verified live; per-item field mapping (
department/location/created_at) is taken from vendor docs and confirmed on the first populated board. Raw passthrough preserves all fields regardless. - Slugs drift: a renamed board returns
not_found; update the input. Lever/Workable boards can legitimately be empty (the company moved ATS). - Verified live 2026-06-03: Greenhouse
databricks(755), Leverpalantir(220), Ashbyramp(110), Workdaynvidia(total 2000, departments via facets), Recruitee/Workable endpoints reachable.