registercheckby openlaw group
API referenceCompanies

Check a customer's details against the register

POST
/companies/verify

Checks a customer's details against the register: the company's name, register identity and address as the register holds them, an optional signatory against its current representatives, and the risk checks asked for.

Name the company by text (its details as one line) or by company fields -- exactly one of the two. checks names the risk checks; status is always done.

The company is resolved by its register identity as the text states it -- with the court when the text names one -- else by its name; the rows either read answers are chosen by the name the text states and the town it names, when they narrow them. An identity that matches no visible company answers 404; one that matches several answers 409 listing every candidate. Both are uncharged, and nothing further is read.

Each provided field is compared with the register: match, mismatch_minor (spelling, the same town on another street, or the address before the last registered change -- registered_since says when it changed), mismatch, or not_provided. The signatory is match when a current representative of that name is registered, mismatch when none is, and unknown whenever the company's privacy rules withheld anyone: a restricted person is never confirmed or denied.

A risk check answers pass, fail or unknown -- unknown when the data to judge it is missing, never a silent pass. insolvency reads the register's own entries (an opened proceeding, provisional measures or a rejection for lack of assets fails it); sanctions the screening the company page runs (a stored screen not older than seven days, else a fresh one; checked_at says when); ubo the computed beneficial owners, with their percentages, as the beneficial-owners operation computes them.

The answer is not stored: id names this response, and asking again produces another. An Idempotency-Key is not replayed here (the answer holds the customer's details): a repeated request is answered, and charged, again.

Costs 4 credits, plus 8 with ubo.

Authorization

bearerAuth
AuthorizationBearer <token>

Your API key, sent as Authorization: Bearer rc_live_….

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

A customer's details to check. Exactly one of text (the details as one line, Nordlicht Software GmbH, HRB 287341, Maximilianstraße 8, 80539 München) and company (the same details as fields); a body that sends both, or neither, answers 400 validation_failed before anything is charged or read.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://api.registercheck.de/v1/companies/verify" \  -H "Authorization: Bearer $REGISTERCHECK_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "text": "Nordlicht Software GmbH, HRB 287341, Maximilianstraße 8, 80539 München",    "signatory": "Lena Hartmann",    "checks": [      "status",      "insolvency",      "sanctions",      "ubo"    ]  }'
{  "object": "verification",  "id": "ver_0spwtbrp21bqf975kbw3sptezw",  "created_at": "2026-10-26T09:00:00Z",  "result": "passed_with_warnings",  "company": {    "id": "cmp_4zhsyprpta9gyrwbrt1ee8tzkf",    "object": "company",    "name": "Beispiel Beteiligungs GmbH",    "status": "active",    "legal_form": "gmbh",    "register": {      "court": {        "code": "D2601",        "name": "Amtsgericht München"      },      "type": "HRB",      "number": "287341",      "formatted": "Amtsgericht München HRB 287341",      "country": "DE"    },    "address": {      "street": "Maximilianstraße 8",      "postal_code": "80539",      "city": "München",      "state": null,      "country": "DE",      "formatted": "Maximilianstraße 8, 80539 München",      "coordinates": null    },    "purpose": null,    "capital": null,    "representation_rule": null,    "identifiers": {      "euid": null,      "lei": null    },    "industries": [],    "registration_date": null,    "founding_date": "2019-04-11",    "termination_date": null,    "last_register_entry_date": "2026-06-02",    "counts": {      "current_roles": 1,      "documents": 1,      "financial_statements": 0    }  },  "input": {    "text": "Beispiel Beteiligungs GmbH, HRB 287341, Sendlinger Straße 4, 80331 München",    "parsed": {      "name": "Beispiel Beteiligungs GmbH",      "register": "HRB 287341",      "address": "Sendlinger Straße 4, 80331 München",      "signatory": null    }  },  "fields": [    {      "field": "name",      "result": "match",      "provided": "Beispiel Beteiligungs GmbH",      "registered": "Beispiel Beteiligungs GmbH",      "registered_since": null,      "note": null    },    {      "field": "register",      "result": "match",      "provided": "HRB 287341",      "registered": "Amtsgericht München HRB 287341",      "registered_since": null,      "note": null    },    {      "field": "address",      "result": "mismatch_minor",      "provided": "Sendlinger Straße 4, 80331 München",      "registered": "Maximilianstraße 8, 80539 München",      "registered_since": "2026-03-02",      "note": "Gleicher Ort, die Geschäftsanschrift wurde am 02.03.2026 geändert."    },    {      "field": "signatory",      "result": "not_provided",      "provided": null,      "registered": null,      "registered_since": null,      "note": null    }  ],  "risk": [    {      "check": "status",      "result": "pass",      "detail": "active",      "checked_at": null,      "lists": null,      "beneficial_owners": null    },    {      "check": "insolvency",      "result": "pass",      "detail": "Keine Insolvenz im Register eingetragen",      "checked_at": null,      "lists": null,      "beneficial_owners": null    }  ],  "summary": {    "fields_checked": 3,    "matches": 2,    "warnings": 1,    "failures": 0,    "risk_flags": 0  },  "sources": [    {      "document": "current_register_extract",      "retrieved_at": "2026-10-22T06:04:00Z"    }  ]}