Hiring signals API: who is hiring
who_is_hiring
2.5 credits / company returnedFind companies actively hiring for a role — a broad function ("sales development") or a specific/niche title ("collections manager", "machine learning engineer") — ranked by open-role count. Backed by a regularly-refreshed index of LinkedIn + Indeed job postings, with an on-demand live scrape for roles/geos the index doesn't cover yet. Optionally filter by country and minimum number of openings, and paginate with limit/offset. Each company's source shows whether it came from the index (job_count/last_posted_at are exact) or a live scrape (matched_job_title only — no aggregate count). A `total` field (exact) is included when the whole answer came from the index; when a live scrape contributed, total is omitted and total_is_partial/total_note explain why.
Parameters
| param | type | description |
|---|---|---|
| role required | string | Role or function keyword to match against the hiring index (e.g. "sdr", "data engineer", "marketing", or a specific title like "collections manager"). |
| geo_country | string | Country where the roles are located (e.g. "United States", "India"). Optional — omit to search across every indexed country. |
| limit | integer | Companies per page (default 10, max 100). COST: each company returned costs 2.5 credits (plus a 0.1 base fee per call), so this limit sets the price of the call — ask for what you need. |
| min_openings | integer | Only return companies with at least this many matching openings. Optional. |
| offset | integer | Rows to skip for pagination (default 0; offset+limit must not exceed 5000). |
Call it from your agent (MCP)
Connect once and who_is_hiring appears in your agent’s toolbox next to every other gtm.dev tool. Claude Code:
claude mcp add --transport http gtm https://mcp.gtm.dev \
--header "Authorization: Bearer YOUR_API_KEY"Under the hood, the client sends:
curl -X POST https://mcp.gtm.dev \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"who_is_hiring","arguments":{"role":"sdr","geo_country":"United States","min_openings":5}}}'other clients (cursor, claude desktop, openai agents sdk, langchain): mcp setup
Call it over REST
curl -X POST https://api.gtm.dev/v1/tools/who_is_hiring \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"role":"sdr","geo_country":"United States","min_openings":5}'Errors (401, 402, 429, 400) are listed in the REST reference. Calls that error are not billed — see pricing.