Hiring Intent Scraper – Companies Hiring & Hiring Signals avatar

Hiring Intent Scraper – Companies Hiring & Hiring Signals

Pricing

from $20.00 / 1,000 company signals

Go to Apify Store
Hiring Intent Scraper – Companies Hiring & Hiring 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

inovaflow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

FieldWhat it tells you
company, domain, website, linkedinUrl, careersUrlWho — ready for enrichment or CRM matching
signalScore (0–100)One sortable number: volume × recency × cross-board presence × momentum × intent breadth
matchingOpenRoles, matchedRoleTitles, matchedQueriesHow many of your roles are open, and which
totalOpenRoles, departments, seniorityMixThe 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, newLocationsSinceLastRunExactly what opened and closed, and where a company started hiring for the first time
rolesPosted7d, rolesPosted30d, newestPostedAtVelocity — 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, isUrgentHiringWhere, 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, companySizeFirmographics 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…TagSell into
SDR / BDR / outboundscaling-outboundsales engagement, dialers, B2B data, intent data, outbound agencies
Account executivesexpanding-sales-teamCRM seats, enablement, conversation intelligence
RevOps / SalesOps / MarketingOpsbuilding-revops-stackCRM consulting, revenue intelligence, forecasting, CPQ
Data / analytics engineersbuilding-data-teamwarehouses, ELT, orchestration, data quality, BI
ML / AI / LLM engineersbuilding-ai-capabilityLLM APIs, vector DBs, GPU compute, ML platforms
DevOps / SRE / platformscaling-infrastructurecloud, Kubernetes, observability, incident management
Securityinvesting-in-securitysecurity tooling, SOC/MDR, compliance automation
Customer success / supportscaling-customer-success / scaling-supportCS platforms, help desks, AI support
Demand gen / content / product marketingramping-demand-gen / investing-in-content-seo / launching-productsmarketing automation, agencies, SEO, ABM
Recruiters / talent acquisitionhiring-surge-aheadATS, sourcing tools, employer branding
Finance / legal / people opsfinance-build-out / compliance-build-out / scaling-people-opsERP, FP&A, CLM, HRIS, payroll
VP / Head of / Director / C-levelleadership-hirenew function or reorg — executive-level budgets
Roles in a city the company never hired inopening-<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

  1. Roles that signal intent — one per line (Sales Development Representative, Data Engineer, Revenue Operations).
  2. Locations — cities, regions or countries; or leave empty with Remote roles only.
  3. Optionally paste a watchlist, set industry / size filters, or pick the posting window (default: last 30 days).
  4. 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.