VOOZH about

URL: https://apify.com/constructive_calm/ats-hiring-intent-scraper

⇱ ATS Hiring Intent - Buying Signals (Greenhouse + 4 ATSes) Β· Apify


πŸ‘ ATS Hiring Intent - Buying Signals (Greenhouse + 4 ATSes) avatar

ATS Hiring Intent - Buying Signals (Greenhouse + 4 ATSes)

Pricing

from $8.00 / 1,000 enriched job fetcheds

Go to Apify Store

ATS Hiring Intent - Buying Signals (Greenhouse + 4 ATSes)

Aggregates jobs across Greenhouse, Lever, Ashby, SmartRecruiters, and Workday with auto ATS detection from a domain. Gemini classifier emits per-company buying signals (expanding-sales, evaluating-CRM, platform-build-out). Monitor mode tracks 100s of companies weekly via KV deltas.

Pricing

from $8.00 / 1,000 enriched job fetcheds

Rating

5.0

(1)

Developer

πŸ‘ Omar Eldeeb

Omar Eldeeb

Maintained by Community

Actor stats

2

Bookmarked

5

Total users

4

Monthly active users

25 days ago

Last modified

Share

What does ATS Hiring Intent do?

ATS Hiring Intent aggregates open job postings across five major applicant tracking systems β€” Greenhouse, Lever, Ashby, SmartRecruiters, and Workday β€” into one normalized feed and turns the raw job data into per-company buying signals ready for a sales / RevOps pipeline.

Give it a list of company domains. It auto-detects each company's ATS, pulls every open role, normalizes function and seniority across platforms, and (in signals mode) runs each role through Gemini 2.5 Flash to extract intent tags (expanding-sales, evaluating-CRM, series-B-build, platform-build-out, …) and infer the specific vendors / tech stack the company is buying or building on. One composite CompanySignal per refresh tells your reps which prospects just lit up β€” Stripe is expanding-sales (8/8 AE roles posted, AI-customer focus, vendor hypothesis: OpenAI, Anthropic, NVIDIA).

Zero anti-bot. Zero proxies needed by default. No login. Every data source is an official public ATS endpoint. Replaces $99-$15K/seat tools (Apollo, ZoomInfo, Bombora, Cognism) on the hiring-signal job-to-be-done.

Why use ATS Hiring Intent?

  • B2B sales / SDRs β€” find every prospect actively hiring for a role that signals they're buying your product. Hiring 5 DevOps + 2 Platform Engineers = evaluating IaC + observability tooling. Hiring a VP Sales + 3 AEs = expanding GTM motion. Apollo only counts headcount; this actor explains what they're buying.
  • RevOps & GTM intelligence β€” score your ICP list weekly, build prospect lists from buying-intent tags, replace your stale $1-5K/mo intent-data line item.
  • Recruiters & talent intelligence β€” track hiring velocity at competitors, see which functions/seniorities they're loading up on.
  • VC / corporate development β€” detect Series A β†’ C ramp signals, exec hires, geographic expansion. Headcount-delta tracking with KV-checkpointed monitoring.
  • Founders doing competitive intel β€” type a competitor's domain, see every open role, every detected vendor, every team they're scaling.
  • AI / data teams β€” a clean 30+ field unified ATS schema across 5 platforms with deterministic taxonomy normalization. Drop straight into a vector store or BI tool.

How to use

  1. Pick a mode:
    • discover β€” given domains, detect which ATS each one uses (cheap onboarding pass).
    • jobs β€” fetch normalized jobs only, no AI.
    • signals β€” jobs + Gemini intent tags + per-company composite signal (the value tier).
    • monitor β€” same as signals but only emits deltas vs. the previous run. Best with a daily/weekly schedule.
  2. Provide either companyDomains (list of domains β€” auto-detected) or atsTargets (direct ATS slugs like greenhouse:stripe, lever:palantir, ashby:linear, smartrecruiters:visa, workday:nvidia.wd5/NVIDIAExternalCareerSite).
  3. Optionally filter by keywordFilter, functionFilter (engineering / sales / …), seniorityFilter, locationFilter, remoteOnly, postedWithinDays.
  4. Run. Results land in the default dataset with a type field discriminator: job, company_signal, ats_discovery, or change_event.
  5. Export as JSON, CSV, or Excel from the Apify Console β€” or pull via API / webhook.
  6. Want weekly intent updates? Set mode to monitor and schedule the actor. Subsequent runs only emit new/changed/closed roles + the latest composite signal.

