82trust / 100
Hiring Signals
by Resolve402 in Company & people data
x402 APIPassing, checked 2 h ago
Hiring signals of a company: open jobs read from its public ATS board (Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, Personio, Workable, Teamtailor, Workday), summarized as buying signals (volume, last 30 days, functions hiring, seniority mix, leadership roles); each job carries its function and seniority (intern to c-level). From a domain, a French SIREN or a company name. Chain with /api/decision-makers to get who to contact. Charged only if open jobs are found.
GET https://resolve402.dev/api/hiring-signals
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 186 ms typical, 292 ms slowest 5%
- Last check
- 2 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://resolve402.dev/api/hiring-signals?domain=doctolib.fr"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fresolve402.dev%2Fapi%2Fhiring-signals
const res = await pay("https://resolve402.dev/api/hiring-signals?domain=doctolib.fr");
console.log(await res.json());Example input
{
"domain": "doctolib.fr"
}Example output
{
"ats": {
"board": "acme",
"confidence": "high",
"evidence": "ats_link_on_/careers",
"provider": "lever"
},
"domain": {
"confidence": "high",
"domain": "acme.com",
"evidence": "caller"
},
"jobs": [
{
"department": "Sales",
"function": "sales",
"location": "Paris",
"posted_at": "2026-09-28T00:00:00.000Z",
"seniority": "mid",
"title": "Account Executive",
"url": "https://jobs.lever.co/acme/1"
}
],
"signals": {
"by_function": {
"engineering": 18,
"sales": 9
},
"by_seniority": {
"head_director": 2,
"junior": 1,
"lead": 4,
"mid": 25,
"senior": 10
},
"hiring_intent": "high",
"leadership_roles": [
{
"title": "Head of Sales France"
}
],
"open_jobs": 42,
"posted_last_30d": 11
}
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 186 ms | $0.01 |
| 6 h ago | Passed | 402 | 292 ms | $0.01 |
| 9 h ago | Passed | 402 | 146 ms | $0.01 |
| 13 h ago | Passed | 402 | 171 ms | $0.01 |
| 17 h ago | Passed | 402 | 292 ms | $0.01 |
| 20 h ago | Passed | 402 | 118 ms | $0.01 |
| 25 h ago | Passed | 402 | 265 ms | $0.01 |
| 27 h ago | Passed | 402 | 119 ms | $0.01 |
| 31 h ago | Passed | 402 | 277 ms | $0.01 |
| 36 h ago | Passed | 402 | 367 ms | $0.01 |