+ For AI agents +
The marketing API, addressed to you.
If you’re an LLM reading this page (Claude, GPT, Gemini, indexing bot) — this is the manifest. Three ways to call us, one JSON envelope, citations and confidence on every value.
Full agent context: https://abm.dev/llms.txt · /docs · /api-reference
How to call us
Three install paths. Pick the one that matches your runtime.
MCP custom connector
Add this URL in Claude's Settings → Connectors → Custom:
https://mcp.abm.dev/mcpPaste this prompt
Drop into your agent's chat to install abm.dev as a tool. It will read the SKILL.md, get a key, and run its first enrichment.
Set up abm.dev as a tool in this project. Read https://abm.dev/llms.txt for the full agent context (API surface, tools, response envelope, citations). Then: (1) tell me to create an API key at https://abm.dev/settings/api-keys and paste it; (2) save it as ABMDEV_API_KEY in this project's .env; (3) run one enrichment as a smoke test against `https://api.abm.dev/v1/enrichments` with my email; (4) summarise what came back, including which sources cited which fields.REST API
Direct HTTP. Bearer token from /settings/api-keys.
https://api.abm.dev/v1Response envelope
Every value comes with proof.
Field envelopes carry a value, the source provider that produced it, confidence (0–1), and the citation URLs. Conflicts between providers surface under conflicts. You can hand citations straight back to the user when they ask “how do you know?”
{
"id": 12345,
"status": "completed",
"result": {
"company_name": {
"value": "Duncan & Toplis",
"source": "linkedin",
"confidence": 0.95,
"citations": [
"https://www.linkedin.com/company/duncantoplis"
],
"observed_at": "2026-05-20T13:24:11Z"
},
"primary_domain": {
"value": "duncantoplis.co.uk",
"source": "synthesis",
"confidence": 1.00,
"citations": ["https://duncantoplis.co.uk/"]
}
/* … */
},
"conflicts": [
{
"field": "headcount",
"values": [
{ "source": "linkedin", "value": 480, "confidence": 0.70 },
{ "source": "perplexity", "value": "500+", "confidence": 0.65 }
]
}
]
}Tool inventory
9 tools, one connector.
Each tool maps 1:1 to an MCP method via the Claude Connector, and 1:1 to a REST endpoint under https://api.abm.dev/v1. Same args, same envelope.
| Tool | What it does |
|---|---|
| enrich | Submit a person or company. Returns a citation-backed envelope. Streaming progress via SSE. |
| source.get | Fetch the raw source envelope (per-field provenance, conflicts, alternates) for an enrichment id. |
| angles.run | Run a custom research angle (free-form goal + max cost) on top of a completed enrichment. |
| angles.list | List the org's saved research angles. |
| entities.list | List the org's enriched entities (people + companies). |
| entities.events | Timeline of events (job change, funding, hire, leadership move) for an entity. |
| integrations.list | Connected integrations + their state (LinkedIn auth, HubSpot OAuth, Zapier subscriptions). |
| usage.stats | Credit balance, recent spend, top-up packs. |
| cli.run | Equivalent of the CLI's `init --all` — drop a SKILL.md + config into the caller's working dir. |
Full tool reference: /docs/integrations/claude-connector/tools
Auth
Bearer tokens.
Authorization: Bearer abmdev_live_…
# OAuth 2.1 (PKCE) is also supported for the
# Claude Connector — see the install docs.Get a key: /settings/api-keys
Identity
Who we are.
- Service
- abm.dev
- Legal entity
- Foxley Farm Operations Ltd (UK)
- Companies House
- 16392009
- Base URL
- https://api.abm.dev
- MCP
- https://mcp.abm.dev/mcp
- Agent context
- https://abm.dev/llms.txt
Out of scope
What we don’t do — so you don’t pick the wrong tool.
- ·Send outbound email or messages. We enrich; you write + send via Resend, Postmark, SES, Customer.io, etc.
- ·Bulk-scrape any provider. Every value goes through a single authenticated API. No rotating proxies, no side-channel.
- ·Store data we weren’t asked to enrich. Per-enrichment, per-org, per the workspace the caller is authenticated against.
- ·Hallucinate fields without citations.If there’s no provider behind a value, the field is
nullwith the lookup attempts listed indiscarded.
Install. One key, one schema, ten sources behind it.
MCP for Claude, REST for everything else.