Hiring Intent Scraper – Companies Hiring & Hiring Signals
Pricing
from $20.00 / 1,000 company signals
Hiring Intent Scraper – Companies Hiring & Hiring Signals
Companies hiring by role as company-level buying signals: open-role counts, momentum vs your last run, departments, seniority mix and role→intent tags (scaling outbound, building data team…). Multi-board coverage merged and deduped per company. Dataset-only, MCP-ready.
Pricing
from $20.00 / 1,000 company signals
Rating
0.0
(0)
Developer
inovaflow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Companies hiring by role, packaged as company-level buying signals — not job postings. Tell it which roles mean intent for you (SDRs, data engineers, RevOps…), and get one row per company: how many matching roles are open, how that number moved since your last run, which departments and cities are growing, and what the hiring pattern says the company is about to buy.
If you sell to companies that are about to need you, job postings are the earliest public signal there is: a company hiring three SDRs is building an outbound motion; a company hiring its first data engineer is about to buy a warehouse; a VP of Security posting means a security budget just got approved. Signal-based outreach converts several times better than cold lists — but every job scraper hands you the seeker's view: thousands of postings with apply links, the same role syndicated across five boards, no company roll-up, no memory of last week. This Actor is the seller's view.
Hiring intent data, one row per company
Each run searches several public job boards and employer career pages for the roles you watch, merges every posting to its company (the same req on three boards counts once), and writes a company-level signal row:
| Field | What it tells you |
|---|---|
company, domain, website, linkedinUrl, careersUrl | Who — ready for enrichment or CRM matching |
signalScore (0–100) | One sortable number: volume × recency × cross-board presence × momentum × intent breadth |
matchingOpenRoles, matchedRoleTitles, matchedQueries | How many of your roles are open, and which |
totalOpenRoles, departments, seniorityMix | The whole hiring picture when a career page is readable — every department, from intern to VP |
momentum, momentumTrend, previousMatchingOpenRoles | Δ open roles vs your previous run: growing, steady, shrinking, new, gone |
newRolesSinceLastRun, closedRolesSinceLastRun, newLocationsSinceLastRun | Exactly what opened and closed, and where a company started hiring for the first time |
rolesPosted7d, rolesPosted30d, newestPostedAt | Velocity — useful even on the very first run |
signalTags, intents[] | The role→intent layer: scaling-outbound, building-data-team, investing-in-security, opening-berlin, hiring-surge-ahead… each with evidence titles and a strength |
locations, countries, remoteRoles, boards, isUrgentHiring | Where, how many remote, on which boards, and whether the company flagged the hire as urgent |
roles[] | Up to 25 underlying roles (title, location, seniority, department, posted date, link) for drill-down |
industry, companySize | Firmographics when a board reports them — also usable as discovery filters |
The Companies hiring dataset view is the signal table; Momentum shows what changed; Intent & departments shows the sell-into layer.
Companies hiring: discover or watch
- Discovery — leave the watchlist empty. Enter the roles and locations, optionally narrow by industry words or headcount band, and get every company hiring those roles in that market, ranked by signal score.
- Watchlist — paste your target accounts (company names, domains, LinkedIn company URLs or career-board handles). Every account gets a row, including the ones not hiring, so an agent can tell "no signal" from "not checked". Career pages of watchlisted companies are read directly for the complete open-role picture.
Hiring signals that move: momentum across runs
Run the same watch again (same roles + locations + watchlist, or the same Watch ID) and each row carries its change since last time. Momentum is measured, not sampled: every company seen before is re-read directly on every run (its career page and a company-scoped board search), so a company is reported as momentumTrend: gone only when its own checks come back empty — once, and it is tagged resumed-hiring if it comes back. momentum is the exact change in matching roles; momentumTrend calls it growing or shrinking only when the change is meaningful (at least two roles and 20 %, or a 50 % swing), so a +1 on a company with 30 open roles stays steady. Put it on a daily or weekly Schedule and the dataset becomes a live hiring-momentum feed.
Role → intent mapping (what hiring for X means)
The intent layer is a curated vocabulary of role families, each mapped to a buying signal and to what typically gets bought:
| Hiring for… | Tag | Sell into |
|---|---|---|
| SDR / BDR / outbound | scaling-outbound | sales engagement, dialers, B2B data, intent data, outbound agencies |
| Account executives | expanding-sales-team | CRM seats, enablement, conversation intelligence |
| RevOps / SalesOps / MarketingOps | building-revops-stack | CRM consulting, revenue intelligence, forecasting, CPQ |
| Data / analytics engineers | building-data-team | warehouses, ELT, orchestration, data quality, BI |
| ML / AI / LLM engineers | building-ai-capability | LLM APIs, vector DBs, GPU compute, ML platforms |
| DevOps / SRE / platform | scaling-infrastructure | cloud, Kubernetes, observability, incident management |
| Security | investing-in-security | security tooling, SOC/MDR, compliance automation |
| Customer success / support | scaling-customer-success / scaling-support | CS platforms, help desks, AI support |
| Demand gen / content / product marketing | ramping-demand-gen / investing-in-content-seo / launching-products | marketing automation, agencies, SEO, ABM |
| Recruiters / talent acquisition | hiring-surge-ahead | ATS, sourcing tools, employer branding |
| Finance / legal / people ops | finance-build-out / compliance-build-out / scaling-people-ops | ERP, FP&A, CLM, HRIS, payroll |
| VP / Head of / Director / C-level | leadership-hire | new function or reorg — executive-level budgets |
| Roles in a city the company never hired in | opening-<city> | local vendors, office services, regional partners |
Twenty-plus role families cover sales, marketing, CS, data, AI, engineering, infrastructure, security, product, design, people, finance, legal, operations, IT and clinical roles. Abbreviations are understood (SDR, AE, SRE, CSM, MLE…) and matched to their family, so SDR also catches "Sales Development Representative" — while the loosely related listings boards return for a keyword (retail sales associates for an SDR search) are gated out by title.
Who uses it
- Outbound / GTM teams — a signal feed for account prioritisation: who is scaling the function you sell into, this week.
- Sales-intelligence & data teams — a company-level hiring dataset to join with enrichment and CRM data instead of deduping postings yourself.
- Agencies and consultancies — spot companies building a capability before they go to market for help.
- Investors and analysts — hiring momentum by company, department and city as a growth proxy.
- AI agents — a keyword-discoverable tool that runs unattended and returns a clean, typed dataset.
Set it up in a minute
- Roles that signal intent — one per line (
Sales Development Representative,Data Engineer,Revenue Operations). - Locations — cities, regions or countries; or leave empty with Remote roles only.
- Optionally paste a watchlist, set industry / size filters, or pick the posting window (default: last 30 days).
- Start. Re-run (or schedule) to get momentum.
Sources: several public job boards plus employer career pages, all built in — nothing is outsourced to third-party scrapers and no nested Actor is run. Each board can be toggled; the defaults are sized for a run of a few minutes on a national search, well under a minute on a city or a watchlist.
Ask your AI assistant (MCP)
Connect mcp.apify.com to Claude, Cursor or any MCP client and ask: "Which companies in Berlin are hiring data engineers right now?", "Give me hiring intent signals for SDR roles in the US this week", "Is anyone on my watchlist scaling outbound?" — the assistant runs this Actor with the right input and reads the company rows back. The input has no required secrets, every field has a working default, and the output is one dataset with typed, stable field names, so agents can call it unattended and poll the same watch for momentum.
Via API:
curl -X POST "https://api.apify.com/v2/acts/inovaflow~hiring-intent-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"roles": ["SDR", "Account Executive"], "locations": ["United States"], "postedWithin": "week", "watchId": "outbound-us"}'
Pricing
Pay per company signal delivered — a company row with at least one matching open role. Rows for watchlisted companies with nothing open, rows for companies that stopped hiring, and empty runs are free, and so are duplicates (a company is one row no matter how many boards list it). A one-role, one-country run typically returns 50–150 companies. The platform's small per-run start fee applies. Cap what you pay with Maximum companies to report.
FAQ
How is this different from a job scraper? A job scraper returns postings for job seekers. This returns companies for sellers: merged across boards, deduplicated by company, with momentum, intent tags and firmographics — the dataset an outbound tool consumes directly.
Does it use my LinkedIn account or any login? No. Only publicly visible listings and public career pages are read; no credentials are needed.
What does matchingOpenRolesAnywhere mean? For companies whose career page was readable, the number of matching roles company-wide, regardless of your searched locations — "hiring 2 SDRs in Austin, 12 worldwide".
Can I get the raw postings too? Turn on Also export the underlying postings — they go to a separate named dataset (ID and URL in the run's OUTPUT record) so the company table stays clean.
Why did a company show new and then gone? Discovery samples very broad searches, so a company can first surface on any run (new). Once seen, it is re-read directly every run, and gone means those direct reads found none of your roles. Raise Max postings per role × location × board to widen discovery.
Does it work outside the US? Yes — locations map to the right country editions of each board; board strength varies by country, which is why several boards are on by default.
Can nested runs bill a different Apify account? Optionally: set the MCP connector field (Advanced) and the board searches run as our published Actors under that account. Leave it empty to run everything built in, on this run.
Notes
Reads publicly visible listings and public career pages only. Signals are derived from public hiring activity and role titles; treat them as a prioritisation input, not a statement about any company's plans. Momentum state lives in a named key-value store in your own Apify storage (hiring-intent-state-<watchId>); delete it to reset a watch.