> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topograph.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Germany

> Country-specific identifiers, data sources, and data availability for Germany

## 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.

<Card title="Germany coverage, pricing, and sources" icon="arrow-up-right-from-square" href="https://topograph.co/pricing/de">
  Open the current catalog for supported datapoints, documents, sources, identifiers, and availability.
</Card>

<Note>
  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.
</Note>

## 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 using AI parsing.

* **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.
* **AI Parsing**: Company profile data (legal name, registration date, activity description, registered address, share capital, legal representatives) is extracted from the Aktueller Abdruck PDF using AI parsing. Legal form is **AI-inferred from a standardized list** of German legal forms, ensuring high accuracy across all forms including hybrid forms (GmbH & Co. KG, etc.).

<Note>
  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.
</Note>

## Company Identifiers

### Query Identifiers

German companies are identified by a composite registration number in the format: `{RegisterCourt} {RegisterType} {RegisterNumber}`.

| Company Type                        | Source               | Format               | Example                            | Notes                                 |
| ----------------------------------- | -------------------- | -------------------- | ---------------------------------- | ------------------------------------- |
| **Corporations (GmbH, AG, etc.)**   | Unternehmensregister | Court + HRB + Number | `Munchen HRB 228960`               | Registered at one of 129 Amtsgerichte |
| **Partnerships & sole proprietors** | Unternehmensregister | Court + HRA + Number | `Hamburg HRA 12345`                | Includes KG, OHG, e.K., etc.          |
| **Associations (e.V.)**             | Handelsregister      | Court + VR + Number  | `Berlin (Charlottenburg) VR 38000` | Routed to Handelsregister             |
| **Cooperatives**                    | Unternehmensregister | Court + GnR + Number | `Munchen GnR 1234`                 | Genossenschaftsregister               |
| **Professional partnerships**       | Unternehmensregister | Court + PR + Number  | `Stuttgart PR 567`                 | Partnerschaftsregister                |
| **Civil law partnerships**          | Unternehmensregister | Court + GsR + Number | `Freiburg GsR 890`                 | Gesellschaftsregister (eGbR)          |

### 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.

| Code | Local name                  | English                        | Scope                                                            |
| ---- | --------------------------- | ------------------------------ | ---------------------------------------------------------------- |
| HRA  | Handelsregister Abteilung A | Commercial Register, Section A | Sole proprietors and partnerships (e.K., OHG, KG, GmbH & Co. KG) |
| HRB  | Handelsregister Abteilung B | Commercial Register, Section B | Limited-liability and stock companies (GmbH, UG, AG, KGaA, SE)   |
| VR   | Vereinsregister             | Register of Associations       | Registered non-profit associations (e.V.)                        |
| GnR  | Genossenschaftsregister     | Cooperative Register           | Registered cooperatives (eG)                                     |
| PR   | Partnerschaftsregister      | Partnership Register           | Professional partnerships (PartG, PartG mbB)                     |
| GsR  | Gesellschaftsregister       | Civil-Law Partnership Register | Registered civil-law partnerships (eGbR)                         |

### 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).

<AccordionGroup>
  <Accordion title="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.
  </Accordion>
</AccordionGroup>

<Note>
  The list is stable. Changes occur only when a court is renamed or an Amtsgericht is dissolved by a federal-state administrative act.
</Note>

### Identifiers in API Response

Once you retrieve company data, the `identifiers` object contains the three parts of the German registration number:

| Identifier Type  | Format                      | Example   | Found In      |
| ---------------- | --------------------------- | --------- | ------------- |
| `registerCourt`  | Court name string           | `Munchen` | All companies |
| `registerType`   | Register abbreviation       | `HRB`     | All companies |
| `registerNumber` | Number (may include suffix) | `228960`  | All companies |

## Search Capabilities

| Search Type   | Pattern                  | Example              | Match Type | Expected Results                                                     |
| ------------- | ------------------------ | -------------------- | ---------- | -------------------------------------------------------------------- |
| By full ID    | Court + Type + Number    | `Munchen HRB 228960` | Exact      | Exact match returned first (matchType: id); other results may follow |
| By partial ID | Type + Number (no court) | `HRB 228960`         | Fuzzy      | Results from live search sources                                     |
| By Name       | Text string              | `"Siemens AG"`       | Fuzzy      | Multiple results across all sources                                  |

<Tip>
  **Search Performance:** Use full ID searches (court + type + number) for best performance and exact matching. Partial ID searches (type + number without court) fall back to live register lookups. Name searches query Unternehmensregister and Handelsregister VR.
</Tip>

