Product · v0 · Class A · also known as company_state
find_missing
What OpenCorporates doesn't do: confirm a company's LEI is genuinely reconciled against Spain's BORME or Hungary's Cégjegyzék (both real, verified registries in our 23-jurisdiction list — most aggregators stop at the big five), and watch a whole portfolio for the moment any entity's status actually changes, instead of re-pulling a snapshot yourself on a schedule.
Checks whether an entity that already has a real LEI (Legal Entity Identifier) has a high-confidence match in the national commercial registry its own declared jurisdiction would expect — 23 real national registries covered (full list), including UK Companies House, Spain BORME, France SIRENE, and Germany's decentralized Handelsregister (148 individual court registries). Never claims illegality, fraud or a shell entity — only "no high-confidence match", always with the expectation rule that explains why a match was expected in the first place.
Real example
Request:
POST https://api.nkodatalabs.com/v0/find_missing
x-api-key: <your key>
content-type: application/json
{"identifier_type": "lei", "identifier": "2138002P5RNKC5W2JZ46", "jurisdiction": "GB"}
Response (real, live TESCO PLC lookup):
{
"entity_seen_in": [
{"registry": "GLEIF (global LEI index)", "id": "2138002P5RNKC5W2JZ46", "matched_on": "lei", "confidence": 1.0},
{"registry": "UK Companies House", "id": "00445790", "matched_on": "gleif.registration.validatedAt", "confidence": 0.95}
],
"expected_in": [
{"registry": "UK Companies House", "reason": "Every company incorporated in England/Wales, Scotland or Northern Ireland must register with Companies House."}
],
"not_found_in": [],
"candidates": [],
"verdict": "CONSISTENT",
"method_version": "nko-find-missing-v0.1-2026-08-31",
"evidence_refs": ["GLEIF API https://api.gleif.org/api/v1/lei-records (live query)", "entity_legal_name='TESCO PLC'"],
"verdict_block": {
"verdict": "CONSISTENT",
"confidence": 0.95,
"declared_state": "Entity declares a legal address in GB.",
"observed_state": "Found in: GLEIF (global LEI index), UK Companies House.",
"delta": {"expected_registries": 1, "confirmed_registries": 1},
"sensor_agreement": {
"status": "not_applicable_single_source",
"note": "Only GLEIF is queried live today - no second independent registry (VAT, procurement, regulator, domain) is cross-checked yet."
},
"recommended_next_action": "None - result is decisive."
}
}
confidence reuses the same fixed real weights the
method already assigns by match type (GLEIF's own record = 1.0, a
cross-referenced national-registry match = 0.95, an absence
assertion = 0.6) — declared match-type weights, not a per-instance
statistical measurement, documented as such rather than presented
as more precise than they are.
Ambiguous names (e.g. "Banco Santander", which has 25+ real LEIs)
never get a verdict picked blindly — the API returns a
candidates[] list instead, and asks you to
disambiguate with a specific LEI.
Try it without a key
No signup, no key — 5 calls/day per IP, meant for trying the method before you commit to an email:
curl -X POST https://api.nkodatalabs.com/v0/find_missing \
-H "content-type: application/json" \
-d '{"identifier_type": "name", "identifier": "Tesco PLC", "jurisdiction": "GB"}'
Same full response as a keyed call, plus a
trial: {"remaining_today": N, "get_key_url": "..."}
field. The 6th call the same day from the same IP returns
429 with a link to get a free key.
Get a free key (50 calls/day)
Self-service, no approval — POST /v0/keys with your
email returns a key instantly. A key raises the daily limit from
5 (anonymous) to 50/day, shared between this endpoint and
/v0/company_state.
Python client
pip install nko
import nko
nko.find_missing("name", "Tesco PLC", jurisdiction="GB", api_key="your_key")
Limits
Free, v0, no availability guarantee. Without a key: 5 calls/day
per IP. With a free key: 50 calls/day, shared between
/v0/find_missing and /v0/company_state —
further calls return 429 until next UTC day. A
revoked key returns 403; an unknown key returns
401.
Need more than 50/day?
One credit pack, no subscription: 2,500 calls for €19 (€0.0076/call), never expires. Uses the key from the section above (saved in this browser) — request one first if you haven't.
For reference: typical standalone KYB business-verification lookups run ~$2 per check elsewhere (Didit, 2026) — ours is a narrower registry-expectation check, not a full KYB bundle (no UBO/AML), priced accordingly.
Sources & attribution
The only live source queried is GLEIF (Global Legal Entity Identifier Foundation) — public, no authentication required. GLEIF record data references the national registration authorities it validates against: UK Companies House, Spain's Registro Mercantil (BORME), and France's Sirene (INSEE). Those three registries are used under a "review" legal status internally (mandatory attribution, not GREEN/unrestricted) — this product only echoes registry identifiers already published by GLEIF itself, it does not scrape or redistribute the national registries directly.
Re-identification notice: combining a global LEI with a specific national registration number links two otherwise-separate public identifiers for the same entity. Both are already public individually; this product makes the cross-reference explicit rather than novel information. No personal data about individuals is processed — LEI records describe legal entities, not people.