B2B Data API: What It Is and How to Choose One
By Kooperativa Engineering
The phrase "B2B data API" describes three different products that all return JSON. There is the data provider that exposes its own dataset over HTTP, the workflow tool that chains several such providers behind one call, and the reseller that repackages someone else's crawl and calls it an API. A pricing page will not volunteer which one you are looking at. The differences live in two places: what the response actually contains, and how fresh that content is the moment you ask for it.
The response shape is the product
A "person" endpoint means something different at every vendor. One returns a name and a current title. Another returns twenty years of positions, a skill list, and the company fields that tell you whether this person is a good fit before you ever send a message. The only honest way to compare them is to call both with the same identifier and read the JSON side by side, because the field list is where a B2B data API either earns its price or does not.
Look for the fields that change and the fields that do not, and whether the vendor tells you which is which. A name changes rarely. A current title changes constantly. A maintained API surfaces both and stamps the volatile ones with a timestamp. If a vendor cannot tell you how old a given field is, treat the whole dataset as a static snapshot no matter what the landing page claims.
Freshness is the number nobody quotes
Every B2B data API serves, at bottom, a cached copy of something. What varies is how often that cache is refreshed, and what happens when you ask for something fresher than the cache. Honest vendors state the refresh cycle. The rest bury it.
On our own detail endpoints a record older than 90 days is refreshed inline before the answer returns, which is why those two endpoints are occasionally a few seconds slower than the rest. The 90 days is not a marketing number: it is the refresh cycle already written into the terms, so the read path enforces a promise that used to exist only in prose.
What a failed refresh should do
This is the question that separates a real data API from a wrapper, and almost no one asks it. When the live fetch behind a real-time promise fails, a timeout or an outage, does the request error, or does it fall back to the last known record? Our answer is the fallback: a failed refresh degrades the response from current to what we had, never to a 500. A vendor that has not thought through this is selling a cache with a real-time sticker on it.
The same logic applies to a missing record. A 404 and a 451 are different answers with different advice attached. One says try again later, we may not hold this yet. The other says this person asked to be removed, do not ask again. An API that does not distinguish the two is making a compliance decision it has not examined.
The questions to ask before you integrate
Armed with a demo key, these five questions will tell you more about a vendor than the whole pricing page.
- What does a failed refresh return, a 500 or the last known record?
- Is coverage a snapshot from the last crawl, or live at request time, and can you see a fetched_at distribution to prove it?
- How is pricing structured, per call, per credit, or flat, and what does a miss cost?
- Do 404 and 451 carry different messages in the response?
- Which fields carry a timestamp, and which do not?
curl "https://kooperativa.io/api/v1/person?username=<profile>" \
-H "Authorization: Bearer ik_live_..."
# The response carries identity, then company context, then the
# volatile fields a lookup actually pays for, each with the
# fetched_at timestamp that tells you how fresh it is.The integration is the easy part
An HTTP call to a data API is ten lines of code in any language. The hard part is the decision you make before you write it: which response shape matches what you actually need, and whether the vendor will tell you the truth about freshness. Everything else, the SDKs, the retries, the schema, is plumbing.
Get started
Try Kooperativa
One API key. Person and company enrichment, structured search, and monitors under one flat license.
