B2B data enrichment
Company and Contact Data with Citations and Confidence Scores — What the abm.dev API Actually Returns
A great rep once knew every account. Now your agents do.
The problem isn't that data doesn't exist. It's that it arrives from six different vendors, in six different schemas, with zero indication of which field to trust. Your agent fires off a personalized sequence citing a funding round that closed two years ago. Nobody catches it. The machine runs anyway.
That's the cost of data without provenance.
Why Citations and Confidence Scores Are Not Optional
Human reps triangulate instinctively. They cross-reference a LinkedIn profile against a press release, notice the discrepancy, and adjust. Agents don't do that — unless you build it in.
When an autonomous loop acts on bad data, it doesn't act once. It acts at machine speed, across every account in the queue. A fabricated headquarters city. A contact who left eighteen months ago. A technology tag pulled from a vendor's stale crawl. Each one compounds.
Citations change the equation. They tell you where a field came from. Confidence scores tell you how much to trust it. Together, they give your agent the same triangulation instinct a great rep developed over years — encoded, auditable, and ready to act on.
One Call. Ten Providers Behind It.
The abm.dev API aggregates across ten enrichment providers — LinkedIn, Hunter, Perplexity, and others — then deduplicates, reconciles, and surfaces a single canonical record. Eighty-nine canonical fields per company or contact.
No stitching. No per-source billing. No silent fallbacks where a missing field gets quietly substituted with something plausible-sounding.
Every field in the response carries two things:
- A citation — the source or sources that contributed to this value
- A confidence score — a numeric signal of how much agreement exists across providers
High confidence on the company's industry vertical? Your agent can personalize hard on that. Low confidence on the contact's direct dial? Route to a verification step before dialing. The data tells you what it knows and what it's guessing. You decide how to act.
What the Response Actually Looks Like
Here's the shape of what comes back on a company enrichment call:
{
"company": {
"name": "Acme Corp",
"industry": {
"value": "B2B SaaS",
"confidence": 0.94,
"citations": ["linkedin", "..."]
},
"headcount": {
"value": 340,
"confidence": 0.81,
"citations": ["linkedin"]
},
"funding_stage": {
"value": "Series B",
"confidence": 0.97,
"citations": ["...", "..."]
},
"tech_stack": {
"value": ["Salesforce", "HubSpot", "Segment"],
"confidence": 0.76,
"citations": ["...", "..."]
}
}
}
Notice what's not there: a flat list of fields with no context. Every value is wrapped in its evidence. Your agent reads the confidence score before it decides whether to mention the tech stack in an opening line or hold it back.
That's not enrichment. That's judgment, encoded.
The Fields That Actually Move Pipeline
Eighty-nine canonical fields sounds like a lot. The ones that matter for personalized outbound at scale fall into a few categories:
Company signals
- Funding stage and recency (is there budget to spend right now?)
- Headcount and growth indicators (are they scaling into your ICP?)
- Technology stack (do they already use the tools you integrate with?)
- Recent news and trigger events (the press release, the new hire, the expansion)
Contact signals
- Verified work email and direct dial
- Seniority and department
- LinkedIn activity and content themes
- Tenure (are they new enough to want to make a mark?)
Relational signals
- Mutual connections
- Prior engagement with your domain
- Buying committee mapping — who else is in the room
Each one comes back with its citation trail. You know whether a data point arrived fresh or from a stale crawl. The difference matters when your agent is deciding whether to open with it.
Built for Agent Loops, Not Dashboard-Watching
Most enrichment APIs were designed for a human to review a record, notice something odd, and fix it manually. That workflow doesn't exist in an autonomous loop.
The abm.dev API is built for the other case. The response schema is structured for programmatic consumption — confidence thresholds you can gate on, citation arrays you can log, field-level freshness you can route around. Your agent can be written to:
- Skip a personalization token if confidence falls below a threshold
- Flag a record for human review if key fields conflict across citations
- Prioritize accounts where high-confidence signals align with your ICP criteria
- Generate outreach copy only from fields that meet your trust bar
No fabricated facts. No silent fallbacks. No agent confidently referencing the wrong CFO.
AI-Powered Content Generation, Grounded in Verified Data
Enrichment is one half. The other is what you do with it.
The API includes AI-powered content generation — personalized outreach drafted from the verified fields in the record. The copy references what the data actually supports. If the confidence on a contact's recent promotion is high, the opening line can acknowledge it. If it's low, the model doesn't reach for it.
Personalization, at scale.
Not generic blasts dressed up with a first name. Outreach that reads like someone did the research — because the data did.
The Practical Case for Provenance
RevOps teams spend real hours auditing why a sequence underperformed. Was it the message? The timing? Or was the underlying data wrong from the start?
With citations, that audit takes minutes. Pull the record, check the confidence scores on the fields that drove personalization, trace the citations. You know exactly what your agent trusted and why.
That's not a nice-to-have. That's the difference between a system you can improve and one you're guessing at.
Try It
The abm.dev API is live. The playground is free — run a company or contact enrichment call, inspect the full response, see the citations and confidence scores on every field before you commit to anything.
Launch credits available with the code LAUNCHCODES.
Explore the API and start building →
Account-based marketing for AI agents. Your agents should know every account. Now they can.
Stuart McLeod · Co-founder, abm.dev