<AccordionGroup>
  <Accordion title="How does intelligent ID parsing work?">
    Search queries are parsed to extract and validate ID components:

    1. **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.
    2. **Partial ID**: If 1-2 components are present (e.g., "HRB 228960" without court), results are found via live register lookups.
    3. **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.

    Court names are validated against the official list of 129 courts (with fuzzy matching for variations) and register types against the canonical set (HRA, HRB, VR, GsR, GnR, PR).
  </Accordion>
</AccordionGroup>

<Note>
  Name searches query both Unternehmensregister (for HRB, HRA, GnR, PR, GsR) and Handelsregister (for VR associations) in parallel.
</Note>

## Company Status

Company status is determined **deterministically** from the Unternehmensregister or Handelsregister search results -- no AI inference is involved.

The `Local 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)

| Local Status         | English                | Standardized Status         | Notes                                                      |
| -------------------- | ---------------------- | --------------------------- | ---------------------------------------------------------- |
| `Aktiv`              | Active                 | Active                      | Company found in register without deletion flag            |
| `Gelöscht`           | Deleted                | Closed                      | Company marked as deleted in Unternehmensregister          |
| `Insolvenzverfahren` | Insolvency proceedings | Under Insolvency Proceeding | Insolvency proceedings noted in the trade register extract |
| `Aufgelöst`          | Dissolved              | Closed                      | Dissolution noted in the trade register extract            |
| `In Liquidation`     | In liquidation         | Closed                      | Liquidation noted in the trade register extract            |

### VR Companies (Associations)

| Local Status | English | Standardized Status | Notes                                              |
| ------------ | ------- | ------------------- | -------------------------------------------------- |
| `Aktiv`      | Active  | Active              | VR company found in Handelsregister search results |

<Note>
  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").
</Note>

## Legal Forms

Legal form is **AI-inferred from a standardized list** of recognized German legal forms. 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.

The `Local 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)

| Local Name                                                    | English                                        | Standardized              | ISO 20275 |
| ------------------------------------------------------------- | ---------------------------------------------- | ------------------------- | --------- |
| `Gesellschaft mit beschränkter Haftung (GmbH)`                | Limited Liability Company                      | Limited Liability Company | 2HBR      |
| `Unternehmergesellschaft (UG)`                                | Entrepreneurial Company with Limited Liability | Limited Liability Company | 63KS      |
| `Aktiengesellschaft (AG)`                                     | Public Limited Company                         | Corporation               | 6QQB      |
| `Kommanditgesellschaft auf Aktien (KGaA)`                     | Partnership Limited by Shares                  | Corporation               | T0YJ      |
| `Europäische Aktiengesellschaft (SE)`                         | European Company                               | Corporation               | SGST      |
| `Investmentaktiengesellschaft (InvAG)`                        | Investment Stock Corporation                   | Corporation               | JMVF      |
| `REIT-Aktiengesellschaft (REIT-AG)`                           | Real Estate Investment Trust Corporation       | Corporation               | AMKW      |
| `Gemeinnützige Gesellschaft mit beschränkter Haftung (gGmbH)` | Non-Profit Limited Liability Company           | Nonprofit Organization    | SCE1      |
| `Gemeinnützige Unternehmergesellschaft (gUG)`                 | Non-Profit Entrepreneurial Company             | Nonprofit Organization    | 63KS      |
| `Gemeinnützige Aktiengesellschaft (gAG)`                      | Non-Profit Public Limited Company              | Nonprofit Organization    | YA01      |

### Partnerships (Personengesellschaften)

| Local Name                                                              | English                                                      | Standardized | ISO 20275 |
| ----------------------------------------------------------------------- | ------------------------------------------------------------ | ------------ | --------- |
| `Gesellschaft bürgerlichen Rechts (GbR)`                                | Civil Law Partnership                                        | Partnership  | FR3V      |
| `Eingetragene Gesellschaft bürgerlichen Rechts (eGbR)`                  | Registered Civil Law Partnership                             | Partnership  | FR3V      |
| `Offene Handelsgesellschaft (OHG)`                                      | General Commercial Partnership                               | Partnership  | 40DB      |
| `Kommanditgesellschaft (KG)`                                            | Limited Partnership                                          | Partnership  | 8Z6G      |
| `Partnerschaftsgesellschaft (PartG)`                                    | Professional Partnership                                     | Partnership  | 8CM0      |
| `Partnerschaftsgesellschaft mit beschränkter Berufshaftung (PartG mbB)` | Professional Partnership with Limited Professional Liability | Partnership  | 2YZO      |
| `Europäische wirtschaftliche Interessenvereinigung (EWIV)`              | European Economic Interest Grouping                          | Partnership  | JNDX      |
| `Partenreederei`                                                        | Ship Partnership                                             | Partnership  | --        |
| `Stille Gesellschaft`                                                   | Silent Partnership                                           | Partnership  | --        |

### Sole Proprietorships