Free trial: the first 10 chargeable events of each run are on the house β€” enough to validate output shape and signal quality on a single small run before committing budget.

Input examples

1. Discover which ATS your top 5 prospects use.

{
"mode":"discover",
"companyDomains":["stripe.com","linear.app","notion.so","vercel.com","anthropic.com"]
}

2. Pull every open engineering role at 3 companies, no AI.

{
"mode":"jobs",
"companyDomains":["stripe.com","anthropic.com","linear.app"],
"functionFilter":["engineering"],
"seniorityFilter":["senior","lead","principal"],
"maxJobsPerCompany":100
}

3. Generate weekly buying signals across a 50-company prospect list.

{
"mode":"signals",
"companyDomains":[
"stripe.com","notion.so","linear.app","vercel.com","anthropic.com"
],
"maxJobsPerCompany":50,
"intentBatchSize":20,
"postedWithinDays":30
}

4. Monitor 200 companies β€” emit deltas only on the second-and-subsequent run. (Schedule daily.)

{
"mode":"monitor",
"companyDomains":["acme.com","..."],
"maxJobsPerCompany":100,
"remoteOnly":false
}

5. Skip auto-detection β€” pass direct ATS targets.

{
"mode":"signals",
"atsTargets":[
"greenhouse:stripe",
"lever:palantir",
"ashby:linear",
"smartrecruiters:visa",
"workday:nvidia.wd5/NVIDIAExternalCareerSite"
]
}

Output

Each row has a type discriminator. Sample enriched job record:

{
"type":"job",
"sourceId":"d3bc1ced-3ce4-4086-a050-555055dbb1ff",
"company":"Linear",
"domain":"linear.app",
"atsPlatform":"ashby",
"atsSlug":"Linear",
"title":"Senior / Staff Fullstack Engineer",
"function":"engineering",
"seniority":"senior",
"department":"Product",
"team":"Engineering",
"location":"Europe",
"isRemote":true,
"employmentType":"FullTime",
"postedDate":"2026-04-21T20:13:45.158+00:00",
"applyUrl":"https://jobs.ashbyhq.com/linear/d3bc1ced-3ce4-4086-a050-555055dbb1ff/application",
"intentTags":["platform-build-out","going-international"],
"vendorSignals":["TypeScript","React","GraphQL","PostgreSQL","Redis","Kubernetes"],
"intentSummary":"This role indicates a focus on expanding the core product platform and international growth.",
"enrichmentLevel":"enriched"
}

Sample company_signal record:

{
"type":"company_signal",
"company":"Stripe",
"atsPlatform":"greenhouse",
"atsSlug":"stripe",
"signal":"expanding-sales",
"confidence":1.0,
"evidence":"8/8 open roles match this signal. Examples: Account Executive AI Sales, Account Executive AI Startups, Account Executive Commercial.",
"vendorHypothesis":["Stripe","OpenAI","Anthropic","NVIDIA","Shopify"],
"openRolesCount":8,
"newRolesLast30d":8,
"topFunctions":[{"function":"sales","count":8}],
"secondarySignals":[
{"signal":"series-B-build","confidence":0.66,"evidence":"3/8 roles tagged."}
]
}

Data fields (selected)

