API Documentation & Agent SDKs
Sub-200ms firmographics, DNS mail infrastructure, 500+ tech stack signatures, and active ATS job detection engineered for LLM agents and Clay waterfalls.
Authentication
Bearer Token
All API requests must supply your API key in the standard Authorization header or as an x-api-key request header:
# Provide Bearer authentication in headers
Authorization: Bearer ae_live_YOUR_API_KEY
Single Domain Resolution
GET /v1/enrichResolves apex domain DNS mail routing, active ATS job portals, 500+ frontend/backend tech stacks, and SOC 2 compliance badges in ~140ms.
import httpx
async def enrich_domain(domain: str) -> dict:
headers = {"Authorization": "Bearer ae_live_YOUR_API_KEY"}
async with httpx.AsyncClient(timeout=5.0) as client:
res = await client.get(f"https://tokenenrich.com/v1/enrich?domain={domain}", headers=headers)
return res.json()
{
"domain": "linear.app",
"company_name": "Linear",
"category": "Project Management & Issue Tracking",
"tech_stack": ["Next.js", "Tailwind CSS", "Vercel", "Segment"],
"mail_infrastructure": {
"provider": "Google Workspace",
"has_spf": true,
"has_dmarc": true
},
"hiring": {
"is_hiring": true,
"ats": "Ashby"
},
"security": {
"has_soc2": true
},
"confidence": 0.99,
"provenance": ["dns_mx_records", "tls_handshake", "app_subdomain_probe"],
"tokens_consumed": 182,
"response_time_ms": 142
}
Cut tokens from 180 down to 12 tokens when your AI agent only needs binary verification:
GET /v1/enrich?domain=linear.app&check=stripe
GET /v1/enrich?domain=linear.app&fields=tech_stack,hiring_signals
Parallel Batch Enrichment
POST /v1/enrich/batchEnrich up to 100 apex domains concurrently in parallel in under 3 seconds.
const response = await fetch("https://tokenenrich.com/v1/enrich/batch", {
method: "POST",
headers: {
"Authorization": "Bearer ae_live_YOUR_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
domains: ["stripe.com", "linear.app", "vercel.com", "shopify.com"]
})
});
const results = await response.json();
Model Context Protocol (MCP) Setup
JSON-RPC / stdio
TokenEnrich provides an open-source MCP server published on npm (tokenenrich-mcp) ↗ and GitHub ↗.
claude mcp add tokenenrich -- npx -y tokenenrich-mcp
{
"mcpServers": {
"tokenenrich": {
"command": "npx",
"args": ["-y", "tokenenrich-mcp"],
"env": {
"TOKENENRICH_API_KEY": "ae_live_YOUR_API_KEY"
}
}
}
}
CrewAI & LangChain @tool Decorator
Agent Tool CallingEmbed firmographic verification into multi-agent qualification and outbound sales pipelines:
from crewai.tools import tool
import requests
@tool("TokenEnrich Firmographics Tool")
def enrich_company(domain: str) -> str:
"""Retrieves verified tech stack, mail provider, hiring status and SOC2 in ~180 tokens."""
res = requests.get(f"https://tokenenrich.com/v1/enrich?domain={domain}",
headers={"Authorization": "Bearer ae_live_YOUR_KEY"})
return res.text
Clay.com Waterfall Setup
1-Click HTTP ActionReplace 5 slow, expensive waterfall columns with a single sub-200ms API call:
- In your Clay table, add an "HTTP API" action column.
- Set Method to
GETand URL tohttps://tokenenrich.com/v1/enrich?domain= - Add Header:
Authorization$\rightarrow$Bearer ae_live_YOUR_API_KEY - Map output columns directly:
tech_stack,mail_infrastructure.provider,hiring.ats, andsecurity.has_soc2.
HTTP Response Codes & Quotas
RFC 7231Domain resolved successfully with full verified signals.
Missing or invalid Bearer API key in request headers.
Monthly lookup quota reached. Upgrade plan in console.