Find Companies Hiring — Job Board Scraper & Signals (7 ATS)
Pricing
Pay per event
Find Companies Hiring — Job Board Scraper & Signals (7 ATS)
Find companies hiring for what you sell — no list needed: built-in directory of 8,800+ job boards (Greenhouse, Workday, Lever, Ashby +3). Scored B2B leads with tech stacks, new-tech alerts, salaries, hiring velocity, ghost-job flags. CSV-ready output, delta mode. No cookies.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Andrey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
ATS Hiring Signals — Job Board Lead Finder (7 ATS incl. Workday)
Job board scraper & B2B lead finder for Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Workday and Personio — company hiring signals, tech stack and scored leads.
Turn job postings into qualified B2B leads. Companies that are hiring are companies that are buying — new tools, new services, new vendors. This Actor scans public Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Workday & Personio job boards and turns them into structured, scored hiring signals: which companies are growing, in which teams, how fast, and around which technologies.
No LinkedIn cookies. No anti-bot fights. No stale databases — data comes straight from each company's live job board API, so it is as fresh as the company's own careers page.
💥 Composite intent: hiring + funding in one score
For every company with a hiring signal, the Actor checks SEC EDGAR: did this company file a Form D (raise capital) in the last 12 months? The result lands in funding_check, and composite_intent_score adds +15 on top of the hiring score.
A company that is hiring for your keywords AND recently raised money is the hottest B2B lead there is — budget confirmed twice, from two independent official sources. Sort by composite_intent_score and start at the top. (Toggle: checkFunding, on by default.)
🔍 No company list? Discover companies
You don't need to bring a list at all. Enable discoverCompanies and the Actor samples companies from its built-in directory of ~8,800 real job boards (harvested from the Common Crawl web index) across Greenhouse, Ashby, Workable, SmartRecruiters, Personio and Lever — then scans them against your keywords and returns only the companies that are actually hiring for what you sell.
"Find me companies hiring Python engineers right now" becomes a single run with two input fields:
{ "discoverCompanies": ["greenhouse", "ashby"], "discoverLimit": 200, "keywords": ["python"], "outputMode": "flat_leads" }
Every run samples randomly, so scheduled runs keep surfacing fresh companies. Combine with rolePresets and locationFilter to zero in on your exact ICP.
Who is this for?
- B2B sales & SDR teams — a company hiring 5 SDRs is buying sales tooling; a company hiring DevOps engineers is buying infrastructure. Build outreach lists from intent, not directories.
- Recruiting & staffing agencies — spot companies with hiring spikes before your competitors call them.
- Dev-tool & SaaS vendors — filter by tech keywords (
kubernetes,snowflake,hubspot…) to find companies whose job descriptions mention your ecosystem. - Investors & analysts — headcount growth by department is one of the strongest public signals of company trajectory.
What you get
Two record types (choose either or both in outputMode):
company_signal — one aggregated lead record per company:
{"type": "company_signal","company": "gitlab","ats": "greenhouse","board_url": "https://boards.greenhouse.io/gitlab","total_open_jobs": 206,"matched_jobs": 56,"posted_last_30_days": 33,"newest_posting_at": "2026-08-20T17:35:39-04:00","signal_score": 85,"top_departments": [{ "name": "AI Engineering", "jobs": 5 }],"top_locations": [{ "name": "Remote, United States", "jobs": 11 }],"keyword_hits": [{ "keyword": "kubernetes", "jobs": 21 }],"top_technologies": [{ "name": "Python", "jobs": 31 }, { "name": "AWS", "jobs": 24 }],"seniority_mix": { "senior": 21, "mid": 30, "vp_director": 2 },"leadership_hiring": 2,"remote_share_pct": 64,"stale_jobs": 4,"salary_stats": { "jobs_with_salary": 12, "min": 110000, "median": 150000, "max": 210000, "currency_hint": "$" },"new_technologies": ["Kafka", "Snowflake"],"company_domain_guess": "acme.com","hiring_history": [{ "ts": "2026-08-01T00:00:00Z", "matched": 12, "total": 80 }],"trend": { "matched_jobs_change": 5, "total_jobs_change": 9, "previous_run_at": "…" },"sample_jobs": [{ "title": "Senior Backend Engineer", "url": "…" }]}
job — individual matched postings with title, department, location, posting date, URL, matched keywords, plus per-job enrichment:
seniority— junior / mid / senior / manager_lead / vp_director / c_level (parsed from title)workplace— remote / hybrid / onsite_or_unspecifiedsalary_detected— salary range found in the description text (e.g.$152,800 - $190,000)tech_stack— technologies detected in the postingdays_open/stale— how long the posting has been open;stale: true(45+ days) flags likely evergreen/ghost jobs — a weaker buying signalcompensation— publisher-provided range (Ashby boards)
The signal_score (0–100)
A transparent heuristic — no black box:
| Component | Max points | Meaning |
|---|---|---|
| Matching roles open | 40 | Volume of hiring around your keywords |
| Share of matching roles | 20 | How focused the hiring is on your niche |
| Freshness of newest posting | 20 | Recency = live budget |
| Postings in last 30 days | 20 | Hiring velocity |
Sort by signal_score descending and call the top of the list first. Watch two more fields: new_technologies — technologies appearing in a company's postings for the first time between runs (a company that just started mentioning Kafka is choosing Kafka tooling right now), and company_domain_guess — the likely company website extracted from posting texts, your bridge from signal to outreach. Two extra signals worth watching: leadership_hiring > 0 (a new VP or Head-of means new budgets and new vendor decisions) and a positive trend.matched_jobs_change between scheduled runs (acceleration = urgency).
Input
| Field | Description |
|---|---|
discoverCompanies + discoverLimit | Zero-input discovery: sample from the built-in ~8,800-company job-board directory and return only companies hiring for your keywords |
companyNames | Auto-discovery: paste plain company names (Blueground, Acme Corp) — the Actor generates likely slugs and probes all five ATS providers. No need to know board URLs |
boards | Board URLs (boards.greenhouse.io/gitlab, jobs.lever.co/spotify, jobs.ashbyhq.com/ramp, apply.workable.com/blueground, careers.smartrecruiters.com/ServiceNow) or bare company slugs — slugs are probed against all supported providers automatically |
keywords | Match against title, department, location and full description (golang, SDR, salesforce…). Empty = all jobs |
keywordsMode | any (broad) or all — require every keyword, e.g. python AND aws (precise targeting) |
searchDescriptions | Also search inside full job descriptions — the way to detect tech stacks |
locationFilter | e.g. remote, berlin, united states |
postedWithinDays | Only jobs posted in the last N days — fresh postings are the strongest signal |
rolePresets | Curated keyword bundles (Sales, Engineering, AI/ML, Leadership…) — pick roles instead of inventing keywords |
excludeStale | Drop postings open 45+ days (evergreen/ghost jobs) |
extractTechStack | Detect ~120 technologies (languages, clouds, SaaS tools) per job → tech_stack field + top_technologies per company. On by default, no extra cost |
onlyNewJobs | Delta mode: remembers seen jobs between runs and outputs only NEW postings. Schedule daily → get only fresh signals into Slack/n8n/email |
outputMode | companies (lead list), jobs, both, or flat_leads — one flat row per company, ready for CSV/Sheets/CRM import |
Where do I get board slugs?
Any company careers page hosted on boards.greenhouse.io/<slug>, jobs.lever.co/<slug>, jobs.ashbyhq.com/<slug>, apply.workable.com/<slug> or careers.smartrecruiters.com/<Company> — the slug is right in the URL. Quick ways to build a list:
- Google:
site:boards.greenhouse.io "backend",site:jobs.lever.co "fintech",site:apply.workable.com,site:careers.smartrecruiters.com - Your existing account list / CRM — paste company slugs and let the Actor probe all supported providers
- Public company directories (YC companies, industry lists) — most startups use one of these ATS
Why this beats LinkedIn scraping
| This Actor | LinkedIn scrapers | |
|---|---|---|
| Data source | Company's own live job board API | Scraped HTML behind anti-bot |
| Freshness | Real-time | Hours–days, breaks often |
| Cookies / accounts | None needed | Often require session cookies |
| Full descriptions | Yes, including tech stack | Frequently truncated |
| Reliability | Stable public JSON APIs | Breaks on every layout change |
Integrations
Works with all Apify integrations out of the box: export to Google Sheets, Airtable, HubSpot, Zapier, Make, n8n, or fetch results via the Apify API. Schedule it daily and diff newest_posting_at to catch new signals the morning they appear.
FAQ
Is this legal? The Actor reads the same public job-board APIs that power the companies' own careers pages — data companies intentionally publish to attract applicants. No login, no bypassing of access controls.
A company slug returns nothing? The company either uses a different ATS (iCIMS, Oracle HCM — coming in future versions) or has a custom careers page. The Actor logs a warning and continues with the rest.
How many boards can I scan per run? Hundreds — boards are processed concurrently. For thousands, split into several runs.
Something broken or missing a feature? Open an issue on the Actor's Issues tab — I typically respond within 1–2 business days.