| Local Name                       | English                         | Standardized        | ISO 20275 |
| -------------------------------- | ------------------------------- | ------------------- | --------- |
| `Einzelunternehmen`              | Sole Proprietorship             | Sole Proprietorship | OL20      |
| `Eingetragener Kaufmann (e.K.)`  | Registered Merchant             | Sole Proprietorship | OL20      |
| `Eingetragene Kauffrau (e.Kfr.)` | Registered Merchant (Female)    | Sole Proprietorship | OL20      |
| `Freiberufler`                   | Freelancer / Liberal Profession | Sole Proprietorship | --        |

### 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 as `Gesellschaft mit beschränkter Haftung & Co. Kommanditgesellschaft (GmbH & Co. KG)`, not as `GmbH & Co. KG`.

| Local Name                                                                                       | English                                                        | Standardized | ISO 20275 |
| ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | ------------ | --------- |
| `Gesellschaft mit beschränkter Haftung & Co. Kommanditgesellschaft (GmbH & Co. KG)`              | Limited Liability Company & Co. Limited Partnership            | Partnership  | 8Z6G      |
| `Unternehmergesellschaft & Co. Kommanditgesellschaft (UG & Co. KG)`                              | Entrepreneurial Company & Co. Limited Partnership              | Partnership  | 8Z6G      |
| `Aktiengesellschaft & Co. Kommanditgesellschaft (AG & Co. KG)`                                   | Public Limited Company & Co. Limited Partnership               | Partnership  | 8Z6G      |
| `Stiftung & Co. Kommanditgesellschaft (Stiftung & Co. KG)`                                       | Foundation & Co. Limited Partnership                           | Partnership  | 8Z6G      |
| `Kommanditgesellschaft auf Aktien & Co. Kommanditgesellschaft (KGaA & Co. KG)`                   | Partnership Limited by Shares & Co. Limited Partnership        | Partnership  | 8Z6G      |
| `Gesellschaft mit beschränkter Haftung & Co. Offene Handelsgesellschaft (GmbH & Co. OHG)`        | Limited Liability Company & Co. General Commercial Partnership | Partnership  | 40DB      |
| `Aktiengesellschaft & Co. Offene Handelsgesellschaft (AG & Co. OHG)`                             | Public Limited Company & Co. General Commercial Partnership    | Partnership  | 40DB      |
| `Gesellschaft mit beschränkter Haftung & Co. Kommanditgesellschaft auf Aktien (GmbH & Co. KGaA)` | Limited Liability Company & Co. Partnership Limited by Shares  | Corporation  | T0YJ      |
| `Aktiengesellschaft & Co. Kommanditgesellschaft auf Aktien (AG & Co. KGaA)`                      | Public Limited Company & Co. Partnership Limited by Shares     | Corporation  | T0YJ      |
| `Stiftung & Co. Kommanditgesellschaft auf Aktien (Stiftung & Co. KGaA)`                          | Foundation & Co. Partnership Limited by Shares                 | Corporation  | T0YJ      |

### Associations & Cooperatives

| Local Name                                       | English                      | Standardized           | ISO 20275 |
| ------------------------------------------------ | ---------------------------- | ---------------------- | --------- |
| `Eingetragener Verein (e.V.)`                    | Registered Association       | Nonprofit Organization | QZ3L      |
| `Nicht eingetragener Verein`                     | Unregistered Association     | Nonprofit Organization | 79H0      |
| `Wirtschaftlicher Verein`                        | Economic Association         | Nonprofit Organization | 7J3S      |
| `Verein alten Rechts`                            | Association under Old Law    | Nonprofit Organization | D40E      |
| `Eingetragene Genossenschaft (eG)`               | Registered Cooperative       | Cooperative            | AZFE      |
| `Genossenschaft`                                 | Cooperative                  | Cooperative            | US8E      |
| `Europäische Genossenschaft (SCE)`               | European Cooperative Society | Cooperative            | SUA1      |
| `Versicherungsverein auf Gegenseitigkeit (VVaG)` | Mutual Insurance Association | Cooperative            | 13AV      |

### Public Law Entities & Foundations

| Local Name                                    | English                              | Standardized            | ISO 20275 |
| --------------------------------------------- | ------------------------------------ | ----------------------- | --------- |
| `Körperschaft des öffentlichen Rechts (KdöR)` | Public Law Corporation               | Government-Owned Entity | SQKS      |
| `Anstalt des öffentlichen Rechts (AöR)`       | Public Law Institution               | Government-Owned Entity | XLWA      |
| `Stiftung des öffentlichen Rechts`            | Public Law Foundation                | Trust                   | FEBD      |
| `Stiftung des privaten Rechts`                | Private Foundation                   | Trust                   | V2YH      |
| `Kirchliche Stiftung des öffentlichen Rechts` | Ecclesiastical Public Law Foundation | Trust                   | YJ4C      |
| `Landesinnungsverband`                        | State Guild Association              | Nonprofit Organization  | 9JGX      |
| `Innung`                                      | Guild                                | Nonprofit Organization  | --        |
| `Zweckverband`                                | Special Purpose Association          | Government-Owned Entity | --        |

