Given a person's name, return every company across every jurisdiction where they hold a director / officer role. Joining the Norwegian Brønnøysund officer register, the UK Companies House officer index, and the OpenSanctions PEP list gives a cross-country graph that legacy single-country providers can't produce.
Real-world shell-game patterns we've found in our own data:
Fuzzy by design. A person named "John A. Smith" can appear as:
John Smith in NO brregSMITH, John Andrew in UK Companies House (uppercase, comma-separated)J. A. Smith in a sanctions PEP listingWe use multi-method fuzzy matching: exact-full, first-initial-plus-last, last-only-with-disambiguation-by-birth-year, hyphenated variants, and SequenceMatcher ratio as a final fallback. Every match has a confidence score. We never reject — we return the candidate list and let the customer set their threshold.
GET /v2/companies/{canonical_id}/global-officers
{
"canonical_id": "...",
"officers_with_overlap": [
{
"officer": "JANE SMITH",
"also_directs": [
{ "orgnr": "923609016", "name": "EQUINOR ASA" },
{ "orgnr": "913913771", "name": "DNB BANK ASA" }
],
"count": 12
}
]
}
Or, MCP-side, the global_officer_match tool returns the same shape to Claude / Cursor / any agent.
Person dedup across jurisdictions is genuinely difficult. The same person might have:
Our current approach is conservative — we surface all candidates with confidence scores, not a single "this is definitely the same person" answer. Anything above 0.80 is high-confidence; 0.50-0.80 is "candidate, verify"; below 0.50 we still return but flag as low-trust.
curl -H "X-API-Key: sandbox_try_2026" \ https://api.nordicdata.cloud/v2/companies/8b0a130f-e6e9-4ed6-97f3-8ebbe06dfac3/global-officers
Full docs at /docs. Real KYB customers — let's talk: [email protected].