Find Companies Hiring — Job Board Scraper & Signals (7 ATS) avatar

Find Companies Hiring — Job Board Scraper & Signals (7 ATS)

Pricing

Pay per event

Go to Apify Store
Find Companies Hiring — Job Board Scraper & Signals (7 ATS)

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

Andrey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

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_unspecified
  • salary_detected — salary range found in the description text (e.g. $152,800 - $190,000)
  • tech_stack — technologies detected in the posting
  • days_open / stale — how long the posting has been open; stale: true (45+ days) flags likely evergreen/ghost jobs — a weaker buying signal
  • compensation — publisher-provided range (Ashby boards)

The signal_score (0–100)

A transparent heuristic — no black box:

ComponentMax pointsMeaning
Matching roles open40Volume of hiring around your keywords
Share of matching roles20How focused the hiring is on your niche
Freshness of newest posting20Recency = live budget
Postings in last 30 days20Hiring 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

FieldDescription
discoverCompanies + discoverLimitZero-input discovery: sample from the built-in ~8,800-company job-board directory and return only companies hiring for your keywords
companyNamesAuto-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
boardsBoard 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
keywordsMatch against title, department, location and full description (golang, SDR, salesforce…). Empty = all jobs
keywordsModeany (broad) or all — require every keyword, e.g. python AND aws (precise targeting)
searchDescriptionsAlso search inside full job descriptions — the way to detect tech stacks
locationFiltere.g. remote, berlin, united states
postedWithinDaysOnly jobs posted in the last N days — fresh postings are the strongest signal
rolePresetsCurated keyword bundles (Sales, Engineering, AI/ML, Leadership…) — pick roles instead of inventing keywords
excludeStaleDrop postings open 45+ days (evergreen/ghost jobs)
extractTechStackDetect ~120 technologies (languages, clouds, SaaS tools) per job → tech_stack field + top_technologies per company. On by default, no extra cost
onlyNewJobsDelta mode: remembers seen jobs between runs and outputs only NEW postings. Schedule daily → get only fresh signals into Slack/n8n/email
outputModecompanies (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 ActorLinkedIn scrapers
Data sourceCompany's own live job board APIScraped HTML behind anti-bot
FreshnessReal-timeHours–days, breaks often
Cookies / accountsNone neededOften require session cookies
Full descriptionsYes, including tech stackFrequently truncated
ReliabilityStable public JSON APIsBreaks 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.