gtm.dev
the gtm data layer · mcp-native · first-party

Your agent, wired into the graph.

150M people. 10M companies, embedded. Live buying signals. gtm.dev exposes the graph as typed tools an agent calls directly — resolve, search semantically, verify — and every point behind this page is a real company in vector space.

Start building

27 tools · one key · usage-priced · verified, or null — never a guess

01 · the graphfirst-party — we run the pipelines

Three planes of data. One graph underneath.

Not a reselled database — a graph we scrape, resolve, enrich, and verify ourselves. Every plane joins on the same canonical org id, so your agent never joins on a company name again.

150,214,833people

Org charts, not contact lists. 48M people mapped into reporting structures — role level, teams, tenure — inside 150M+ professional profiles with titles scored for confidence. Ask for “VP+ in finance” and mean it.

org charts · professional profiles · title confidence
9,812,441companies · embedded

Firmographics plus vectors. Industry, size, geo, description — and 8M vector embeddings over the graph, so “API-first payroll for global teams” is a query, not a filter puzzle.

firmographics · 8M embeddings · lookalikes
12,392,747live signals

The “why now” plane. 3M ads ranked by spend, 1.8M job posts, 3.5M funding histories, 4.4M tech detections, de-anonymized site visitors — each resolved to a company you can act on.

ads · hiring · funding · tech · intent
02 · vector-nativepgvector · hnsw · 8M company embeddings

Search by meaning, not by filter.

Firmographic filters can’t say “feels like Stripe, but for logistics” — there’s no dropdown for that. Embeddings can. The whole company graph lives in vector space — the atlas you scrolled past is it — so your agent describes the ICP in plain language and gets a ranked neighborhood back.

Lookalikes fall out for free: seed one great customer, get its nearest neighbors by cosine — the expansion list every agent asks for eventually.

concept_searchnatural-language ICP → semantically ranked companies
lookalikesseed company → nearest neighbors, scored
size_tamthe same query → a count + a reusable filter set
lookalikes(“rippling”) · cosine, hnsw · 8msdeel0.94gusto0.91justworks0.89papaya0.86remote0.85oyster0.83rippling
03 · signalsthe "why now" — the layer a contact db can't give you

Who’s spending. Who’s hiring. Who just raised.

A contact database tells you who exists. Signals tell you why now — active budget, active pain, active change — every one resolved to a real company.

who_is_advertising
 who_is_advertising({ keyword: "crm", country: "IN", platform: "meta+linkedin" })
// ranked by aggregated impressions — a spend floor, not a guess
Zoho312 ads · 2 platforms14,800,000+ impr
Freshworks247 ads · 2 platforms11,200,000+ impr
Kylas118 ads · meta4,100,000+ impr
Salesmate64 ads · meta1,900,000+ impr

Active budget is the loudest signal there is.

3M ads across Meta and LinkedIn, resolved to real companies and pre-aggregated into a spend-ranked index of 152,384 advertisers. If they're paying to reach a market, they have budget, urgency, and a GTM motion — this quarter, not last year.

public ad libraries · meta + linkedin · spend-ranked, refreshed continuously
04 · compositioneach tool’s output is the next tool’s input

Seven calls. Zero glue code.

Every GTM agent runs the same loop: find the trigger, resolve the account, qualify it, find the person, verify the channel, personalize. Today that loop crosses five vendors and a pile of glue code.

On gtm.dev it’s one server — every hop typed, every record carrying provenance. The trace on the right is the whole integration.

agent trace · one key
task: "CFOs at companies spending on payroll ads — verified emails, briefed"
who_is_advertising("payroll", US)41ms152 advertisers
resolve_company("Rippling")12msorg_7k42d8 · 0.99
company_funding(org_7k42d8)28ms$1.85B · series F
company_tech(org_7k42d8)33msnetsuite · workday · 41 more
find_people(finance, vp+)87ms3 people
find_email("Adil Syed")1.8s✓ verified · 0.98
research_contact("Adil Syed")4.2sbrief · 6 hooks
7 calls · 6.2s · every record verified, first-party, attributable
05 · verifiedprovenance on every record

Verified, or nothing.

We don’t resell a database. We operate the pipelines and expose the output — which means we can tell you where every field came from, and we’d rather return null than guess.

