Hiring Signal MCP — B2B Buying Intent from Career Pages
Pricing
from $0.01 / 1,000 results
Hiring Signal MCP — B2B Buying Intent from Career Pages
MCP server for AI agents. Detects buying signals from public ATS feeds (Greenhouse, Lever, Ashby). Returns velocity-scored hiring intelligence — find companies hiring RevOps or sales engineers in real time. Native MCP for Claude, Cursor, and Claude Code.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
NoCanDo
Actor stats
0
Bookmarked
0
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
🎯 Hiring Signal MCP — B2B Buying Intent from Career Pages
Detect when companies are actively building teams — and what they're about to buy. Built MCP-first for AI agents (Claude, Cursor, Claude Code).
"A company hiring 1 sales engineer is hiring an SE. A company hiring 5 sales engineers in 60 days is building a sales engineering function — they're about to buy the tools that function needs."
Why this exists
Sales intelligence platforms charge $49–$446/month for hiring/buying-signal data:
| Tool | Price | Hiring data |
|---|---|---|
| Apollo Basic | $49/seat/month | 30,000 credits/year |
| Apollo Professional | $79/seat/month | 48,000 credits/year |
| Clay Launch | $167/month | "Track job changes and other signals" |
| Coresignal Job API | Enterprise quote | 349M jobs |
| Hiring Signal MCP (this Actor) | ~$0.30 per agent call | Real-time, signal-scored, MCP-native |
For an AI agent making 30 calls/day, this Actor costs ~$9/month vs. a $49+/seat/month subscription.
Built for AI agents (MCP-first)
This is a Model Context Protocol server. Agents connect to it directly — no Apify Console clicks required. Once connected, your agent can call:
analyze_company_hiring(domain)— full hiring snapshotget_buying_signals(domain, role_pattern?, threshold?, window_days?)— detected purchase intent signalscompare_hiring_velocity(domains[])— competitive analysis across up to 10 companies
Connect from Claude Desktop or Claude Code
Add to your claude_desktop_config.json (or VS Code MCP config):
{"mcpServers": {"hiring-signal": {"command": "npx","args": ["-y", "mcp-remote", "https://YOUR_USERNAME--hiring-signal-mcp.apify.actor/mcp"],"env": {"APIFY_TOKEN": "your_apify_api_token"}}}}
Then ask Claude: "Find the SaaS companies hiring sales engineers in the US right now and rank them by velocity."
How signals are detected (v1: velocity-based)
A buying signal fires when:
- 3+ open roles match the same canonical role
- Posted within 60 days (configurable)
- Recency-weighted, with confidence scoring
Confidence boosts: all-senior matches (+0.10), multi-geography spread (+0.10), 5+ matches (+0.40 cap). Confidence penalties: intern/junior matches (−0.20).
This is intentionally simple, fast, and deterministic — agents don't have to wait for an LLM to decide. Future versions will add pattern-based signals (specific role combinations) and AI-classified intent.
ATS coverage
| Adapter | Status | Scale | Coverage |
|---|---|---|---|
| Greenhouse | ✅ Production | 30,000+ companies | ~30% of B2B SaaS (Stripe, Airbnb, Pinterest, most YC alumni) |
| Lever | ✅ Production | 5,000+ companies | ~20% of scaleups (Notion, Brex, Mercury) |
| Ashby | ✅ Production | 3,000+ companies | ~10% of well-funded startups (Linear, Ramp) |
| Workable | ✅ Production | 25,000+ companies | EU mid-market & SMB |
| SmartRecruiters | ✅ Production | 4,000+ companies | Global mid-market & enterprise |
| Workday | ✅ Production | 2,500+ tenants | Fortune 500 & global enterprise |
| Careers-page fallback | ✅ Production | Long-tail | JSON-LD → heuristic links → Gemini rescue |
v0.2 covers ~95% of typical B2B targets across SMB, mid-market, and enterprise. The careers-page fallback catches any company not on a named ATS.
Output schema (truncated example)
{"domain": "stripe.com","company_name": "Stripe","total_open_roles": 312,"postings_last_30_days": 47,"postings_last_60_days": 89,"postings_last_90_days": 134,"by_function": {"engineering": 178,"sales": 42,"product": 28,"ops": 19},"by_country": {"US": 198, "IE": 31, "GB": 24, "IN": 18, "AU": 12},"top_technologies": [{"technology": "ruby", "count": 41},{"technology": "go", "count": 28}],"buying_signals": [{"role_pattern": "Sales Engineer","matching_roles_count": 7,"window_days": 60,"confidence_score": 0.80,"explanation": "7 open 'Sales Engineer' roles posted in last 60 days across 3 countries — primarily senior+ roles. Pattern suggests active team buildout."}]}
Pricing — Pay-per-event
You pay only for what the Actor delivers.
| Event | Price | When charged |
|---|---|---|
mcp-tool-call | $0.05 | Per agent tool invocation |
company-analyzed | $0.20 | Per company processed |
role-extracted | $0.005 | Per role parsed and classified |
buying-signal-detected | $0.10 | Per buying signal that fires |
Worked example. Agent asks: "Compare hiring at Stripe, Notion, and Linear."
- 1 MCP tool call: $0.05
- 3 companies analyzed: $0.60
- ~600 roles extracted: $3.00
- 4 buying signals detected: $0.40
- Total: ~$4.05
Most agent sessions cost $0.30–$2.00 per query.
Use cases
B2B SaaS marketers: Find prospects in active buying mode for your category. "List 50 companies hiring 3+ RevOps roles right now" → instantly actionable target list.
VC analysts: Monitor portfolio company growth. "Compare hiring velocity at all 12 of our Series B portfolio companies" → leading indicator of execution.
Competitive intel teams: Track competitor team buildouts. "Is our top competitor hiring engineers faster than us this quarter?"
Sales leaders: Find net-new accounts your AEs haven't found yet. "Mid-market SaaS companies in NY hiring sales engineers" → instant pipeline.
Why use this over the cheaper alternatives?
Single-platform job scrapers exist on Apify, but they:
- Target LinkedIn/Indeed (legally fragile, frequently break)
- Return raw postings — no signal extraction
- Can't be called from an AI agent
- Don't aggregate across multiple ATSes
This Actor is MCP-native, signal-extracting, and ATS-agnostic — three things no other Actor on the Store currently combines.
Limitations
- Posted dates are required for velocity signals. Roles without dates are excluded — this prevents false positives from stale postings.
- No LinkedIn scraping, ever. We only use public ATS APIs and career pages. This is the legal moat.
- English-only role classification in v1. Non-English roles are still extracted but not signal-scored.
- Workday discovery requires a link on the company's own careers page. JS-only Workday embeds fall through to the careers-page adapter.
Roadmap
- v0.3: Pattern-based signals (role combinations indicating specific buying intent)
- v0.4: AI-classified buying intent (Gemini reads JDs, infers what tools they're about to buy)
- v0.5: Webhook delivery for "alert when company X starts hiring for Y"
Issues, requests, custom builds
Open an issue on the Actor's Issues tab and we'll respond within 24 hours.