Germany Handelsregister API - Company Data
Company data and officers from the German commercial register. You get clean, structured records with the source registry attached - keyed off the HRB identifier.
- →Structured JSON, not HTML or PDFs
- →Source registry attached to every record
- →Read live at query time - current filings
- →Queried by HRB or company name
What each Handelsregister record contains
| Field | What it holds |
|---|---|
| companyName | Full legal company name |
| legalForm / legalFormCode | Legal form (GmbH, AG, ...) and its raw XJustiz code |
| status | Register status (e.g. aktuell) |
| registerCourt / registerType / registerNumber | Registering court, HRB/HRA/GnR/PR/VR, and number |
| euid | European Unique Identifier for cross-border matching |
| seat / address | Registered seat and full structured address |
| capital | Registered capital (amount + currency) |
| officers | Representatives with name, firstName, lastName, dateOfBirth, city, role, raw roleCode |
| representationRule | Rule of representation (Vertretungsregelung) |
| businessPurpose | Object of the company (Gegenstand des Unternehmens) |
| registrationHistory | Registration narrative entries (Eintragungstexte) |
| structuredData | true when official XJustiz structured content was parsed |
| sourceUrl / scrapedAt | Provenance |
Sample record (JSON, people masked)
{
"companyName": "Connected Retail GmbH",
"legalForm": "Gesellschaft mit beschränkter Haftung",
"legalFormCode": "221110",
"registerCourt": "Amtsgericht Charlottenburg",
"registerType": "HRB",
"registerNumber": "HRB 215511 B",
"euid": "DEF1103R.HRB215511B",
"status": "aktuell",
"seat": "Berlin",
"address": {
"street": "Valeska-Gert-Straße",
"houseNumber": "5",
"postalCode": "10243",
"city": "Berlin",
"formatted": "Valeska-Gert-Straße 5, 10243 Berlin"
},
"capital": {
"amount": 30000,
"currency": "EUR"
},
"officers": [
{
"name": "…",
"firstName": "…",
"lastName": "…",
"dateOfBirth": "…",
"city": "…",
"roleCode": "086",
"role": "Geschäftsführer"
}
],
"representationRule": "Ist ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere ...",
"businessPurpose": "Die Erbringung von Vertriebsdienstleistungen für Einzelhändler ...",
"structuredData": true,
"sourceUrl": "https://www.handelsregister.de",
"scrapedAt": "2026-06-09T19:04:27.810Z"
} What it does not do
- Returns matches from the first results page (up to maxResults). For one specific company, use exactMatch or add a registerNumber.
- The register's document service rate-limits under heavy use; some records may return core identity only with a "retry later" status - re-run those for full structured data.
- Data originates from the German federal-state register portal and is provided as-is.
Handelsregister (Germany) does not offer a clean public API for programmatic queries. getregdata reads the official source directly and returns structured JSON, keyed off the HRB identifier - so you get API-like access without an official endpoint.
Install the getregdata agent skills or MCP server, or run the regdata/germany-handelsregister-scraper actor on Apify. Query by HRB or company name and receive structured, source-attributed records. It is free to install; you pay per result on Apify.
Company data and officers from the German commercial register.
Not ready to run it yourself? Tell us which companies or filters you need. We run it once and send you the file, and a quote if you want it regularly. No newsletter, no sales calls.
Your request is in our inbox. We reply within one business day, from [email protected].
The form could not send just now - nothing is lost. Send it as an e-mail instead (your text is already filled in), or write to [email protected].
Prefer e-mail? [email protected] · We use your details only to answer you. Privacy