Intent Signal Aggregator
Pricing
from $4.00 / 1,000 signal founds
Intent Signal Aggregator
Is this company in-market right now? Combines public hiring activity (Greenhouse, Lever, Ashby) and recent news (funding, launches, partnerships) into one intent score per company. No login, no API keys, no proxies.
Pricing
from $4.00 / 1,000 signal founds
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Intent Signal Aggregator — Hiring + News Buying Signals
Is this company in-market right now? This Actor pulls two public, keyless buying-intent signals into one row per company — hiring activity and recent press coverage — and combines them into a single intent score. No login, no API keys, no proxies.
The problem
Sales and marketing teams pay $15,000+/year for intent-data platforms (Bombora, ZoomInfo Signals) to answer one question: is this account showing signs of budget movement? Most of that signal is sitting in public data — a company's own job board and its recent press coverage — you just have to pull and score it yourself.
What you get
- 💼 Hiring signal (reused from company-hiring-radar) — open roles on Greenhouse/Lever/Ashby, broken down by sales/marketing/engineering headcount.
- 📰 News signal — recent headlines (last 30 days) from Google News RSS, flagged for intent keywords (funding, launch, expansion, partnership, acquisition, new exec hires…).
- 🎯 Combined intent score (0–100) and a plain-English list of the signals that drove it.
- Honest source coverage. Every row says which of the two signals it actually managed to check — a source that timed out is never silently folded into the score as if it came back empty (see below).
- Runs on Apify: schedule it, monitor it, call it from the API or the MCP server, export to JSON, CSV or Excel, or push results straight into your own pipeline.
Source coverage — partial data is never passed off as complete
Earlier runs scored whatever came back and stayed silent about the rest: if the news feed timed out, a company with genuine news momentum could score as "quiet" with no way to tell the difference from an actual zero-signal company. Every row now carries sourceCoverage and sourceErrors alongside the score:
sourceCoverage.hiring/sourceCoverage.news— one ofok(checked successfully),error(that source failed this run — timeout, rate limit, bad response) ornot_requested(you didn't give a hiring token for this company).sourceErrors.hiring/sourceErrors.news— the reason, when a source iserror;nullotherwise.
If every signal you asked for errors out, the row comes back found: false with intentScore: null and is not charged. If at least one signal came through, you get a real score and a real charge — but the row also tells you which half (if any) is missing, so a partial result never quietly reads as a complete one.
How to run it
- Click Try for free — no card needed on the free plan.
- Paste companies into Companies, one per line — an ATS token for hiring, a plain name for news, or
Name|tokenfor both. - Press Start. Results appear in the dataset — read them in the UI, pull them from the API, or have a webhook push them onward.
Pricing
Pay-per-event: $0.005 per run start + $0.004 per result. No monthly seat, no minimum. 100 companies checked cost about $0.41; 1,000 about $4.01.
A company where every requested signal errored out is found: false and not billed. A genuine zero-signal company (both sources checked successfully, nothing found) is also found: false and free. You only pay when at least one signal actually came back — and even then, the row's sourceCoverage tells you if the other half is missing.
Input
| Field | Required | What it does |
|---|---|---|
companies | yes | One entry per company. greenhouse:stripe / lever:x / ashby:y → hiring signal only. A plain name like Microsoft → news signal only. Name|greenhouse:token → both signals for the same company. |
maxConcurrency | no | How many companies to check in parallel, 1–10 (default 4). |
{"companies": ["greenhouse:stripe", "Microsoft", "Ramp|ashby:ramp"],"maxConcurrency": 4}
Output
One dataset row per company. This is a real row from a real run (trimmed to the first few headlines):
{"input": "Microsoft","companyName": "Microsoft","found": true,"hiring": null,"recentNews": [{"title": "Microsoft and Mistral expand strategic partnership to give enterprises and regulated industries frontier AI they can control - Microsoft Source","link": "https://news.google.com/rss/articles/CBMi_wFBVV95cUxOYXY2QVMzcXpqZGY5T3NmRl9BX3FQdWkybktodjNVQWxxTTFFSjhfcHFWdUVNRVlRUkNlWFNFT1hUa2pIQks0ek9DNGp5WFJ3VXROeVZDS1BMU3JGd0JNc3U3LTBJcUNIRHBELUM1UFBGcHdRWGNxdkJJbnU2bk5ZUFlLODFaY2xNaDhrMDFxUy02S3dCWFhtb2VxazZVdERlN3lDX1l6ZjdfVkwtUXM2N0JaaWQ4cGRtbkNWRXVqUEJEdS1WbVRBalZVeWZLLUVMZms2am5mdDBDYnJoNThMUTZwbWUyUUdMRUhMM0tPNUIzN3pXc2s2eTNZWWtjeDA?oc=5","pubDate": "2026-07-21T12:38:22.000Z"},{"title": "Improving Windows Search Box, with less clutter and more control - Windows Blog","link": "https://news.google.com/rss/articles/CBMiuAFBVV95cUxQZm9YZTFTVkQ1SlZTelNUc1doVzdESkE0WFQ1Z2lDVnJrTzYtTEdBZlNhYkR4SzNtaXhfTmR1X19VaDFzV3Z4UVRCN05ITTJIUGFBUzZqQnRyNi00MWJtTGFic0Z6clpJQUFPT21yX3FOb2ktRGZGVmpLbGZMX3FENm8yOWtFVVllVGktUXc4RjJONFV3azBXeTZVWTJnUlNzLUpHSU53WUM2ZjZDMVdTWWVoSERGUHBV?oc=5","pubDate": "2026-07-13T07:00:00.000Z"},"… 13 more headlines, same shape"],"intentSignals": ["news: \"Microsoft and Mistral expand strategic partnership to give enterprises and regulated industries frontier AI they can control - Microsoft Source\" (partnership)","news: \"Microsoft expands Azure AI and HPC infrastructure with AMD - The Official Microsoft Blog\" (expands)","news: \"Databricks and Microsoft expand partnership to help enterprises bring business context to enterprise AI - Microsoft Source\" (partnership)"],"intentScore": 30,"sourceCoverage": {"hiring": "not_requested","news": "ok"},"sourceErrors": {"hiring": null,"news": null},"summary": "Microsoft — 15 recent headline(s), intent score 30/100.","checkedAt": "2026-07-26T13:19:32.328Z"}
| Field | What it means |
|---|---|
found | Whether any signal was found — false means not billed |
hiring | {provider, openRoles, salesHiring, marketingHiring, engineeringHiring} or null if no ATS token was given, or none was found |
recentNews | Up to 15 headlines from the last 30 days, each {title, link, pubDate} |
intentSignals | Human-readable list of what drove the score |
intentScore | 0–100, combining hiring volume/function mix and intent-keyword news hits; null when no signal could be verified at all |
sourceCoverage | {hiring, news}, each ok / error / not_requested — for this "Microsoft" row (no ATS token given, news fetched cleanly) that reads {"hiring": "not_requested", "news": "ok"} |
sourceErrors | {hiring, news} — the failure reason when sourceCoverage says error, null otherwise |
summary | One-liner |
Need the rest of the picture?
These run on the same account, take the same shape of input and bill the same way, so they slot into an existing pipeline without new plumbing.
| Actor | What it does |
|---|---|
| B2B Lead Enricher | Turn a list of company websites into sales-qualified lead cards: detected tech stack, a rough revenue… |
| Company Hiring Radar | Pull every open role a company is hiring for from its public job board (Greenhouse, Lever, Ashby) and turn… |
| Company Profile Lookup | Turn a domain or company name into one unified company card: website tech stack (CMS, ecommerce, key tech)… |
| Company Registry Enricher | Turn a company name, LEI or UK company number into an official registry card: legal name, status,… |
| Website Tech Stack Detector | Detect the technologies a website runs — CMS, ecommerce platform, analytics, marketing/CRM, JS framework,… |
FAQ
Does it need an API key / login? No. Greenhouse, Lever and Ashby expose public unauthenticated job-board APIs; Google News RSS is a public feed. No credentials anywhere.
How fresh is the data? Hiring is live at request time. News covers the last 30 days from Google News' index.
What if a company has no ATS board and no recent news? You get found: false and intentScore: 0 with sourceCoverage showing both sources as ok — genuinely nothing to build a signal from, not a source failure.
What if my hiring or news source times out? The row still returns whatever the other source found (and is billed for it), but sourceCoverage marks the failed side error with a reason in sourceErrors — the score never pretends to be based on both signals when it isn't.
Can I call it from an AI agent? Yes — it's a standard Apify Actor, callable via the Apify API or the Apify MCP server.
What this is NOT. It is not a paid intent-data feed with proprietary co-op data (Bombora-style) — both signals here are public and keyless, which is also why they're cheap. It does not infer intent from anything private.
Found a wrong result, or need a signal we don't track? Open an issue on this Actor's page.