JSON in. Normalized JSON out.
One schema across every data source. Add a source and your integration does not change — that is the point of normalizing at our edge rather than passing provider payloads through.
Authentication
Bearer token in the header. Keys are scoped to an account and are revocable per user.
Authorization: Bearer lds_live_...Every request needs a purpose
purpose_code is required on every search. There is no account-level default and no
way to omit it. Requests without one are rejected before any upstream call.
{
"product": "person.locate",
"purpose_code": "GLBA_JUDGMENT_ENFORCEMENT",
"matter_ref": "24-2-01847-3 KNT",
"subject": {
"first_name": "...",
"last_name": "...",
"last_known_address": "...",
"state": "WA"
}
}Response
Every result carries a confidence rating and source attribution. status is one of
hit, no_hit, or error — and no_hit is a
successful search that found nothing, not a failure.
{
"search_id": "srch_01JBQ8W2K9",
"status": "hit",
"confidence": "corroborated", // single | corroborated
"results": [
{
"address": "...",
"first_seen": "2023-04",
"last_seen": "2026-07",
"sources": ["utility", "credit_header"]
}
],
"billed_cents": 400,
"purpose_code": "GLBA_JUDGMENT_ENFORCEMENT"
}Errors
| Code | Meaning | Billed |
|---|---|---|
| 400 | Malformed request or missing purpose_code | No |
| 401 | Invalid or revoked key | No |
| 403 | blocked Purpose not permitted for this account or data class | No |
| 429 | Rate limit exceeded | No |
| 502 | Upstream source unavailable | No |
A blocked request is logged even though it is not billed. The log is the point.
Batch
POST /v1/batch with a CSV or XLSX. One purpose code applies to the file unless a row
overrides it. Poll GET /v1/batch/{id} or supply a webhook. Results return as a file
in the same shape you submitted, with result columns appended — so it drops straight back into
whatever you were already using.
Full reference coming with the beta
Endpoint-by-endpoint documentation, per-product field maps, and client libraries ship with the first credentialed accounts. Ask if you want early access to the spec.