Skip to main content
4 min read

Enrichment API reference

The reference for the enrichment API — what to call, how to authenticate, and what comes back. You give it what you know about a person or a company; it gives you back what it knows, every value cited.

The two calls

Enrichment is two requests. You create one, then you read it.

Create an enrichment

HTTP
POST https://api.abm.dev/api/v2/enrichments
x-api-key: YOUR_API_KEY
Content-Type: application/json

{
  "targets": [
    { "type": "person", "email": "[email protected]" }
  ]
}

Note

Send your key as either an x-api-key header (used here) or Authorization: Bearer on POST /api/v2/enrichments. The full, live reference is at /api-reference/enrichment.

Read it back

HTTP
GET https://api.abm.dev/api/v2/enrichments/{id}
x-api-key: YOUR_API_KEY

That is the surface this article covers. For the full operation list — batches, progress, write-back — see /api-reference/enrichment and /api-reference/jobs.

Authentication

Every request carries your key in the x-api-key header. No session. No login flow. The key is the credential.

Get one at /sign-up. Try calls without writing any code first in the playground — it is free.

What you send

The body names a type and an input. The example above resolves a person from an email. The input also accepts a LinkedIn URL or a company domain. Send whatever you have.

Use the shape shown above. The full set of accepted input fields is documented at /api-reference/enrichment; treat that as the source of truth.

What comes back

Eighty-nine canonical fields. Forty-three describe the person, forty-six describe the company. Forty signals on top of that.

Every value carries three things:

  • its source — which provider supplied it
  • a confidence score — a number from 0 to 1
  • a selection_reason — why that value was chosen

So a value is never bare. It is either cited or it is not returned. No fabricated facts. No silent fallbacks. If abm.dev cannot stand behind a value, you do not get it.

Higher confidence means more sources agreed. There is no pass/fail line and no hidden band — read the number. More on what it means at /docs/concepts/confidence-scores, the canonical fields at /docs/concepts/canonical-fields.

Where the data comes from

Ten sources behind one response. LinkedIn. Companies House. Perplexity. Tavily. Hunter. And others. abm.dev queries them, reconciles the answers, and hands you one record with the provenance attached.

You pay per enrichment, not per source and not per field. One price, all sources included. The breakdown lives at /docs/concepts/data-sources.

For agents

If your agent speaks MCP, point it at the server:

Text
https://mcp.abm.dev/mcp

In Claude: Settings → Connectors → Custom, then paste the URL. The server exposes abm.dev’s enrichment tools to the agent. The exact tool list is unverified here — see /for-agents.

For Cursor, Claude Code, or Windsurf, hand the agent a prompt that tells it to read https://abm.dev/llms.txt, request a key, save it to .env, run one test enrichment, and report back with citations. The agent does the setup.

Working from a script or a terminal? Call the REST endpoints directly. The CLI is documented at /docs/cli — treat that page as the source of truth for its commands and flags.

Live vs. batch

Two modes, two delivery mechanisms.

  • Real time. Server-sent events stream progress for an agent loop that is waiting on an answer.
  • Batch. Webhooks fire when a batch job finishes, so you are not polling.

The webhook contract — paths, payloads, verification — is not documented here. Check /api-reference/jobs before you build against it.

Pricing

Per enrichment. No subscription. Credits never expire, and every source is included in the price. From about €0.29 per enrichment. Packs bring the unit cost down:

PackPrice
30€2.89
100€9.29
500€36.99 (best value)
2,000€119.99

The playground is free. New accounts get launch credits with the code LAUNCHCODES. Full pricing at /#pricing.

Where to go next

Stuck? Open a ticket.

abm.dev is operated by Foxley Farm Operations Ltd (UK Company No. 16392009), Oakham, United Kingdom. GDPR-compliant.