<Note>
  Legal form is AI-inferred from a standardized list. The company name and legal form details from the trade register extract are used to correctly identify hybrid forms like a GmbH & Co. KG versus a plain Kommanditgesellschaft.
</Note>

## Legal Representatives

Legal representatives are extracted from the **Aktueller Abdruck** (current trade register extract) PDF using AI parsing. Roles are enriched with standardized English translations.

### Common Legal Representative Roles

| German Role                         | English Translation           | Typical Legal Forms       |
| ----------------------------------- | ----------------------------- | ------------------------- |
| Geschäftsführer                     | Managing Director             | GmbH, UG                  |
| Vorstandsvorsitzender               | Chairman of the Board         | AG, SE                    |
| Vorstandsmitglied                   | Board Member                  | AG, SE                    |
| Komplementär                        | General Partner               | KG, GmbH & Co. KG         |
| Persönlich haftender Gesellschafter | Personally Liable Partner     | KG, OHG                   |
| Prokurist                           | Authorized Officer (Prokura)  | All                       |
| Liquidator                          | Liquidator                    | All (when in liquidation) |
| Vorstand                            | Executive Board Member        | e.V. (associations)       |
| Einzelvertretungsberechtigt         | Sole power of representation  | All                       |
| Gesamtvertretungsberechtigt         | Joint power of representation | All                       |

<Note>
  Unlike legal forms and statuses, the German role label is **not a closed list**. The table above shows the most common labels, but the register extract can carry other role wordings, which are returned as written in the document. If you map roles into your own data model, map on the standardized English translation rather than the German label.
</Note>

<Note>
  Legal representatives are AI-extracted from trade register extract documents. The classification of roles as legal representative vs. other key person is AI-determined based on the company's legal form context. Signing authority details (Einzelvertretungsberechtigt, Gesamtvertretungsberechtigt) are captured when available.
</Note>

### Representation Mode

Legal representatives include a `representationMode` 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

The extraction logic combines both role type (Prokurist → Prokura authority) and explicit representation clauses in the document text.

## Shareholders

German shareholder extraction uses a **multi-source strategy** that adapts based on the company's legal form.

### Extraction Logic

1. **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.)

2. **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

3. **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)

   **For Corporate Structures** (GmbH, UG, AG, SE, KGaA):

   * Both sources are checked: Trade register extract (for control statements) and Financial statements (for parent company identification)

### Data Sources Explained

| Source                     | When Used                                                  | Data Available                                                       |
| -------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------- |
| **Gesellschafterliste**    | Companies with disclosure requirements (GmbH, UG, KG, OHG) | Complete shareholder list with percentages and capital contributions |
| **Trade Register Extract** | Partnerships (KG, OHG) and corporate control statements    | Kommanditisten with capital, profit transfer agreements              |
| **Financial Statements**   | Fallback for parent company identification                 | Parent companies through control relationships                       |

### Partnership Structures (KG) -- Important Notes

German **KG (Kommanditgesellschaft)** and **GmbH & Co. KG** have two types of partners:

1. **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

2. **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

<AccordionGroup>
  <Accordion title="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)

    Percentages are rounded to 1 decimal place. If a single shareholder holds 100%, only that shareholder is returned.
  </Accordion>
</AccordionGroup>

### 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

## Data Availability Matrix

| Data Type                  | HRB/HRA/GnR/PR/GsR | VR (Associations) | Notes                                                                        |
| -------------------------- | ------------------ | ----------------- | ---------------------------------------------------------------------------- |
| Company Profile            | ✅ Async            | ✅ Async           | AI-parsed from Aktueller Abdruck                                             |
| Legal Representatives      | ✅ AI-parsed        | ✅ AI-parsed       | From trade register extract                                                  |
| Shareholders               | ✅ Multi-source     | ❌                 | Gesellschafterliste, trade register, financial statements                    |
| Ultimate Beneficial Owners | ❌                  | ❌                 | Not publicly accessible in Germany                                           |
| Establishments             | ❌                  | ❌                 | Not available from German registers                                          |
| Activity Codes             | ⚠️ AI-inferred     | ⚠️ AI-inferred    | Derived from Gegenstand des Unternehmens                                     |
| Documents                  | ✅                  | ⚠️ Limited        | VR: Aktueller Abdruck and Chronologischer Abdruck; Others: full document set |

**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 listing `availableDocuments` and ordering the returned document id through `/v2/company`.

