gtm.devdocs
people

People search API

find_people

1 credit / profile returned

Find 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).

Get an API key 1,000 free live credits · no card

Parameters

paramtypedescription
companystringAnchor on one company: org_id (from resolve_company), domain, or name. Omit for a broad search.
company_sizestringBroad mode: employee-size bucket for the target companies (e.g. "51-200", "201-500", "1001-5000"). Optional.
cursorstringResume 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_titlesstring[]Titles to exclude (e.g. ["assistant", "intern"]). Optional.
functionstringBusiness function (e.g. "sales", "marketing", "engineering", "finance", "product"). Optional.
geostringLocation filter — city, region, or country (e.g. "California", "Bengaluru", "United States"). Optional.
industriesstring[]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_excludestring[]Exclude people at companies in these industries ("…in tech but NOT gaming"). Optional.
intentstringPlain-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.
limitintegerMax 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.
modelsstring[]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.
qualifybooleanLLM-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).
sectorsstring[]GTM sector labels of the person's company — our 117-label vertical taxonomy (e.g. "SaaS / Cloud", "D2C / Consumer Brands"). ORs with industries. Optional.
senioritystringSeniority level: "c-level", "vp", "director", "manager", or "ic". Optional.
titlesstring[]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.

Related tools