ATS Hiring-Velocity Scraper (Greenhouse/Lever/Ashby/Workday) avatar

ATS Hiring-Velocity Scraper (Greenhouse/Lever/Ashby/Workday)

Pricing

from $10.00 / 1,000 results

Go to Apify Store
ATS Hiring-Velocity Scraper (Greenhouse/Lever/Ashby/Workday)

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

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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_SNAPSHOT with 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

FieldDescription
companiesOne entry per company. Use vendor:slug notation or a full careers URL.
emitJobPostingsPush one record per open req (true, default) or only the snapshot per company (false).
computeVelocityDeltaPersist job-ids and report new_since_last / closed_since_last next run (default true).
maxConcurrencyCompanies processed in parallel (default 6).
proxyConfigurationOptional — datacenter works; residential only helps a Cloudflare-fronted Workday tenant.

How to address each ATS

greenhouse:databricks
lever:palantir
ashby:ramp
smartrecruiters:<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/NVIDIAExternalCareerSitenvidia / 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

  1. Each input is resolved to an ATS vendor + identifier.
  2. The matching public board API is called (Workday and SmartRecruiters are paginated; the rest return all jobs in one call).
  3. Job-ids are diffed against the previous run (stored in the ATS_SNAPSHOTS Key-Value store) to compute the new/closed delta.
  4. 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 jobFamilyGroup facet (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), Lever palantir (220), Ashby ramp (110), Workday nvidia (total 2000, departments via facets), Recruitee/Workable endpoints reachable.