Guide
Concepts
Entities and candidates
An entity is a confirmed record, anchored to a government registration. A candidate
is our best hypothesis when we could not confirm one, either because confidence was too low
to separate two matches or because the entity type is not fully supported yet. Today
confirmed records are incorporated businesses. Sole proprietors, partnerships, governments
and funds come back as candidates. A response populates entity or candidate, never both.
type and subtype tell you what was found either way.
Identifiers
Three ID levels, one system.
| Prefix | Level | Use |
|---|---|---|
siq_ |
Global entity | Your primary key, and the only ID /v3/entities/{id} accepts |
op_ |
Operational presence | How the entity operates in one country |
le_ |
Legal entity | One specific registration in one jurisdiction |
A global entity can have many registrations: a Delaware corporation, a UK subsidiary, and so
on. primary_legal_entity is the anchoring one. le_ and op_ IDs appear inside records
but are not lookup keys.
siq_ IDs are stable. If two records are consolidated, the response returns
status: "merged" with merged_into set, and serves the canonical record. Store the new ID.
Entities also carry external identifiers in identifiers[]: registry registration IDs, LEI,
CIK and others where known. See Codes & enums.
Registry-first data
Every confirmed entity is anchored to an official government registration. That anchor is what keeps IDs stable and what separates two companies that share a name. On top of it, research agents search registries, directories, news and the company's own site, then attach what they find to the registration.
Confidence and provenance
match_confidence (0-100) says how certain we are that the result is the entity you asked
for. factors[] lists the strengths and limitations behind that score, and actions[]
suggests what to add when a query is ambiguous. Both use stable codes. See
Codes & enums.
Pass include=basis for per-field provenance: for each field, the confidence, the reasoning,
and citations back to the sources, each tagged with an authority tier.
Freshness
Registry data updates on each registrar's cadence. Web-sourced enrichment refreshes
periodically. /v3/entities/{id} never blocks: it serves what exists now and reports the
build state in enrichment.status. When a record has never been enriched, the first read
starts the build in the background. Poll until enrichment.status is complete.