gtm.devdocs
find companies

Semantic company search API

concept_search

2.5 credits / company returned

Describe your ideal customer in plain language (e.g. "Series-B fintech hiring engineers in Berlin") and get semantically ranked companies from the company graph. The query's core concept is extracted first — geography, size, funding, and hiring language are set aside (use the country/size_range params, or other tools, for those) — and only that clean concept is matched by meaning against millions of company embeddings, not keyword search. Among closely-matched companies, more prominent ones rank slightly higher. Optionally narrow by country or employee size range, and paginate with limit/offset (the semantic neighborhood is bounded: match quality degrades past the first ~200 rows, so offset+limit is capped at 200).

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

Parameters

paramtypedescription
query requiredstringNatural-language description of the kind of company you want (a niche, product, or vertical).
countrystringOnly companies headquartered in this country (e.g. "United States", "US"). Optional.
limitintegerCompanies per page (default 10, max 50). 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.
offsetintegerRows to skip for pagination (default 0). offset+limit is capped at 200 — semantic match quality degrades deep in the neighborhood, so page depth is deliberately bounded.
size_rangestringEmployee size bucket, e.g. "11-50", "51-200", "201-500", "1001-5000", "10001+". Optional.

Call it from your agent (MCP)

Connect once and concept_search 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":"concept_search","arguments":{"query":"API-first payroll for global teams","country":"US","limit":25}}}'

other clients (cursor, claude desktop, openai agents sdk, langchain): mcp setup

Call it over REST

curl -X POST https://api.gtm.dev/v1/tools/concept_search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"API-first payroll for global teams","country":"US","limit":25}'

Errors (401, 402, 429, 400) are listed in the REST reference. Calls that error are not billed — see pricing.

Related tools