Multi-ATS Tech Hiring Signals (Greenhouse, Lever, Ashby)
Pricing
$2.50 / 1,000 results
Multi-ATS Tech Hiring Signals (Greenhouse, Lever, Ashby)
Turn Greenhouse, Lever and Ashby job boards into B2B buying signals and salary benchmarks. Detect tech-stack keywords (Snowflake, Salesforce, Rust, AI…), extract pay bands, normalize locations, delta mode for daily monitoring. 100% HTTP, no proxy.
Pricing
$2.50 / 1,000 results
Rating
0.0
(0)
Developer
Xavier Richard
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Multi-ATS Tech Hiring Signals & Compensation Intel (Greenhouse, Lever, Ashby)
Turn public job boards from Greenhouse, Lever (US & EU), and Ashby into actionable B2B buying signals, 120+ tech-stack intelligence, seniority/department classification, and salary benchmarks.
Built for B2B Sales / RevOps / GTM Engineers (Clay, HubSpot, Apollo), technical recruiters, and VC / market analysts, this Actor queries the official public posting APIs directly over 100% pure HTTP — no headless browser, zero proxy required, and a minimal 128–256 MB RAM footprint.
Key Capabilities & GTM Intelligence (V2)
- Automatic 120+ Tech Stack Detection (
fullTechStack&techCategories): Out of the box — even whentechKeywordsis left empty — every posting is scanned against a curated dictionary of 120+ B2B technologies across 7 categories:ai_ml(OpenAI,Anthropic,LangChain,LlamaIndex,RAG,PyTorch,vLLM,Hugging Face,Pinecone,Qdrant...)data_analytics(Snowflake,Databricks,BigQuery,Redshift,dbt,Airflow,Dagster,Fivetran,Kafka,Looker,Tableau...)cloud_devops(AWS,GCP,Azure,Kubernetes,Docker,Terraform,Datadog,Grafana,OpenTelemetry,GitHub Actions,ArgoCD...)databases_storage(PostgreSQL,MySQL,MongoDB,Redis,Elasticsearch,ClickHouse,DynamoDB,Supabase...)languages_frameworks(TypeScript,Python,Rust,Go,Java,C++,C#,.NET,React,Next.js,Node.js,FastAPI,GraphQL...)crm_gtm_revops(Salesforce,HubSpot,Clay,Gong,Outreach,Salesloft,Apollo,ZoomInfo,6sense,Segment,Braze,Stripe,NetSuite,Workday...)security_compliance(Okta,Auth0,CrowdStrike,Snyk,Wiz,Vanta,Drata,SOC 2,ISO 27001,HIPAA,GDPR...)
- Synonym & Context-Aware Keyword Matching (
detectedTechKeywords):- Automatically expands common aliases (
Kubernetes↔K8s,PostgreSQL↔Postgres,Salesforce↔SFDC,AWS↔Amazon Web Services,GCP↔Google Cloud,SOC 2↔SOC2). - Context-sensitive disambiguation for ambiguous names (
GomatchesGolangorGoalongside technical terms, never English"go to";Clay,Gong,Outreach,Segment,Linear,Sparkrequire proper capitalization or GTM/data context).
- Automatically expands common aliases (
- High-Intent B2B Buying Signals (
buyingSignals): Automatically tags postings with actionable GTM triggers:leadership_hire(new CTO, VP, Head of, Director)founding_or_first_hire("founding engineer", "first data hire", "0 to 1", "greenfield")migration_or_modernization("migrate from/to", "legacy system", "cloud migration", "re-architecting")ai_transformation(LLM, RAG, agentic workflows, fine-tuning)revops_gtm_scaling(RevOps / GTM Systems expansion)security_compliance_push(SOC 2, ISO 27001, HIPAA, Vanta/Drata rollouts)team_expansion("rapidly growing team", "scaling our team")
- Normalized Seniority (
seniority) & Department (departmentCategory):- Classifies every job title into 12 seniority levels (
c-level,vp,director,head,principal,staff,lead,manager,senior,mid,junior,intern). - Maps raw ATS department strings into 12 canonical B2B categories (
Engineering,Data & AI,Sales & GTM,Revenue Operations,Security & IT,Product & Design,Customer Success,Marketing,People & Talent,Finance & Legal,Operations,Other).
- Classifies every job title into 12 seniority levels (
- Company Domain Extraction (
companyDomain): Extracts clean company root domains (stripe.com,dust.tt) from custom career URLs and Ashby's organization metadata for immediate table joins in Clay, HubSpot, Apollo, or Salesforce. - Compensation Benchmarking (
compensation):- Extracts structured pay bands from Greenhouse (
pay_input_ranges&.pay-range), Lever (salaryRange), and Ashby (compensation), plus a conservative free-text salary parser. - Preserves multi-zone/multi-tier salary bands in
compensation.allRanges, computesannualizedMin&annualizedMax, and flagsoffersEquity(true/false) andoffersBonus(true/false).
- Extracts structured pay bands from Greenhouse (
- Smart Delta Mode & Job Lifecycle Tracking (
onlyNew):- Persists job IDs and content fingerprints (
title + location + salary) in the named Key-Value Storemulti-ats-hiring-signals-state. - Re-emits jobs whose salary band or title changed (
changeStatus: "updated"). - Diffs each board against its previous snapshot to count closed/filled positions since the last run (
closedJobsSinceLastRuninSUMMARY).
- Persists job IDs and content fingerprints (
Supported ATS & Public Endpoints
| ATS | Public Endpoints Integrated | Special Capabilities |
|---|---|---|
| Greenhouse | GET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs?content=true&pay_transparency=trueGET https://boards-api.greenhouse.io/v1/boards/{board_token}/jobs/{job_id}?questions=true | Extracts hidden locations/workplace types from metadata, parses multi-zone pay_input_ranges (cents) and .pay-range HTML blocks, and fetches application questions on demand. |
| Lever (US & EU) | GET https://api.lever.co/v0/postings/{site}?mode=jsonGET https://api.eu.lever.co/v0/postings/{site}?mode=json | Automatic US → EU instance fallback, full pagination (limit=100 & skip) for large boards (>20 jobs), salaryRange + salaryDescriptionPlain extraction, and HTML apply-form card parsing. |
| Ashby | GET https://api.ashbyhq.com/posting-api/job-board/{job_board_name}?includeCompensation=true | Structured compensation parsing (Salary + Equity + Bonus components & tiers), unlisted job filtering, plus company display name, publicWebsite (companyDomain), and application form resolution via Ashby's public GraphQL endpoint. |
Flexible Target Formats & Parallel Auto-Detection
Pass any mix of the following in targets:
- Raw company slug / board token (ATS is automatically detected by probing Greenhouse, Ashby, Lever US, and Lever EU in parallel):
"stripe","openai","dust","palantir"
- Prefixed slug (skips probing when you already know the ATS):
"greenhouse:stripe","gh:airbnb","lever:palantir","lever-eu:acme","ashby:dust"
- Full ATS career board URL (ATS, region, and token are parsed automatically):
https://boards.greenhouse.io/stripehttps://job-boards.eu.greenhouse.io/acmehttps://jobs.lever.co/palantirhttps://jobs.eu.lever.co/acmehttps://jobs.ashbyhq.com/dust
- Company careers page URL (fetched once and inspected for an embedded Greenhouse, Lever, or Ashby board):
https://www.company.com/careers
- Structured target object (via API):
{ "url": "https://boards.greenhouse.io/stripe", "company": "Stripe" }{ "ats": "lever", "token": "palantir", "region": "us", "company": "Palantir Technologies" }
Unified Output Schema (Dataset Item)
{"jobId": "gh-1234567","ats": "greenhouse","company": "Stripe","companyToken": "stripe","companyDomain": "stripe.com","title": "Senior Solutions Architect - Data","seniority": "senior","department": "Engineering","departmentCategory": "Engineering","location": "Paris, France (Hybrid)","isRemote": false,"publishedAt": "2026-10-15T10:30:00.000Z","url": "https://boards.greenhouse.io/stripe/jobs/1234567","compensation": {"min": 85000,"max": 110000,"currency": "EUR","period": "yearly","annualizedMin": 85000,"annualizedMax": 110000,"offersEquity": true,"offersBonus": true,"summary": "Zone A - Paris","source": "ats_structured"},"detectedTechKeywords": ["Snowflake", "Python"],"fullTechStack": ["Snowflake", "dbt", "Python", "AWS", "Terraform"],"techCategories": {"data_analytics": ["Snowflake", "dbt"],"cloud_devops": ["AWS", "Terraform"],"languages_frameworks": ["Python"]},"buyingSignals": ["migration_or_modernization"],"questions": [],"atsJobId": "1234567","workplaceType": "hybrid","city": "Paris","region": null,"country": "France","countryCode": "FR","allLocations": ["Paris, France"],"employmentType": "Full-time","updatedAt": "2026-10-16T08:15:00.000Z","applyUrl": "https://boards.greenhouse.io/stripe/jobs/1234567","requisitionId": "JR-9941","changeStatus": "new","scrapedAt": "2026-10-19T20:00:00.000Z"}
Local Development & Testing
# Install dependenciesnpm install# Validate all Apify schemas (.actor/*.json)apify validate-schema# Run linter and unit/integration test suitenpm run lintnpm test# Run the Actor locallyapify run