FieldTypeNotes
typeenumjob | company_signal | ats_discovery | change_event
companystringDisplay name pulled from board metadata when available
atsPlatformenumgreenhouse | lever | ashby | smartrecruiters | workday
functionenumNormalized: engineering, sales, marketing, product, data, design, operations, support, finance, hr, legal, other
seniorityenumintern | junior | mid | senior | lead | principal | director | vp | cxo | unknown
intentTagsarray22-tag fixed taxonomy β€” see input schema for the full list
vendorSignalsarraySpecific vendor / tech names mentioned in the JD
intentSummarystringOne-line plain-English takeaway from Gemini
salaryMin / salaryMax / salaryCurrencynumbers + ISO codeWhen the ATS exposes pay bands (Greenhouse + Ashby do)
applyUrlstringDirect link to the application page
signal (on company_signal)enumThe dominant intent tag, or general-hiring / shrinking / stable
vendorHypothesisarrayTop 8 vendors aggregated across the company's open roles
changeType (on change_event)enumrole-opened | role-closed | role-updated | salary-changed

How much does it cost?

EventPriceFires when
apify-actor-start$0.0001Once per run (per GB of memory)
basic-job-fetched$0.0015A normalized job is emitted (modes: jobs)
enriched-job-fetched$0.008A Gemini-enriched job is emitted (modes: signals, monitor)
company-signal-event$0.05Composite buying signal per company (modes: signals, monitor)
change-event$0.02Role opened / closed / updated vs. previous run (modes: monitor, or any mode with incrementalMode)
ats-discovered$0.005Domain β†’ ATS detection record (mode: discover)

First 10 chargeable events of every run are free (built-in trial counter β€” see the run log).

Typical run costs

ScenarioVolumeCost
Discover ATS for 50 prospects50 discoveries$0.25
Pull 50 roles each from 10 companies500 basic jobs~$0.75
Weekly signals run, 50 companies Γ— 40 roles2,000 enriched + 50 signals~$18.50
Daily monitor, 200 companies Γ— 30 roles, ~3 deltas/co/day600 changes + 200 signals/day~$22/day

Comparison: Apollo Pro $99/seat/mo (no signals), ZoomInfo + Bombora $3-5K/mo, Clay Growth $1.5-2.5K/mo, Cognism + intent ~$2K/mo. The 50-company weekly run above costs ~$80/mo β€” same job-to-be-done, ~5-25Γ— cheaper than every comparable.

Tips & advanced options

  • monitor mode is built for scheduling. Set up an Apify schedule (daily or weekly), feed in your prospect list, and only pay for deltas + the latest composite signal. The first run charges full freight (everything is "new"); subsequent runs are deltas-only.
  • Workday note β€” Workday tenants live at tenant.wd{N}.myworkdayjobs.com where N is 1-12. Use workday:tenant.wdN/SiteSegment form. Find the wdN from any URL on their careers page. Some Workday tenants throttle aggressive scraping β€” switch to RESIDENTIAL proxy if you see 403s.
  • Auto-detection covers ~25K-30K companies out of the box (all Greenhouse, Lever, Ashby, SmartRecruiters customers + most Workday F500). For non-detectable domains, pass a direct atsTargets entry and the actor skips resolution.
  • Filter aggressively to control budget. functionFilter, seniorityFilter, locationFilter, remoteOnly, postedWithinDays all run before Gemini enrichment, so you only pay enrichment cost on the roles that matter.
  • intentBatchSize = 20 is the cost-vs-latency sweet spot. Larger batches cost less per job but increase end-to-end latency.
  • Vendor signals are tools/tech mentioned in JDs, not necessarily companies the prospect is buying. A role mentioning "Salesforce" usually means they use Salesforce β€” sometimes it means they sell to Salesforce customers. Cross-check with intentSummary for context.
  • Cross-ATS dedup β€” if the same company is somehow listed twice (rare), dedup by (atsPlatform, atsSlug) downstream.

