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.
- Transparenzregister (Transparency Register): Germany’s register of beneficial owners. Source of
ultimateBeneficialOwners; see Ultimate Beneficial Owners. - Bundesanzeiger (Federal Gazette): Publishes the annual and consolidated financial statements of German companies. Primary source for
subsidiaries, with the Unternehmensregister as a fallback. - 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}. The court name is written as the register writes it and can contain spaces, parentheses, dots and slashes (Bad Homburg v.d.H. HRB 16392). The number has up to 6 digits in the records we have seen, and keeps any letter suffix the court adds after a space.
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 and the EUID when available:
Legal Entity Identifier (LEI)
GLEIF is the supplementary data source for this identifier.company.identifiers.lei is optional. It is returned when the full registration identity (registerCourt, registerType and registerNumber together) matches exactly one LEI through a GLEIF registration or validation reference.
The register court is part of the match. A register type and number alone do not identify a German entity.
The Legal Entity Identifier has 20 uppercase alphanumeric characters, ending in two check digits.
Coverage varies by entity. An absent lei does not prove that the company has no LEI. Lapsed, retired or merged LEIs may be returned; annulled LEIs are excluded.
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.
Active companies only
Search can return companies that are no longer active. Each result carries the register’s status, soactiveOnly=true removes the inactive ones. The filter removes companies deleted from the register. A company that is dissolved or in insolvency proceedings but not yet deleted is still returned.
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 tables below list the known catalogue of register titles; source wordings remain open. 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)
Ordinary supervisory-board office is returned on otherKeyPersons, including wording variants resolved against the published catalogue. This does not mean the board has no statutory representation in any circumstances: AktG §112 gives it representation toward executive-board members. A supervisory title alone is not a general company signing mandate.
For a positively identified German monistic SE, administrative-board titles (Verwaltungsrat and its member/chair variants) also go to otherKeyPersons as Board Member or Chairman of the Board unless the extract separately records representation authority. SEAG §41 gives ordinary representation to executive directors and limited representation to the administrative board. The exact per-person clause is retained when present. Foreign branches and unknown legal forms keep the source’s representative-section context; a German SE rule is not applied to an unverified foreign-law office.
otherKeyPersons shares the verification extract source with legalRepresentatives, so requesting both requires no additional extract. The fast prefill people source currently returns only legal representatives. 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”, “Alleinvertretungsberechtigt” or “Einzelprokura”){ mode: "joint" }: Must sign jointly with others (“Gesamtvertretungsberechtigt” or “Gesamtprokura”)- field absent: The extract states no representation rule we could read for this person. This does not mean the person has no authority.
minimumSignatories and namedCoSigners are never set: a German joint rule such as “durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen” comes back as { mode: "joint" }, and the exact combination is only in the trade register extract.
A per-person clause in the extract (for example “einzelvertretungsberechtigt” next to a name) takes precedence. Otherwise managing and board members get the company’s general representation rule (Allgemeine Vertretungsregelung). When that rule says a single manager signs alone and several managers sign jointly, the mode depends on how many managers are registered. Prokuristen get their mode from Einzel- or Gesamtprokura, never from the general rule.
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. Prefill mode needs your own credentials, and fails with
account_configuration_required without them, because no partner order can settle inside a prefill 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
manual_document_timeout, which is not retried automatically. Contact support if you still need the extract. - 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.
Ordering the beneficial ownership certificate
availableDocuments lists ultimateBeneficialOwnersCertificate. With your own Transparenzregister credentials, it uses your account’s access. Without credentials, it offers the partner-supplied certificate instead, with delivery over several business days. For the partner option, the document and the structured ultimateBeneficialOwners datapoint use the same certificate. Follow the request through webhooks or polling until it completes.
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.WZ_2025 is the current edition of the German Klassifikation der Wirtschaftszweige (the national implementation of NACE Rev. 2.1). It is returned alongside WZ_2008 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.WZ_2025 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 separate 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: Aktueller Abdruck and Chronologischer Abdruck only
-
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
Prefill mode (fast retrieval)
POST /v2/company with mode: "prefill" provides fast, cost-effective access to company profile data for Germany, optimized for prefill requests.
- Coverage: HRB, HRA, GnR, PR, and GsR registers
- VR Register: VR associations (e.V.) are not available in prefill mode. An prefill request for a VR company fails with
invalid_request; request it in verification mode instead
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
articlesOfAssociation).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):