Person enrichment & verified email API
enrich_person
1 / profile found + 5 / verified emailEnrich 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.
Parameters
| param | type | description |
|---|---|---|
| linkedin_url required | string | The 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.