Start here
This guide contains public integration notes for Germany. Use it for identifier formats, search behavior, and country-specific caveats. The live source of truth for coverage, pricing, data sources, documents, legal forms, roles, and status values is the pricing page.Germany coverage, pricing, and sources
Open the current catalog for supported datapoints, documents, sources, identifiers, and availability.
Country details below are preserved as integration notes. If a table or example conflicts with the live pricing page, use the pricing page as the source of truth and contact support.
Data Sources
Germany uses a multi-source strategy combining official registers for comprehensive company coverage. Requests are routed to the appropriate register based on the company’s register type. Company profile data is extracted from official trade register documents.- Unternehmensregister (Company Register): Germany’s central commercial register portal, operated by the Bundesanzeiger Verlag. Primary source for all companies in HRB, HRA, GnR (Genossenschaftsregister), PR (Partnerschaftsregister), and GsR (Gesellschaftsregister). Provides search, company status (active/deleted), the Aktueller Abdruck (current trade register extract), the Chronologischer Abdruck (chronological trade register extract / register history), Dokumentenansicht documents (filed corporate documents), and publications (financial statements, announcements).
- Handelsregister (Trade Register): The federal register of all German companies, operated by the federal states. Used specifically for VR (Vereinsregister / associations) companies, which are not available via Unternehmensregister. Provides the Aktueller Abdruck and Chronologischer Abdruck for VR companies, and is also used as a fallback source for Aktueller Abdruck retrieval for non-VR companies. Provides live search by partial ID or name.
- Document extraction: Company profile data (legal name, registration date, activity description, registered address, share capital, legal representatives) is read directly from the text of the Aktueller Abdruck, so the same extract always yields the same values. Legal form is likewise read deterministically from the extract’s Rechtsform section, with hybrid forms (GmbH & Co. KG, UG & Co. KG) resolved from the company name and the general-partner entries; AI is used only as a fallback for rare wordings outside the standardized list. Activity codes remain AI-inferred from a standardized list.
Both Unternehmensregister and Handelsregister are third-party registers with variable availability. Automatic retries are used to maximize reliability. For Aktueller Abdruck retrieval, non-VR companies query both sources and use whichever returns first.
Company Identifiers
Query Identifiers
German companies are identified by a composite registration number in the format:{RegisterCourt} {RegisterType} {RegisterNumber}.
Register Sections
German companies file in one of six register sections. The section abbreviation is part of every company’s registration identifier and is the exact value the federal portals (handelsregister.de, unternehmensregister.de) use.Register Courts
Companies are registered at one of 129 Amtsgerichte (local courts). The court name is part of the registration identifier and matches the canonical form used on official register extracts, including parenthetical disambiguators (Berlin (Charlottenburg), Oldenburg (Oldenburg)) and abbreviated saint names (St. Ingbert, St. Wendel).
Fuzzy matching is supported for common variations (for example Munchen for München, Berlin Charlottenburg for Berlin (Charlottenburg)).
Search also accepts the abbreviated court code (Ortskennzeichen) that appears on certified register extracts, where the code trails the number instead of preceding it. For example, HRB 23591 KI (KI = Kiel) resolves to the same company as Kiel HRB 23591. The codes follow the official handelsregister.de scheme and cover the courts in Berlin, Brandenburg, Bremen, and Schleswig-Holstein (for example B = Berlin, HB = Bremen, HL = Lübeck, FL = Flensburg).
Full list of 129 supported register courts
Full list of 129 supported register courts
Aachen, Amberg, Ansbach, Arnsberg, Aschaffenburg, Augsburg, Aurich, Bad Hersfeld, Bad Homburg v.d.H., Bad Kreuznach, Bad Oeynhausen, Bamberg, Bayreuth, Berlin (Charlottenburg), Bielefeld, Bochum, Bonn, Braunschweig, Bremen, Bremerhaven, Chemnitz, Coburg, Coesfeld, Cottbus, Darmstadt, Deggendorf, Dortmund, Dresden, Duisburg, Düren, Düsseldorf, Eschwege, Essen, Flensburg, Frankfurt am Main, Frankfurt/Oder, Freiburg, Friedberg, Fritzlar, Fulda, Fürth, Gelsenkirchen, Gießen, Göttingen, Gütersloh, Hagen, Hamburg, Hamm, Hanau, Hannover, Hildesheim, Hof, Homburg, Ingolstadt, Iserlohn, Jena, Kaiserslautern, Kassel, Kempten (Allgäu), Kerpen, Kiel, Kleve, Koblenz, Köln, Königstein, Korbach, Krefeld, Landau, Landshut, Langenfeld, Lebach, Leipzig, Lemgo, Limburg, Lübeck, Ludwigshafen a.Rhein (Ludwigshafen), Lüneburg, Mainz, Mannheim, Marburg, Memmingen, Merzig, Mönchengladbach, Montabaur, München, Münster, Neubrandenburg, Neunkirchen, Neuruppin, Neuss, Nürnberg, Offenbach am Main, Oldenburg (Oldenburg), Osnabrück, Ottweiler, Paderborn, Passau, Pinneberg, Potsdam, Recklinghausen, Regensburg, Rostock, Saarbrücken, Saarlouis, Schleiden, Schweinfurt, Schwerin, Siegburg, Siegen, Stadthagen, Steinfurt, Stendal, St. Ingbert (St Ingbert), Stralsund, Straubing, Stuttgart, St. Wendel (St Wendel), Tostedt, Traunstein, Ulm, Völklingen, Walsrode, Weiden i. d. OPf., Wetzlar, Wiesbaden, Wittlich, Wuppertal, Würzburg, Zweibrücken.
The list is stable. Changes occur only when a court is renamed or an Amtsgericht is dissolved by a federal-state administrative act.
Identifiers in API Response
Once you retrieve company data, theidentifiers object contains the three parts of the German registration number:
Search Capabilities
How does intelligent ID parsing work?
How does intelligent ID parsing work?
Search queries are parsed to extract and validate ID components:
- Full ID Match: If all three components (court, register type, number) are detected and yield an exact match, the exact match is returned first (with
matchReason.matchType = "id"); other results may follow. - Partial ID: If 1-2 components are present (e.g., “HRB 228960” without court), results are found via live register lookups.
- Name Search Fallback: If no valid ID parts are detected or the full ID lookup fails, a comprehensive name search is performed across all sources.
Name searches query both Unternehmensregister (for HRB, HRA, GnR, PR, GsR) and Handelsregister (for VR associations) in parallel.
Company Status
Company status is determined deterministically from the Unternehmensregister or Handelsregister search results — no AI inference is involved. TheLocal Status column below is the exact string returned in company.status.localName. It is a closed list: the API always returns exactly one of these values, including the German umlauts.
Non-VR Companies (HRB, HRA, GnR, PR, GsR)
VR Companies (Associations)
For VR companies (associations), deleted entries are not included in search results. Therefore, any VR company found in search results is by definition active. The Aktueller Abdruck (trade register extract) may contain additional status details (e.g., “In Liquidation”).
Legal Forms
Legal form is read deterministically from the trade register extract and resolved against a standardized list of recognized German legal forms; AI is used only as a fallback for rare wordings outside that list. Each legal form is mapped to its full local name, English translation, standardized category, and ISO 20275 code. This ensures high accuracy, particularly for hybrid forms. TheLocal Name column below is the exact string returned in company.legalForm.localName, character for character, including German umlauts (ä, ö, ü) and the abbreviation in parentheses where one exists. Forms without a common abbreviation (for example Stille Gesellschaft) are returned without parentheses. This is a closed list: the API always returns exactly one of these values, so you can map on localName directly.
Corporations (Kapitalgesellschaften)
Partnerships (Personengesellschaften)
Sole Proprietorships
Hybrid Forms (Mischformen)
Hybrid forms are returned with the constituent forms written out in full, with the common short form in parentheses. For example a GmbH & Co. KG is returned asGesellschaft mit beschränkter Haftung & Co. Kommanditgesellschaft (GmbH & Co. KG), not as GmbH & Co. KG.
Associations & Cooperatives
Public Law Entities & Foundations
Legal form is read deterministically from the trade register extract and resolved against this standardized list, with AI as a fallback for rare wordings outside it. The company name, the Rechtsform section, and the general-partner (persönlich haftender Gesellschafter) entries are used to correctly identify hybrid forms like a GmbH & Co. KG versus a plain Kommanditgesellschaft.
Legal Representatives
Legal representatives come from the Aktueller Abdruck (current trade register extract). Every representative carries the German title as the register writes it inrole.localName, plus role.englishTranslation and role.standardized.
Legal Representative Roles
The table below is the full list of role labels Germany recognises. Build your mapping onrole.standardized, which is a closed list, rather than on the German label.
Managing bodies
Sole traders
Partnerships
Prokura (§§ 48 ff. HGB)
Winding-up
Association boards (e.V.)
Public-sector operating entities
Foreign branches (§ 13e HGB)
Supervisory Board Roles (otherKeyPersons)
The Handelsregister lists the supervisory board in the same extract sections as the managing body, but an Aufsichtsrat oversees the Vorstand and has no power to bind the company. These people are returned on the separate otherKeyPersons datapoint, never in legalRepresentatives, so legalRepresentatives is safe to use directly for a signatory check.
otherKeyPersons is part of the same data block as company and legalRepresentatives, so requesting it costs nothing extra. role.standardized on this datapoint comes from the other-key-person role list, which is separate from the legal-representative one.Feminine forms. The register writes the gendered title and we return it as written, so
Geschäftsführerin and Geschäftsführer are two distinct localName values with the same standardized value. Match on standardized and you never have to handle both.Inhaber applies to sole traders. It is the role a registered sole trader carries in their own HRA entry:
Eingetragener Kaufmann (e.K.), Eingetragene Kauffrau (e.Kfr.) and Einzelunternehmen account for more than 99% of the Inhaber representatives in the German register. A company registered as a GmbH, AG or KG has a Geschäftsführer, Vorstand or persönlich haftender Gesellschafter instead.Signing authority is not a role.
Einzelvertretungsberechtigt and Gesamtvertretungsberechtigt are returned in the separate representationMode field described below, not in role.Representation Mode
Legal representatives include arepresentationMode field extracted from signing authority clauses in the Aktueller Abdruck (trade register extract). This field indicates how the representative can sign for the company:
{ mode: "sole" }: Can sign alone (“Einzelvertretungsberechtigt” or “Einzelprokura”){ mode: "joint" }: Must sign jointly with others (“Gesamtvertretungsberechtigt” or “Gesamtprokura”){ mode: "joint", minimumSignatories: N }: Must sign jointly with a specified number of other representatives{ mode: "joint", namedCoSigners: ["Name"] }: Must sign jointly with specific named individuals (“gemeinsam mit [Name]”)null: No signing authority explicitly stated
Shareholders
German shareholder extraction uses a multi-source strategy that adapts based on the company’s legal form.Extraction Logic
-
Legal Form Analysis — The company’s legal form determines:
- Whether it requires public shareholder disclosure (AG, SE, KGaA do not)
- Whether it is a partnership structure (KG, OHG, etc.) or corporate structure (GmbH, UG, etc.)
-
Primary Source: Gesellschafterliste (Shareholder List) — For companies with disclosure requirements:
- The “Liste der Gesellschafter” document is used when available among filed documents
- This is the most comprehensive and authoritative source
- If found with shareholders, it is used exclusively
-
Fallback Strategy — If no Gesellschafterliste is found or it returns empty:
For Partnership Structures (KG, GmbH & Co. KG, OHG):
- First Priority: Trade register extract (Aktueller Abdruck) — Extracts Kommanditisten (limited partners) with capital contributions, identifies profit transfer agreements (100% control)
- Last Resort: Financial statements (only if trade register has no partners)
- Both sources are checked: Trade register extract (for control statements) and Financial statements (for parent company identification)
Data Sources Explained
Partnership Structures (KG) — Important Notes
German KG (Kommanditgesellschaft) and GmbH & Co. KG have two types of partners:-
Komplementar (General Partner):
- Manages the company with unlimited personal liability
- NOT included in shareholder results — they are managers, not economic owners
- Example: In “ABC GmbH & Co. KG”, the “ABC GmbH” is the Komplementar
-
Kommanditisten (Limited Partners):
- Provide capital and own the economic value
- Have limited liability (only lose their capital contribution)
- These ARE included as shareholders with calculated percentages
How are ownership percentages calculated for KG structures?
How are ownership percentages calculated for KG structures?
When multiple Kommanditisten are listed with capital contribution amounts (Kommanditeinlage/Haftsumme), ownership percentages are automatically calculated from the capital amounts:Example: VREF Germany ACB GmbH & Co. KG
- ACB Verwaltungs GmbH (Komplementar) — Excluded (manager, not owner)
- Swiss Life AG — Included as 5.1% shareholder (5,100 / 100,000)
- VREF Germany Real Estate Acquico — Included as 94.9% shareholder (94,900 / 100,000)
Key Features
- Smart prioritization: Partnership structures prioritize the trade register over financial statements
- Economic ownership focus: Only returns actual shareholders/owners, excludes Komplementare
- Automatic percentage calculation: For KG structures, calculates ownership percentages from capital contributions
- Deduplication: Multiple sources are combined and deduplicated by shareholder identity
- Company ID enrichment: Company-type shareholders are enriched with full German registration IDs via search
- Source attribution: Each shareholder record includes the source document and extraction method
Ultimate Beneficial Owners
UBOs are sourced from the Transparenzregister, which by law only grants access to obliged entities (Verpflichtete) carrying out their own AML check. Your account reaches it by one of two paths, and they differ in how long the data point takes to settle.Two delivery paths
The path is chosen for you from your account configuration. No request parameter selects it, and the response shape does not change.
Two consequences of the partner path being verification-only. Onboarding mode needs your own credentials, and fails with
account_configuration_required without them, because no partner order can settle inside an onboarding window. Scheduled monitoring rechecks use the credentialed path for the same reason, so monitoring a German company’s beneficial owners requires your own access.
The partner-sourced wait
- Other data points in the same request are unaffected.
companyProfilereachingsucceededwhileultimateBeneficialOwnersis stillin_progressis the ordinary shape of a German UBO request, not a partial failure. - The requestId stays valid throughout. Keep polling it, or wait for the webhook. Re-issuing the same request does not make it faster: a second call for the same company attaches to the extract already in flight rather than ordering another one.
- On delivery,
ultimateBeneficialOwnersmoves tosucceededand the webhook fires. - If the company has no beneficial ownership entry to give, the data point fails with
no_document_available. - The wait is capped at 7 days. Past that the data point fails with
source_unavailable, which is retryable. - Billing follows the outcome. The charge is reserved when the request is made and settles only on delivery. A data point that ends in failure is refunded automatically.
Registered owners and the German fallback
German law defines a beneficial owner as a natural person holding more than 25% of the capital, controlling more than 25% of the voting rights, or exercising control in a comparable way. Where no such person exists, the German AML act (§ 3 Abs. 2 S. 5 GwG) treats the company’s legal representatives, managing partners and partners as the beneficial owners instead. The register calls these fiktive wirtschaftlich Berechtigte and records them in place of a real owner. Both kinds are returned onultimateBeneficialOwners. Read control to tell them apart:
The fallback is applied by the German register under German law, so the set of people is the one the German act names: legal representatives, managing partners and partners. It follows the same principle as the senior managing official fallback in EU AML rules, but it is not defined by them. We return what the register recorded. Whether that set satisfies your own obligation is your determination.
Subsidiaries
subsidiaries is available for Germany. It returns the equity participations the queried company holds in other entities, taken from the shareholdings list (Anteilsbesitzliste, §285 Nr. 11 HGB) in the notes of the company’s annual financial statement, or from the subsidiaries list (§313 HGB) in a published consolidated group statement. Values are AI-extracted, so verify them against the filing before relying on them for compliance.
Availability follows German disclosure law, not our coverage:
- A company that has published no annual or consolidated accounts returns no subsidiaries.
- Small and micro companies are exempt from disclosing the shareholdings list, so they return none even when they hold participations.
- Micro-company balance-sheet deposits carry no notes, so they never contain a shareholdings list.
subsidiaries is a separate data block from company, and it is available in verification mode only. See the Subsidiaries guide for the response shape.
Data Availability Matrix
Legend: ✅ Available | ❌ Not Available | ⚠️ Conditionally Available | Async = Asynchronous processing
Register Documents
Two register extracts are available for every company (all entity types, including VR associations) and delivered as PDF. Retrieve them by listingavailableDocuments and ordering the returned document id through /v2/company.
The Trade Register History (Chronologischer Abdruck) covers the chronological record from the register’s switch to electronic record-keeping onward. For entities registered before then, entries predating that switch are held in a separate historical extract (Historischer Abdruck), which is not currently offered.
Activity Code Mapping
Germany does not use a structured national activity code in the Handelsregister. Activity codes are AI-inferred from the company’sGegenstand des Unternehmens (company purpose) field, which is a free-text description extracted from the Aktueller Abdruck document.
All German activity codes are AI-inferred because the trade register provides only a free-text business purpose description, not structured activity codes. The
isAIInferred flag is always true.WZ2025 is the current edition of the German Klassifikation der Wirtschaftszweige (the national implementation of NACE Rev. 2.1). It is returned alongside WZ2008 and up-converted from it using the official Destatis correspondence table. A WZ 2008 code that splits into several WZ 2025 codes returns all of them, so company.activities.WZ2025 can contain more than one entry.Main activity. Each classification returns a single best-match code for the company purpose, so that code carries isMainActivity: true (always together with isAIInferred: true, since the judgment is the model’s, not the register’s). A WZ 2008 code with exactly one WZ 2025 successor passes the flag on; when it splits into several WZ 2025 codes, none of them is flagged because the main successor cannot be determined.Documents by Company Type
Non-VR Companies (HRB, HRA, GnR, PR, GsR)
VR Companies (Associations)
Financial statements are moving to structured data. Since the 2022 disclosure reform, companies file their published annual statements to the register as structured data rather than plain PDF. We retrieve these directly, so
financialStatements[] still returns a statement for almost every company. The one exception is a listed issuer’s ESEF-tagged consolidated statement (required under the EU Transparency Directive), which the register does not make available in any form. Deposited micro-company accounts (voluntary publication) remain available as a paid document.Data Source Priority & Routing
Requests are routed based on register type, detected from the company’s registration number:Routing Logic by Register Type:
-
VR (Vereinsregister) — Always routed to Handelsregister:
- Search: Handelsregister VR search
- Company status: Handelsregister VR status check
- Aktueller Abdruck: Retrieved from the official register
- Documents: Only Aktueller Abdruck available
-
HRB, HRA, GnR, PR, GsR — Routed to Unternehmensregister (with Handelsregister fallback):
- Search: Unternehmensregister search API
- Company status: Unternehmensregister search result
- Aktueller Abdruck: Retrieved from Unternehmensregister or Handelsregister
- Documents: Dokumentenansicht + Publications from Unternehmensregister
Onboarding mode (fast retrieval)
POST /v2/company with mode: "onboarding" provides fast, cost-effective access to company profile data for Germany, optimized for onboarding requests.
- Coverage: HRB, HRA, GnR, PR, and GsR registers
- VR Register: VR companies are always fetched live from the official register
Example API Responses
All examples use placeholder data. Query:POST /v2/company with { "id": "<id>", "countryCode": "DE", "dataPoints": ["company", "legalRepresentatives"] }
Active GmbH (Source: Unternehmensregister)
Active GmbH (Source: Unternehmensregister)
GmbH & Co. KG (Partnership with Kommanditisten)
GmbH & Co. KG (Partnership with Kommanditisten)
Closed Company (Source: Unternehmensregister)
Closed Company (Source: Unternehmensregister)
active: false and local status Gelöscht, based on deletion information from the Unternehmensregister.Registered Association (e.V.) -- Source: Handelsregister
Registered Association (e.V.) -- Source: Handelsregister
Available Documents (company example)
Available Documents (company example)
Documents are returned when
"dataPoints": ["availableDocuments"] is requested.Non-VR companies (HRB, HRA, GnR, PR, GsR):VR companies (Associations):