Check a customer's details against the register
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 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" } ]}