Know which companies are about to buy. When a company opens roles for the team you sell to - data engineers, security, RevOps, support - it's usually expanding that team and about to spend on its tools. This Actor watches your target accounts' career pages (or discovers companies through job searches) and gives you one scored signal per company: how many matching roles, how fresh, which functions, seniority and locations, and what's new since last week.
Built for SDRs and account executives prioritising outreach, RevOps teams feeding intent data into the CRM, founders doing account-based selling, recruiters and agencies spotting growing teams, and investors tracking portfolio and competitor growth.
At a glance
- Price: 1 cent per company with matching roles; companies without them are free. Free plan: up to 50 companies per run.
- First run: the prefilled input checks Stripe, Spotify and Ramp for data and machine-learning roles in about 3 seconds.
- Sample data: results from a recent run as CSV or JSON. Opens in your browser, no account needed.
| company | signalScore | matchingRoles | one of the roles |
|---|---|---|---|
| Stripe | 80 | 6 | Machine Learning Engineer, Radar |
| Spotify | 60 | 4 | Data Scientist - Business Analytics |
| Ramp | 30 | 1 | Senior Analyst, Employee Lifecycle Data (Workday) |
Why this Actor
- Signals, not job dumps. One row per company, ranked by a simple score (more matching roles, fresher roles, and new roles since last run score higher), with the matching roles listed underneath. Ready to hand to a sales team.
- Your definition of intent. Choose the role keywords that matter for your product, and narrow by seniority, job function, work mode, employment type, region and recency. Require tech-stack mentions (e.g. roles that mention
Snowflake) for technographic signals, and exclude existing customers. - Tracks change over time. Every signal shows new matching roles and the change in the company's total open roles since the previous run. With Only new or changed companies, a weekly schedule becomes an intent feed - you're charged only for changes.
- Just paste the website. Give a company's website (
stripe.com) or name and it finds the company's jobs board itself, and only accepts a board that links back to that website. Reads Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Personio, Teamtailor and more; a jobs page link works too. No API keys or logins. - Fast and cheap to run. Runs finish in seconds. A dozen target accounts take a few seconds.
- Handles rate limits for you. Waits as long as a site asks when it says "slow down" (HTTP 429), and retries timeouts and dropped connections automatically.
How to use it
- Paste your target accounts' websites - for example
stripe.com(a name or a jobs page link likehttps://jobs.lever.co/spotifyworks too). Or add job searches (likedata engineerinGermany) to discover companies you don't know yet. You can combine both. - Enter the roles that signal intent for you, and anything to ignore.
- Press Start. Then schedule it weekly with Only new or changed companies and connect Slack, Google Sheets or your CRM.
Example input
{
"companies": [
"stripe.com",
"https://jobs.lever.co/spotify",
"ramp.com"
],
"searches": ["data engineer"],
"searchLocation": "Germany",
"roleKeywords": ["data", "analytics", "machine learning"],
"excludeKeywords": ["intern"],
"postedWithinDays": 30,
"onlyChanged": true
}Weekly intent feed
Turn on Only new or changed companies and schedule the Actor weekly. The first run reports every company with a signal; after that you only get companies that are new or opened new matching roles. Connect Slack, e-mail, Google Sheets, HubSpot or Salesforce (via Zapier or Make) so your team sees them where they work.
Hiring and layoffs side by side
Turn on Add US layoff notices (WARN) to match each company against the official WARN lists of California, Colorado, Iowa, Maryland and Texas. US employers must file these notices before larger layoffs and closures, so a company that is hiring data engineers while filing a closure for a warehouse shows both in one record. Pick the states and how far back to look (default: a year). Matching uses the company name; no extra charge.
Use it as an instant API
The Actor also runs in Standby mode - an always-ready endpoint that returns signals straight in the response, handy for enrichment workflows and AI agents. Find the URL on the Standby tab and POST the input as JSON.
Use it in Clay
Add a Run Apify Actor column (Clay's Apify integration, connected to your Apify account), pick tacps126/hiring-signals and use this input. Type / inside the quotes to insert your column (company website; a name or a jobs page link also works):
{"companies": ["/Website"], "includeRoles": false}Each row gets open roles, roles posted in the last 7 days, split by function, seniority and location, a hiring signal score and the jobs page it found. A company without a supported jobs board comes back as no-job-board-found, free of charge. Keep auto-update off while you test.
To start a table from this Actor instead, use Import data from Apify actor with {"searches": ["head of security"], "searchLocation": "United States"}: every company hiring for the role, with open roles and a hiring signal score.
More Clay recipes: tacps126.github.io/clay.html.
Pricing
Pay per result: about $10 per 1,000 company signals - one cent per company with matching roles (lower on higher Apify plans), plus a tiny start fee. Companies without matching roles, and (when monitoring) unchanged companies, are free. See the Pricing tab, and set a maximum charge per run to cap spend.
On Apify's free plan each run returns up to 50 companies - enough to try it on your accounts. Any paid Apify plan removes the limit.