first-party

We run the pipelines

The graph is built in-house, end to end. No vendor’s stale dump underneath, no license that vanishes. When a field is wrong, we can trace it to the run that produced it.

scraperesolveenrichverify
live verification

Emails verified at call time

A waterfall of finding providers, then live verification — status and score on every address. find_email does the work when you call it, not in a batch last quarter.

resolution

Messy input, canonical output

“Acme Labs”, acme.io, half a URL — the resolver’s trigram + description + LLM cascade lands on one canonical entity with a confidence score. Every other tool composes on it.

find_email → null
The null is the feature.

We checked five providers and verified none — so you get nothing, not a firstname.lastname guess that bounces and burns your sender. Honesty is cheaper than a blocked domain.

06 · developersmcp-first · rest when you want it

Wired for agents, not dashboards.

Designed as tools an LLM calls — not an API bolted onto a UI product. Connect the MCP server, or hit the same tools over REST.

01
Typed in, structured out

JSON Schema on every input; structured, versioned outputs. Your agent never parses prose.

02
Disambiguation built in

Ambiguous input returns candidates with confidence — the resolution step agents otherwise get wrong.

03
One key, metered by the call

gtm_live_sk_… / gtm_test_sk_… — test mode is free and fake-data-safe.

speaks mcp toclaudecursoropenai agentslangchainn8nclay
{
  "mcpServers": {
    "gtm": {
      "url": "https://mcp.gtm.dev",
      "headers": { "authorization": "Bearer gtm_live_sk_…" }
    }
  }
}
// that's the whole integration — 27 tools appear in your agent
$ gtm tools --list · 27 tools · 5 groups
resolve & enrich
resolve_companymessy name → org id
enrich_companyfull firmographics
enrich_persontitle · tenure · geo
resolve_geocity → country
normalize_titletext → seniority
find people
find_peopleranked, filtered
find_emailverified, or null
find_phonemobile · direct
buying_committeeorg chart → dms
find_similar_peoplelookalike contacts
find companies
search_companiesfirmographic filters
concept_searchNL ICP → ranked
lookalikesseed → neighbors
size_tamICP → count + filters
signals
who_is_advertisingranked by spend
company_ad_activityads · spend floor
who_is_hiringrole × geo
company_hiringroles · intensity
find_fundedstage · recency
signals (cont.)
company_fundingrounds · investors
company_techdetected stack
who_uses_techdisplacement plays
company_intentvisitor de-anon
composites
score_accountsfit + intent + trigger
score_leadshot / warm / cold
research_companystructured brief
research_contactstructured brief
build_listNL → export table
07 · who builds on it · pricingusage-priced · no seats · no sales call
01 · in-house agents

Engineers building GTM agents

Founders and platform teams wiring an LLM to “find the right people at the right accounts.” You want primitives, not another SaaS login.

who_is_advertisingfind_peoplefind_email

02 · revops / gtm eng

The Clay-and-n8n crowd

You already orchestrate workflows. Point them at MCP tools with verified data behind them instead of six enrichment columns that disagree.

build_listscore_accountsenrich_person

03 · ai product teams

B2B data inside your product

A vertical CRM, an analytics tool, a sales copilot — embed enrichment and signals via API without becoming a data company yourself.

resolve_companyenrich_companycompany_tech

RocketSDR

The flagship reference implementation: a full AI-SDR product — discovery, research, outreach — running entirely on these tools. If gtm.dev can power that, it can power yours.

RocketSDR — built on gtm.dev

Priced like infrastructure.

Usage-based credits, metered per call. Resolution is nearly free because you’ll call it constantly; verification costs more because it does more. No seats, no platform fee.

Test mode is free forever. 1,000 live credits to start — no card, no call with sales.

tool classexamplesper call
resolveresolve_company · resolve_geo0.1 credit
search & enrichconcept_search · find_people1 credit
signalswho_is_advertising · find_funded1 credit
find + verifyfind_email · find_phone2 credits
researchresearch_company · research_contact5 credits

Stop scraping.
Start calling tools.

Connect the MCP server and your agent has the graph in the next five minutes — 150M people, 10M companies embedded, and the signals that say why now.

Get an API key