gtm.devdocs
find companies

TAM sizing API

size_tam

1 credit / call

Count how many companies in the company index (~9M companies) match a firmographic filter set — the TAM behind a search_companies page. Takes the same filters as search_companies (at least one required), including the multi include/exclude industry and category lists (includes OR together, excludes always subtract), funding graph filters (stage, total raised, funding date range, investor names), and detected tech stack (must use / must not use); returns {count, filters} with the canonical filters actually applied. Funding and investor filters restrict to the subset of companies with a funding-graph record (~40% coverage) — an honest data limit, not a bug.

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

Parameters

paramtypedescription
categoriesstring[]Category keywords to INCLUDE — fuzzy-resolved against the granular category vocabulary and OR-combined with any industries. Categories cover the subset of companies carrying category tags. Optional.
categories_excludestring[]Category keywords to EXCLUDE — fuzzy-resolved against the category vocabulary; companies tagged with a matching category are always subtracted (companies without category tags are dropped too, matching product semantics). Optional.
citystringHQ city (e.g. "Bengaluru", "Austin"). Optional.
countrystringHQ country — name or ISO-2 code (e.g. "India", "US"). Optional.
funded_afterstringOnly companies whose LAST funding round closed on/after this ISO date (YYYY-MM-DD). Optional.
funded_beforestringOnly companies whose LAST funding round closed on/before this ISO date (YYYY-MM-DD). Optional.
funding_stagestring[]Funding-graph stage(s) to INCLUDE, OR together (e.g. ["series_b"], ["seed","pre_seed"]). Free-form (not a fixed enum) — common values: seed, pre_seed, angel, series_a..series_e, venture, private_equity, debt_financing, grant. Optional.
has_domainbooleanOnly companies with a known website domain. Optional.
industriesstring[]Industry keywords to INCLUDE. Each entry fuzzy-resolves against BOTH the broad industry vocabulary and the granular category vocabulary; all matches OR together into one include group (a company matching any qualifies). Example: ["payroll", "hr software"]. Optional.
industries_excludestring[]Industry keywords to EXCLUDE. Each entry fuzzy-resolves against the industry vocabulary; matching companies are always subtracted from the count (companies with no industry on file are kept). Optional.
industrystringSingle industry keyword — shorthand for industries: [..]. Matched against BOTH the broad industry vocabulary and the more granular category vocabulary (e.g. "software", "payroll", "warehouse automation") — companies match on either. Optional.
investorsstring[]Investor / VC / accelerator names to INCLUDE, OR together — fuzzy-resolved against the investor-name vocabulary (e.g. ["Y Combinator"], ["Sequoia"]). Restricts to companies with a funding-graph record. Optional.
max_fundingnumberMaximum total funding raised, USD. Optional.
min_fundingnumberMinimum total funding raised, USD. Optional.
modelsstring[]Business-model labels — our GTM model axis, ANDed with everything else ("how they sell"): D2C, SaaS, Marketplace, Ecommerce, Franchise, Subscription, AI-native, PLG / Product-led… THE precise filter for model concepts. Optional.
models_excludestring[]Business-model labels to EXCLUDE. Optional.
name_containsstringSubstring of the company name (e.g. "labs"). Optional.
regionstringHQ state/region as stored on the company index (e.g. "California", "Karnataka"). Optional.
require_fundedbooleanOnly companies that have raised any funding at all. Ignored when min_funding is also set above 0. Optional.
sectorsstring[]GTM sector labels to INCLUDE — our own 117-label vertical taxonomy (e.g. "SaaS / Cloud", "D2C / Consumer Brands", "Payments & Fintech"). OR-combined with industries/categories. Case/spacing-forgiving. Optional.
sectors_excludestring[]GTM sector labels to EXCLUDE. Optional.
size_rangestringEmployee size bucket, exact values: "1 employee", "2-10 employees", "11-50 employees", "51-200 employees", "201-500 employees", "501-1,000 employees", "1,001-5,000 employees", "5,001-10,000 employees", "10,001+ employees". Compact forms like "51-200" or "1001-5000" are normalized. Optional.
tech_notstring[]Detected technologies the company must NOT use (NONE of these). Same resolution as tech_uses. Optional.
tech_sourcestring: stack | jobs | bothWhich detection signal tech_uses/tech_not check: "stack" (website tech-stack scan, default), "jobs" (mentioned in the company's LinkedIn job postings), or "both" (either counts as a match). Optional.
tech_usesstring[]Detected technologies the company MUST use (ALL of these), e.g. ["salesforce"] or ["salesforce","hubspot"]. Resolved against the tech-detection vocabulary (exact name preferred, fuzzy fallback). Optional.

Call it from your agent (MCP)

Connect once and size_tam 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":"size_tam","arguments":{"industry":"software","country":"IN","size_range":"51-200"}}}'

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

Call it over REST

curl -X POST https://api.gtm.dev/v1/tools/size_tam \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"industry":"software","country":"IN","size_range":"51-200"}'

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

Related tools