Enrichment endpoint for your product
POST a domain or an email, render the company record and verified contact in your product. One endpoint replaces four vendor integrations.
Sixty-plus data capabilities and seven agents behind one typed REST surface, an MCP server and a CLI: identify companies, enrich records, verify contacts, read signals and push audiences from your product, your cron jobs or your own agents.
Shipping one enrichment feature means integrating a company-data vendor, a contact vendor, a verifier and an intent feed, each with its own auth, schema and billing surprise.
Try source A, fall back to B, dedupe, normalize, retry, and pay for the misses. The plumbing is most of the work and none of the product.
Handing an LLM raw vendor keys is how budgets die. Assistants need scoped, metered, schema-described tools with hard ceilings and a log.
curl -X POST .../api/v1/tools/person_enrich \
-H "Authorization: Bearer ek_live_..." \
-d '{"email": "jane@acme.com"}'
{ "ok": true,
"person": { "title": "VP Sales", "company": "acme.com",
"email_status": "valid", "phone": "+1…" },
"sources": ["waterfall:2/4"], "cost_usd": 0.06 }Company discovery, enrichment, people search, verification, signals, lists and audiences behind POST /api/v1, zod-validated inputs, structured errors, OpenAPI 3.1 published.
One call per field family; the platform tries sources in order, charges only for the one that answered and returns the provenance with the value.
One URL turns the whole data catalog into tools inside Claude, Cursor or your own agents, OAuth sign-in, scope-checked per call, same meter as REST.
Queue list-scale jobs, poll or take signed webhooks with at-least-once delivery. Idempotency-Key makes retries safe; the 402 at the ceiling is clean and catchable.
POST a domain or an email, render the company record and verified contact in your product. One endpoint replaces four vendor integrations.
A cron that enriches new signups with firmographics, stack and intent, writes back to your database, and posts anomalies to Slack.
Add the MCP URL to your agent config; it calls company, person and signal tools under your workspace’s budget and returns provenance with every value.
Three of a hundred. The full playbook library ships in every workspace, and anything you can describe becomes a mission.
Mint keys per surface with exactly the scopes they need. Revoke in one click; the audit log remembers.
Every query is workspace-bound at the data layer with row-level security behind it. Careless code returns zero rows.
401/403/402/409/422 with machine-readable bodies. Budget exhaustion is a status code you handle in code, ahead of any invoice.
A public REST API with scoped bearer keys, an MCP server so assistants like Claude and Cursor use the data tools natively, a zero-dependency CLI, signed webhooks for job completions, and an OpenAPI spec generated from the same registries the runtime executes, so the docs cannot drift from reality.
Every enriched value returns with the source family that filled it and the date, and list-scale jobs return per-field coverage. Your product can show where a number came from, and your agents can decide whether a value is fresh enough to act on.
Every call meters against the same credit ledger as console missions, with per-workspace ceilings and daily caps enforced at the platform level. Paid sources reserve before they run and settle after, keys are scoped and revocable individually, and a leaked credential is a one-key rotation.
One key. One schema. Company, person and signal data behind it.