Legal & ToS

  • Every ATS endpoint used by this actor is publicly published and intended for third-party career-site / aggregator use. No login or API key required.
  • Greenhouse Job Board API, Lever Postings API, Ashby Public Job Posting API, and SmartRecruiters Posting API are all explicitly documented as public β€” see developers.greenhouse.io/job-board, github.com/lever/postings-api, developers.ashbyhq.com/docs/public-job-posting-api, developers.smartrecruiters.com/docs/posting-api.
  • Workday CXS endpoints serve the same data as the public-facing careers page; we paginate at default 20-per-page with gentle 150ms pacing.
  • The actor is intended for sales intelligence, recruiting research, and market analysis. Do not use the data to discriminate, harass, or auto-apply at scale.
  • Job descriptions are Β© the posting employer. We store and re-emit them verbatim for analysis. Do not republish full JDs as your own content.

FAQ & support

Q: Which ATSes are supported in v1? A: Greenhouse, Lever, Ashby, SmartRecruiters, Workday. BambooHR, Recruitee, Teamtailor, Personio in v1.1.

Q: What's the difference between signals and monitor? A: signals runs the full pipeline every time. monitor does the same but auto-enables incremental mode β€” on subsequent runs you only see new / changed / closed roles, plus the refreshed company-signal record. Use monitor for scheduled subscriptions.

Q: Why didn't my domain auto-detect? A: ~10-15% of companies use custom careers pages that don't link to a known ATS host. Pass an atsTargets entry directly. Also try the discover mode in isolation β€” it tells you what was found and what failed.

Q: Can I get LinkedIn / Indeed jobs? A: No. This actor only scrapes companies' own ATS career pages. LinkedIn aggregations are heavily anti-botted and not worth the proxy cost. The data here is fresher anyway β€” it's the source ATS, not a 2nd-hand index.

Q: Will the intent classifier hallucinate tags? A: The classifier is constrained to a fixed 22-tag taxonomy and instructed to return ["unknown"] if uncertain. We've validated against ~100 real postings; false-positive rate is < 5%. If you see noise, lower the intentBatchSize to 5-8 (smaller context = sharper inference).

Q: How do I report bugs? A: Open an issue on the actor's Apify page. Include the input JSON and the offending record's sourceId + applyUrl.


Built with TypeScript on the Apify SDK. Zero proxies, zero anti-bot, native fetch. No headless browser, no CAPTCHA.

You might also like

Multi-ATS Job Scraper β€” Greenhouse, Lever, Ashby, Workday

scrapesage/multi-ats-job-scraper

Scrape jobs from the 5 biggest ATS platforms in one dataset β€” Greenhouse, Lever, Ashby, SmartRecruiters & Workday. Full descriptions, salaries, locations, departments & apply links. Auto-detects the ATS from a careers URL or company name. Monitor mode emits only new jobs.

Multi-ATS Hiring Intent Monitor

scraping_scrap/multi-ats-hiring-intent-monitor

Monitor public career pages and ATS job boards across Greenhouse, Lever, Ashby, SmartRecruiters, Workday, and generic career pages. Detect new, changed, and removed jobs, generate hiring intent signals, and export normalized job records with company summaries.

πŸ‘ User avatar

Π’Π°Π΄ΠΈΠΌ Π—Π°Ρ…Π°Ρ€ΠΎΠ²

2

ATS Hiring Signal Radar

jy-labs/ats-hiring-signal-radar

Turn public ATS job changes into company-level hiring intent signals. Monitor Greenhouse, Lever, Ashby to detect first hires, team buildouts, geo expansion, and function-specific buying signals.

Multi-ATS Company Jobs Scraper

automation-lab/multi-ats-jobs-scraper

Scrape job listings from company career pages across 5 ATS platforms: Greenhouse, Workday, SmartRecruiters, Lever, and Ashby. Standardized output with 15 fields per job. Pure HTTP, no browser needed.

πŸ‘ User avatar

Stas Persiianenko

90

Multi-ATS Jobs Scraper (Greenhouse, Lever, Ashby)

alwaysprimedev/multi-ats-jobs-scraper

Scrape job postings from Greenhouse, Lever, and Ashby into one unified, structured dataset. No login. Salary, location, department, employment type β€” normalized across all three ATS. Per-company change-detection between runs.

23