| Document                   | Local name              | Response field                   | Contents                                                                                                                                                                                                                                                                                        |
| -------------------------- | ----------------------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Trade Register Extract** | Aktueller Abdruck       | `documents.tradeRegisterExtract` | The currently valid register entries only -- current name, legal form, registered seat, management and representation, share capital or partners, and current status.                                                                                                                           |
| **Trade Register History** | Chronologischer Abdruck | `documents.tradeRegisterHistory` | The full chronological record of register entries since the register moved to electronic record-keeping (around 2002/2003) -- former and current names, legal forms, registered seats, managing directors and authorised signatories, capital changes, and incorporation and dissolution dates. |

<Note>
  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.
</Note>

## Activity Code Mapping

Germany does not use a structured national activity code in the Handelsregister. Activity codes are **AI-inferred** from the company's `Gegenstand des Unternehmens` (company purpose) field, which is a free-text description extracted from the Aktueller Abdruck document.

```
Gegenstand des Unternehmens (free text) → NACE Rev. 2 (AI-inferred) → ISIC Rev. 4 (AI-inferred)
                                         → WZ 2008 (AI-inferred) → WZ 2025 (derived)
```

| Classification | Source                                                                               | Example   | AI Inferred? |
| -------------- | ------------------------------------------------------------------------------------ | --------- | ------------ |
| **NACE**       | Derived from activity description via AI                                             | `62.01`   | Yes (always) |
| **ISIC**       | Derived from activity description via AI                                             | `6201`    | Yes (always) |
| **WZ2008**     | German national classification, derived from activity description via AI             | `62.01.9` | Yes (always) |
| **WZ2025**     | German national classification (current edition), up-converted from the WZ 2008 code | `62.10.9` | Yes (always) |

<Note>
  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.
</Note>

## Documents by Company Type

### Non-VR Companies (HRB, HRA, GnR, PR, GsR)

| Document Type                   | API Category              | Format | Catalog item           | Availability              | Notes                                                                                                              |
| ------------------------------- | ------------------------- | ------ | ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Aktueller Abdruck**           | `tradeRegisterExtract`    | PDF    | `DEU_REGISTER_EXTRACT` | ✅ All companies           | Official trade register extract                                                                                    |
| **Dokumentenansicht Documents** | `articlesOfAssociation[]` | PDF    | `DEU_STATUS`           | ✅ When filed              | Gesellschafterliste, Satzung, etc. (AI-classified)                                                                 |
| **Financial Statements**        | `financialStatements[]`   | PDF    | `DEU_STATUS`           | ⚠️ Plain-PDF filings only | Structured XBRL / ESEF filings are not released as documents (see note); deposited micro-company accounts are paid |
| **Publications**                | `officialPublications[]`  | PDF    | `DEU_STATUS`           | ✅ When available          | Handelsregister announcements                                                                                      |

### VR Companies (Associations)

| Document Type         | API Category           | Format | Catalog item           | Availability       | Notes                                      |
| --------------------- | ---------------------- | ------ | ---------------------- | ------------------ | ------------------------------------------ |
| **Aktueller Abdruck** | `tradeRegisterExtract` | PDF    | `DEU_REGISTER_EXTRACT` | ✅ All associations | Trade register extract via Handelsregister |

<Warning>
  **VR companies have limited document availability.** Associations in the Vereinsregister (VR) only have access to the Aktueller Abdruck document. Dokumentenansicht documents, publications, and financial statements are **not available** for VR companies.
</Warning>

<Note>
  **Financial statements are moving to structured data.** Since the 2022 disclosure reform, companies file their published annual and consolidated statements to the register as structured data: XBRL for most companies, and ESEF/XHTML for listed issuers. The register does not release these structured filings as a downloadable document, so `financialStatements[]` returns a statement only for the shrinking set of companies whose published filing is a plain PDF. Deposited micro-company accounts (voluntary publication) are still available as a paid document.
</Note>

## Data Source Priority & Routing

Requests are routed based on register type, detected from the company's registration number:

<Note>
  **Routing Logic by Register Type:**

  1. **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

  2. **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
</Note>

### Onboarding mode (fast retrieval)

[`POST /v2/company`](/essentials/retrieve_company) with [`mode: "onboarding"`](/essentials/modes) 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"] }`

