gtm.devdocs
people

Person enrichment & verified email API

enrich_person

1 / profile found + 5 / verified email

Enrich one person from their LinkedIn profile URL: returns name, current title, company, company domain, and a verified work email. Profile data comes from our people graph (~150M profiles); people we do not hold return found=false (we never scrape LinkedIn live). The email is found and verified live (typically 2-30s; repeats are cached): email_status is "found" (verified mailbox), "not_found" (no likely address could be confirmed) or "unavailable", with email_reason one of profile_not_found, no_company_domain, catch_all (domain accepts every address, so none can be verified), unverifiable, timeout. Catch-all / unverifiable guesses are never returned as emails. COST: 1 credit per profile found, +5 credits when a verified email is returned, plus the 0.1 base fee; a miss costs the base fee only. For lists of URLs use the bulk job API (POST /v1/jobs/enrich_person) instead of calling this in a loop.

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

Parameters

paramtypedescription
linkedin_url requiredstringThe person's public LinkedIn profile URL, e.g. "https://www.linkedin.com/in/jane-doe". Sales Navigator, company-page and legacy /pub/ URLs are rejected.

Call it from your agent (MCP)

Connect once and enrich_person 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":"enrich_person","arguments":{"linkedin_url":"https://www.linkedin.com/in/jane-doe"}}}'

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

Call it over REST

curl -X POST https://api.gtm.dev/v1/tools/enrich_person \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"linkedin_url":"https://www.linkedin.com/in/jane-doe"}'

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

Related tools