People search API
find_people
1 credit / profile returnedFind people from the people graph — three ways: (1) anchor on ONE company (org_id, domain, or name) for people there; (2) go BROAD across many companies by passing industries and/or company_size instead of a company; (3) pure-persona across the whole graph by titles/seniority/function/geo alone. Filter by titles, seniority, function, location; exclude titles or industries. Returns names, titles, locations and LinkedIn URLs — no contact details. At least one of company / industries / company_size / titles / function / seniority is required. Broad queries are bounded (~14s) and can time out — narrow with more filters if so. Pass qualify=true (+ an optional plain-English intent) to LLM-qualify candidates — only genuine matches return, each with a score and reason (slower, ~10-45s).
Parameters
| param | type | description |
|---|---|---|
| company | string | Anchor on one company: org_id (from resolve_company), domain, or name. Omit for a broad search. |
| company_size | string | Broad mode: employee-size bucket for the target companies (e.g. "51-200", "201-500", "1001-5000"). Optional. |
| cursor | string | Resume token from a previous call's page.next_cursor. The people graph pages by cursor, not offset — pass it back to walk a large roster to the end. Omit for the first page. |
| exclude_titles | string[] | Titles to exclude (e.g. ["assistant", "intern"]). Optional. |
| function | string | Business function (e.g. "sales", "marketing", "engineering", "finance", "product"). Optional. |
| geo | string | Location filter — city, region, or country (e.g. "California", "Bengaluru", "United States"). Optional. |
| industries | string[] | Broad mode: match people at companies in these industries (fuzzy-resolved to the taxonomy, e.g. ["software", "financial services"]). Use INSTEAD of company. Optional. |
| industries_exclude | string[] | Exclude people at companies in these industries ("…in tech but NOT gaming"). Optional. |
| intent | string | Plain-English description of who you actually want (used with qualify=true) — e.g. "people who run paid acquisition, not trade marketing". Sharpens the judgment beyond the structured filters. |
| limit | integer | Max people to return (default 10, max 100). COST: each profile returned costs 1 credits (plus a 0.1 base fee per call), so this limit sets the price of the call — ask for what you need. |
| models | string[] | Business-model labels of the person's company (D2C, SaaS, Marketplace, Ecommerce, AI-native…). ANDs with everything else — THE precise filter for "people at d2c companies". Optional. |
| qualify | boolean | LLM-qualify the candidates: each is judged against your filters + intent, and only genuine matches return, with a score and one-line reason. Slower (~10-45s). Default false (fast, deterministic filter). |
| sectors | string[] | GTM sector labels of the person's company — our 117-label vertical taxonomy (e.g. "SaaS / Cloud", "D2C / Consumer Brands"). ORs with industries. Optional. |
| seniority | string | Seniority level: "c-level", "vp", "director", "manager", or "ic". Optional. |
| titles | string[] | Job titles to match (e.g. ["VP Sales", "Head of Growth"]). Optional. |
Call it from your agent (MCP)
Connect once and find_people 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":"find_people","arguments":{"industries":["software"],"company_size":"201-500","function":"sales","seniority":"vp"}}}'other clients (cursor, claude desktop, openai agents sdk, langchain): mcp setup
Call it over REST
curl -X POST https://api.gtm.dev/v1/tools/find_people \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"industries":["software"],"company_size":"201-500","function":"sales","seniority":"vp"}'Errors (401, 402, 429, 400) are listed in the REST reference. Calls that error are not billed — see pricing.