<AccordionGroup>
  <Accordion title="Active GmbH (Source: Unternehmensregister)">
    ```json theme={null}
    {
      "company": {
        "id": "Munchen HRB 228960",
        "countryCode": "DE",
        "identifiers": { "registerCourt": "Munchen", "registerType": "HRB", "registerNumber": "228960" },
        "legalName": "Beispiel Software GmbH",
        "registrationDate": "2019-05-15",
        "activityDescription": "Gegenstand des Unternehmens ist die Entwicklung und der Vertrieb von Software.",
        "status": { "localName": "Aktiv", "active": true, "statusDetails": { "status": "ACTIVE" } },
        "legalForm": { "localName": "Gesellschaft mit beschränkter Haftung (GmbH)", "englishTranslation": "Limited Liability Company", "standardized": "Limited Liability Company", "iso20275Code": "2HBR" },
        "capital": { "amount": 25000, "currency": "EUR" },
        "activities": {
          "NACE": [{ "code": "62.01", "description": "Computer programming activities", "isAIInferred": true }],
          "ISIC": [{ "code": "6201", "description": "Computer programming activities", "isAIInferred": true }],
          "WZ2008": [{ "code": "62.01.9", "description": "Sonstige Softwareentwicklung", "isAIInferred": true }],
          "WZ2025": [
            { "code": "62.10.2", "description": "Entwicklung und Programmierung von Computerspielen", "isAIInferred": true },
            { "code": "62.10.3", "description": "Entwicklung und Programmierung von Anwendungssoftware", "isAIInferred": true },
            { "code": "62.10.4", "description": "Entwicklung und Programmierung von künstlicher Intelligenz und maschinellem Lernen", "isAIInferred": true },
            { "code": "62.10.9", "description": "Programmierungstätigkeiten a. n. g.", "isAIInferred": true }
          ]
        },
        "legalAddress": { "addressLine1": "Maximilianstrasse 35", "city": "Munchen", "postalCode": "80539", "countryCode": "DE" }
      },
      "legalRepresentatives": [
        { "type": "individual", "role": { "localName": "Geschäftsführer", "standardized": "Managing Director" }, "representationMode": { "mode": "sole" }, "individual": { "name": { "fullName": "Max SCHMIDT" } } },
        { "type": "individual", "role": { "localName": "Prokurist", "standardized": "Authorized Signatory" }, "representationMode": { "mode": "joint", "namedCoSigners": ["Max SCHMIDT"] }, "individual": { "name": { "fullName": "Anna WEBER" } } }
      ],
      "shareholders": [
        { "type": "individual", "sharePercentage": 60, "individual": { "name": { "fullName": "Max SCHMIDT" } } },
        { "type": "company", "sharePercentage": 40, "company": { "legalName": "Investment Holdings GmbH" } }
      ]
    }
    ```
  </Accordion>

  <Accordion title="GmbH & Co. KG (Partnership with Kommanditisten)">
    ```json theme={null}
    {
      "company": {
        "id": "Hamburg HRA 12345",
        "countryCode": "DE",
        "identifiers": { "registerCourt": "Hamburg", "registerType": "HRA", "registerNumber": "12345" },
        "legalName": "Norddeutsche Handel GmbH & Co. KG",
        "registrationDate": "2010-08-20",
        "activityDescription": "Gegenstand des Unternehmens ist der Grosshandel mit Waren aller Art.",
        "status": { "localName": "Aktiv", "active": true, "statusDetails": { "status": "ACTIVE" } },
        "legalForm": { "localName": "Gesellschaft mit beschränkter Haftung & Co. Kommanditgesellschaft (GmbH & Co. KG)", "englishTranslation": "Limited Liability Company & Co. Limited Partnership", "standardized": "Partnership", "iso20275Code": "8Z6G" },
        "activities": {
          "NACE": [{ "code": "46.90", "description": "Non-specialised wholesale trade", "isAIInferred": true }],
          "ISIC": [{ "code": "4690", "description": "Non-specialised wholesale trade", "isAIInferred": true }],
          "WZ2008": [{ "code": "46.90.1", "description": "Großhandel mit Rohstoffen, Halb- und Fertigware, ohne ausgeprägten Schwerpunkt", "isAIInferred": true }],
          "WZ2025": [{ "code": "46.90.3", "description": "Großhandel mit Rohstoffen, Halb- und Fertigwaren, ohne ausgeprägten Schwerpunkt", "isAIInferred": true }]
        },
        "legalAddress": { "addressLine1": "Jungfernstieg 22", "city": "Hamburg", "postalCode": "20354", "countryCode": "DE" }
      },
      "legalRepresentatives": [
        { "type": "company", "role": { "localName": "Persönlich haftender Gesellschafter", "standardized": "General Partner" }, "representationMode": { "mode": "sole" }, "company": { "legalName": "Norddeutsche Verwaltungs GmbH" } }
      ],
      "shareholders": [
        { "type": "company", "sharePercentage": 51, "company": { "legalName": "Holding Nord AG" }, "nominalCapitalHeld": { "amount": 510000, "currency": "EUR" } },
        { "type": "individual", "sharePercentage": 49, "individual": { "name": { "fullName": "Friedrich MEYER" } }, "nominalCapitalHeld": { "amount": 490000, "currency": "EUR" } }
      ]
    }
    ```

    **Note:** The Komplementar (Norddeutsche Verwaltungs GmbH) appears as a legal representative but is **excluded** from shareholders. Only Kommanditisten (limited partners) are included as shareholders with calculated ownership percentages.
  </Accordion>

  <Accordion title="Closed Company (Source: Unternehmensregister)">
    ```json theme={null}
    {
      "company": {
        "id": "Koln HRB 98765",
        "countryCode": "DE",
        "identifiers": { "registerCourt": "Koln", "registerType": "HRB", "registerNumber": "98765" },
        "legalName": "Alte Handels GmbH",
        "registrationDate": "2005-03-01",
        "activityDescription": "Gegenstand des Unternehmens war der Handel mit Konsumgutern.",
        "status": { "localName": "Gelöscht", "active": false, "statusDetails": { "status": "CLOSED" } },
        "legalForm": { "localName": "Gesellschaft mit beschränkter Haftung (GmbH)", "englishTranslation": "Limited Liability Company", "standardized": "Limited Liability Company", "iso20275Code": "2HBR" },
        "capital": { "amount": 25000, "currency": "EUR" },
        "activities": {
          "NACE": [{ "code": "47.19", "description": "Other retail sale in non-specialised stores", "isAIInferred": true }],
          "ISIC": [{ "code": "4719", "description": "Other retail sale in non-specialised stores", "isAIInferred": true }],
          "WZ2008": [{ "code": "47.19.1", "description": "Einzelhandel mit Waren verschiedener Art (ohne Nahrungsmittel)", "isAIInferred": true }],
          "WZ2025": [
            { "code": "47.12.1", "description": "Einzelhandel mit Waren verschiedener Art, ohne Nahrungsmittel", "isAIInferred": true },
            { "code": "47.91.1", "description": "Versteigerungsgewerbe im Einzelhandel ohne ausgeprägten Schwerpunkt", "isAIInferred": true },
            { "code": "47.91.2", "description": "Sonstige Vermittlungstätigkeiten für den Einzelhandel ohne ausgeprägten Schwerpunkt", "isAIInferred": true }
          ]
        },
        "legalAddress": { "addressLine1": "Hohenzollernring 50", "city": "Koln", "postalCode": "50672", "countryCode": "DE" }
      },
      "legalRepresentatives": [
        { "type": "individual", "role": { "localName": "Liquidator", "standardized": "Liquidator" }, "representationMode": { "mode": "sole" }, "individual": { "name": { "fullName": "Hans WEBER" } } }
      ]
    }
    ```

    **Note:** Closed companies have `active: false` and local status `Gelöscht`, based on deletion information from the Unternehmensregister.
  </Accordion>

  <Accordion title="Registered Association (e.V.) -- Source: Handelsregister">
    ```json theme={null}
    {
      "company": {
        "id": "Berlin (Charlottenburg) VR 38000",
        "countryCode": "DE",
        "identifiers": { "registerCourt": "Berlin (Charlottenburg)", "registerType": "VR", "registerNumber": "38000" },
        "legalName": "Berliner Kulturverein e.V.",
        "registrationDate": "2018-02-10",
        "activityDescription": "Zweck des Vereins ist die Forderung von Kunst und Kultur.",
        "status": { "localName": "Aktiv", "active": true, "statusDetails": { "status": "ACTIVE" } },
        "legalForm": { "localName": "Eingetragener Verein (e.V.)", "englishTranslation": "Registered Association", "standardized": "Nonprofit Organization", "iso20275Code": "QZ3L" },
        "activities": {
          "NACE": [{ "code": "90.04", "description": "Operation of arts facilities", "isAIInferred": true }],
          "ISIC": [{ "code": "9000", "description": "Creative, arts and entertainment activities", "isAIInferred": true }],
          "WZ2008": [{ "code": "90.04.2", "description": "Opern- und Schauspielhäuser, Konzerthallen und ähnliche Einrichtungen", "isAIInferred": true }],
          "WZ2025": [
            { "code": "90.31.1", "description": "Spielstätten für Schauspiel und Musiktheater", "isAIInferred": true },
            { "code": "90.31.3", "description": "Live-Musikspielstätten, Musikclubs und ähnliche soziokulturelle Zentren", "isAIInferred": true },
            { "code": "90.31.9", "description": "Betrieb von Einrichtungen für kunstschaffende Tätigkeiten und darstellende Künste a. n. g.", "isAIInferred": true }
          ]
        },
        "legalAddress": { "addressLine1": "Unter den Linden 10", "city": "Berlin", "postalCode": "10117", "countryCode": "DE" }
      },
      "legalRepresentatives": [
        { "type": "individual", "role": { "localName": "Vorstandsvorsitzender", "standardized": "Chairman" }, "representationMode": { "mode": "sole" }, "individual": { "name": { "fullName": "Petra WAGNER" } } }
      ]
    }
    ```

    **Note:** VR companies (associations) are sourced from Handelsregister. No shareholder data is available for associations. Only the Aktueller Abdruck document is available.
  </Accordion>

  <Accordion title="Available Documents (company example)">
    Documents are returned when `"dataPoints": ["availableDocuments"]` is requested.

    **Non-VR companies (HRB, HRA, GnR, PR, GsR):**

    | API Category              | Document                                         | Notes                                                                 |
    | ------------------------- | ------------------------------------------------ | --------------------------------------------------------------------- |
    | `tradeRegisterExtract`    | Aktueller Abdruck (current register extract) PDF | All companies                                                         |
    | `financialStatements[]`   | Annual accounts PDF                              | When published (free for regular companies, paid for micro-companies) |
    | `articlesOfAssociation[]` | Gesellschafterliste, Satzung, etc.               | When filed (AI-classified)                                            |
    | `officialPublications[]`  | Handelsregister publications                     | When available                                                        |

    **VR companies (Associations):**

    | API Category           | Document                                         | Notes                          |
    | ---------------------- | ------------------------------------------------ | ------------------------------ |
    | `tradeRegisterExtract` | Aktueller Abdruck (current register extract) PDF | Only available document for VR |
  </Accordion>
