Skip to content

IDFinder

IDFinder resolves a company’s official registration number from its legal name and jurisdiction. It cross-references live web sources and returns only verified matches (empty array when nothing can be confirmed).

Use it before Search or Expand when you do not yet have a registry identifier.


Find registration ID

Request

POST https://api.revolutio.systems/idfinder
Content-Type: application/json

Headers

Header Value
Content-Type application/json
X-API-Key or Authorization API key or Bearer token

Body

{
  "legalName": "Revolut Ltd",
  "jurisdiction": "GB"
}
Field Type Required Description
legalName string Yes Legal name of the company to look up
jurisdiction string No Jurisdiction code (e.g. GB, DE, US-DE). When present, IDFinder uses live web search as before. When omitted, it resolves the country first (GLEIF, then EU BRIS name search) and only returns identifiers it actually saw.
registry string No Optional hint for the authoritative registry name used in the lookup prompt (jurisdiction path only)

Response

JSON array of matched registration identifiers:

[
  {
    "companyName": "REVOLUT LTD",
    "registrationNumber": "09215191",
    "identifierType": "Company number",
    "country": "GB"
  }
]
Field Type Description
companyName string Official legal name as registered (typically uppercase)
registrationNumber string Verified registration identifier
identifierType string Type label for this identifier (e.g. SIREN, INN, NZBN)
country string ISO 3166-1 alpha-2 uppercase (GB, RU, US)
jurisdiction string Optional. Present only when more specific than country (US-DE, CH-GE)

One array element is one identifier. The same company with INN and OGRN, or a Companies Office number and an NZBN, is two elements. There is no extraIdentifiers field.

For German companies (DE), registrationNumber is the register body and registerCourt is the city (no Amtsgericht prefix):

[
  {
    "companyName": "RADEBERGER GRUPPE HOLDING GMBH",
    "registrationNumber": "HRB 73882",
    "identifierType": "Registernummer",
    "country": "DE",
    "companyStatus": "Active",
    "registerCourt": "Frankfurt am Main"
  }
]

An empty array [] is returned when no verified match is found (and the credit is refunded).

{ "error": "Missing legalName and/or jurisdiction" }
{ "error": "Missing Authorization or X-API-Key header" }
{
  "error": "Insufficient credits. IDFinder requires 1 credit(s).",
  "cost": 1
}

Credits

  • Cost is jurisdiction-specific (idfinder_credit_cost, default 1).
  • Charged up front.
  • Refunded when the result array is empty, or when the lookup fails server-side.
  • You are only billed when at least one verified match is returned.

Info

IDFinder is synchronous (not a PENDING search). Expect multi-second latency while live sources are checked; the server enforces an internal timeout so callers receive JSON rather than a raw gateway error.

Example (cURL)

curl -sS -X POST https://api.revolutio.systems/idfinder \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $REV_API_KEY" \
  -d '{"legalName": "Apple Inc", "jurisdiction": "US-CA"}' | jq .

Identifier types by jurisdiction (examples)

The identifierType string depends on the jurisdiction. Common examples:

Jurisdiction Code Identifier type(s)
Australia AU ABN / ACN / ARBN
Austria AT FirmenbuchNummer
Belgium BE Enterprise number
Brazil BR CNPJ
Denmark DK CVR-nummer
Estonia EE Registry code
Finland FI Business ID
France FR SIREN
Germany DE Registernummer
Hong Kong HK BRN
Japan JP Japan Corporate Number
Luxembourg LU RCS Number
Netherlands NL KVK Nummer
Poland PL KRS
Singapore SG UEN
Spain ES NIF tax ID
Switzerland CH UID
United Kingdom GB Company number

Not every jurisdiction is IDFinder-compatible. See the IDFinder column in Data Coverage.


Next step

Pass registrationNumber into Search as identifier (or into Expand when enriching a counterparty).