registercheckby openlaw group
API referenceSearch

Find companies by name or register identity

GET
/search/companies

Looks up companies by name, by register identity (court, register type and number), or both. A register identity is not guaranteed to be unique — about 1% of identities are shared by more than one entry — so this always returns a list.

Requires name or register_number.

Pages by limit and cursor. A cursor holds this search's parameters, not its page size: the next page may ask for another limit. A cursor sent with other parameters answers 400 validation_failed naming cursor.

Costs 1 credit.

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Query Parameters

name?string

Company name or part of it.

Matching is by words, ignoring case: every word you give must appear in the name, in any order, and the last one also matches as the start of a word (Beisp finds Beispiel). Small typos are tolerated. A fragment from the middle of a word does not match. When no name contains every word, names that contain fewer of them are returned instead. Active companies come first, then the best match.

Length2 <= length <= 200
q?string
Deprecated

Deprecated alias of name, served until 2026-12-31. It searches exactly as name does, and every response to a request that uses it carries the Deprecation and Sunset headers. Giving both name and q is a 400.

Length2 <= length <= 200
register_court?string

The register court: its code (D2601), its name (Amtsgericht München) or its town (München).

Length1 <= length <= 100
register_type?string

Register type.

Value in

  • "HRA"
  • "HRB"
  • "GnR"
  • "PR"
  • "VR"
  • "GsR"
register_number?string

Register number without the register type, for example 999999 or 12345 B.

Lengthlength <= 20
status?array<>

Only companies with one of these statuses.

city?string

City of the registered address.

Lengthlength <= 100
limit?integer

Page size.

Range1 <= value <= 100
Default20
cursor?string

The next_cursor of the previous page; leave it out for the first page. Opaque: pass it back as it came. A cursor from another list, or from the same list with other filters, answers 400 validation_failed naming cursor.

Length1 <= length <= 2000

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://api.registercheck.de/v1/search/companies?name=Beispiel+Reisen&register_court=D2601&register_type=HRB&register_number=999999&status=active&city=M%C3%BCnchen" \  -H "Authorization: Bearer $REGISTERCHECK_API_KEY"
{  "object": "page",  "next_cursor": null,  "total_count": 1,  "data": [    {      "object": "summary",      "type": "company",      "id": "cmp_01hxn3rys1fh58w4d1pb1x9s81",      "name": "Beispiel Reisen GmbH",      "status": "active",      "legal_form": "gmbh",      "register": {        "court": {          "code": "D2601",          "name": "Amtsgericht München"        },        "type": "HRB",        "number": "999999",        "formatted": "Amtsgericht München HRB 999999",        "country": "DE"      },      "address": {        "city": "München"      },      "registration_date": null,      "founding_date": "2010-01-15"    }  ]}