</AccordionGroup>

## Quirks & Gotchas

| Quirk                                             | Details                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Composite registration number**                 | German company IDs consist of three parts: Register Court + Register Type + Number (e.g., "München HRB 228960"). All three together give an exact, unique match. Search also accepts partial inputs (court + number, register type + number, or just the number) in any order, and the abbreviated court code (e.g. "HRB 23591 KI"); partial inputs may return more than one candidate, so pass the full ID to `/v2/company`. |
| **129 register courts**                           | Companies can be registered at any of 129 Amtsgerichte across Germany. Fuzzy matching supports variations (e.g., "Munchen" for "Munchen", "Berlin Charlottenburg" for "Berlin (Charlottenburg)").                                                                                                                                                                                                                             |
| **VR companies use different source**             | VR (Vereinsregister) companies are routed to Handelsregister. All other register types use Unternehmensregister. Never mix the sources. VR companies only have Aktueller Abdruck -- no Dokumentenansicht or Publications.                                                                                                                                                                                                     |
| **Variable register availability**                | Both Unternehmensregister and Handelsregister have variable availability. Automatic retries are used to maximize reliability. For Aktueller Abdruck, non-VR companies query both sources.                                                                                                                                                                                                                                     |
| **All activity codes are AI-inferred**            | The Handelsregister provides only free-text business purpose (Gegenstand des Unternehmens). NACE, ISIC, WZ 2008 and WZ 2025 codes are always AI-inferred. The `isAIInferred` flag is always `true`. WZ 2025 is up-converted from the WZ 2008 code and may contain several entries when a WZ 2008 code splits.                                                                                                                 |
| **All legal representatives are AI-parsed**       | Extracted from Aktueller Abdruck PDF text using AI. Accuracy depends on document format and clarity. Roles are enriched with standardized English translations.                                                                                                                                                                                                                                                               |
| **Komplementare excluded from shareholders**      | In KG/GmbH & Co. KG structures, general partners (Komplementare) are legal representatives, not shareholders. Only Kommanditisten (limited partners) are returned as shareholders.                                                                                                                                                                                                                                            |
| **Legal form AI-inferred from standardized list** | German legal form is AI-inferred from a standardized list of recognized forms. This ensures high accuracy for German hybrid forms (GmbH & Co. KG, UG & Co. KG, etc.).                                                                                                                                                                                                                                                         |
| **Onboarding profile coverage**                   | Onboarding data covers HRB/HRA/GnR/PR/GsR registers. VR companies are always fetched live.                                                                                                                                                                                                                                                                                                                                    |
| **Micro-company financial documents are paid**    | Regular companies must publish financials (free). Micro-companies publish voluntarily, making their documents paid.                                                                                                                                                                                                                                                                                                           |
| **Aktueller Abdruck freshness**                   | Trade register extracts are kept up to date based on the register's latest update information.                                                                                                                                                                                                                                                                                                                                |
| **UBOs not available**                            | Ultimate Beneficial Owners are not publicly accessible in Germany, unlike some other EU countries.                                                                                                                                                                                                                                                                                                                            |
| **Shareholder extraction is multi-source**        | Shareholders come from up to three sources (Gesellschafterliste, trade register extract, financial statements) with AI-driven legal form analysis determining the extraction path.                                                                                                                                                                                                                                            |
