Home

Awesome

Handelsregister API

Das Handelsregister stellt ein öffentliches Verzeichnis dar, das im Rahmen des Registerrechts Eintragungen über die angemeldeten Kaufleute in einem bestimmten geografischen Raum führt. Eintragungspflichtig sind die im HGB, AktG und GmbHG abschließend aufgezählten Tatsachen oder Rechtsverhältnisse. Eintragungsfähig sind weitere Tatsachen, wenn Sinn und Zweck des Handelsregisters die Eintragung erfordern und für ihre Eintragung ein erhebliches Interesse des Rechtsverkehrs besteht.

Die Einsichtnahme in das Handelsregister sowie in die dort eingereichten Dokumente ist daher gemäß § 9 Abs. 1 HGB jeder und jedem zu Informationszwecken gestattet, wobei es unzulässig ist, mehr als 60 Abrufe pro Stunde zu tätigen (vgl. Nutzungsordnung). Die Recherche nach einzelnen Firmen, die Einsicht in die Unternehmensträgerdaten und die Nutzung der Handelsregisterbekanntmachungen ist kostenfrei möglich.

Achtung: Das Registerportal ist regelmäßig das Ziel automatisierter Massenabfragen. Den Ausführungen der FAQs zufolge erreiche die Frequenz dieser Abfragen sehr häufig eine Höhe, bei der die Straftatbestände der Rechtsnormen §§303a, b StGB vorliege. Mehr als 60 Abrufe pro Stunde widersprechen der Nutzungsordnung.

Handelsregister

Datenstruktur

URL: https://www.handelsregister.de/rp_web/erweitertesuche.xhtml

Das gemeinsame Registerportal der Länder ermöglicht jeder und jedem die Recherche nach einzelnen Firmen zu Informationszwecken. Einträge lassen sich dabei über verschiedene Parameter im Body eines POST-request filtern:

Parameter: schlagwoerter (Optional)

Schlagwörter (z.B. Test). Zulässige Platzhalterzeichen sind für die Suche nach genauen Firmennamen (siehe Parameter schlagwortOptionen) * und ? - wobei das Sternchen für beliebig viele (auch kein) Zeichen steht, das Fragezeichen hingegen für genau ein Zeichen.

Parameter: schlagwortOptionen (Optional)

Schlagwortoptionen: 1=alle Schlagwörter enthalten; 2=mindestens ein Schlagwort enthalten; 3=den genauen Firmennamen enthalten.

Parameter: suchOptionenAehnlich (Optional)

true=ähnlich lautende Schlagwörter enthalten. Unter der Ähnlichkeitssuche ist die sogenannte phonetische Suche zu verstehen. Hierbei handelt es sich um ein Verfahren, welches Zeichenketten und ähnlich ausgesprochene Worte als identisch erkennt. Grundlage für die Vergleichsoperation ist hier die insbesondere im Bereich der öffentlichen Verwaltung angewandte sogenannte Kölner Phonetik.

Parameter: suchOptionenGeloescht (Optional)

true=auch gelöschte Formen finden.

Parameter: suchOptionenNurZNneuenRechts (Optional)

true=nur nach Zweigniederlassungen neuen Rechts suchen.

Parameter: btnSuche (Optional)

Button "Suchen"

Parameter: suchTyp (Optional)

Suchtyp: n=normal; e=extended. Die normale Suche erlaubt eine Suche über den gesamten Registerdatenbestand der Länder anhand einer überschaubaren Anzahl von Suchkriterien. Die erweiterte Suche bietet neben den Auswahlkriterien der normalen Suche die selektive Suche in den Datenbeständen ausgewählter Länder, die Suche nach Rechtsformen und die Suche nach Adressen an.

Parameter: ergebnisseProSeite (Optional)

Ergebnisse pro Seite.

Parameter: niederlassung (Optional)

Niederlassung / Sitz. Zulässige Platzhalterzeichen sind * und ? - wobei das Sternchen für beliebig viele (auch kein) Zeichen steht, das Fragezeichen hingegen für genau ein Zeichen.

Parameter: bundeslandBW (Optional)

Einträge aus Baden-Württemberg

Parameter: bundeslandBY (Optional)

Einträge aus Bayern

Parameter: bundeslandBE (Optional)

Einträge aus Berlin

Parameter: bundeslandBR (Optional)

Einträge aus Bradenburg

Parameter: bundeslandHB (Optional)

Einträge aus Bremen

Parameter: bundeslandHH (Optional)

Einträge aus Hamburg

Parameter: bundeslandHE (Optional)

Einträge aus Hessen

Parameter: bundeslandMV (Optional)

Einträge aus Mecklenburg-Vorpommern

Parameter: bundeslandNI (Optional)

Einträge aus Niedersachsen

Parameter: bundeslandNW (Optional)

Einträge aus Nordrhein-Westfalen

Parameter: bundeslandRP (Optional)

Einträge aus Rheinland-Pfalz

Parameter: bundeslandSL (Optional)

Einträge aus Saarland

Parameter: bundeslandSN (Optional)

Einträge aus Sachsen

Parameter: bundeslandST (Optional)

Einträge aus Sachsen-Anhalt

Parameter: bundeslandSH (Optional)

Einträge aus Schleswig-Holstein

Parameter: bundeslandTH (Optional)

Einträge aus Thüringen

Parameter: registerArt (Optional)

Registerart (Angaben nur zur Hauptniederlassung): alle; HRA; HRB; GnR; PR; VR.

Parameter: registerNummer (Optional)

Registernummer (Angaben nur zur Hauptniederlassung).

Parameter: registerGericht (Optional)

Registergericht (Angaben nur zur Hauptniederlassung). Beispielsweise D3201 für Ansbach

Parameter: rechtsform (Optional)

Rechtsform (Angaben nur zur Hauptniederlassung). 1=Aktiengesellschaft; 2=eingetragene Genossenschaft; 3=eingetragener Verein; 4=Einzelkauffrau; 5=Einzelkaufmann; 6=Europäische Aktiengesellschaft (SE); 7=Europäische wirtschaftliche Interessenvereinigung; 8=Gesellschaft mit beschränkter Haftung; 9=HRA Juristische Person; 10=Kommanditgesellschaft; 12=Offene Handelsgesellschaft; 13=Partnerschaft; 14=Rechtsform ausländischen Rechts GnR; 15=Rechtsform ausländischen Rechts HRA; 16=Rechtsform ausländischen Rechts HRb; 17=Rechtsform ausländischen Rechts PR; 18=Seerechtliche Gesellschaft; 19=Versicherungsverein auf Gegenseitigkeit; 40=Anstalt öffentlichen Rechts; 46=Bergrechtliche Gesellschaft; 48=Körperschaft öffentlichen Rechts; 49= Europäische Genossenschaft (SCE); 51=Stiftung privaten Rechts; 52=Stiftung öffentlichen Rechts; 53=HRA sonstige Rechtsformen; 54=Sonstige juristische Person; 55=Einzelkaufmann/Einzelkauffrau

Parameter: postleitzahl (Optional)

Postleitzahl (Angaben nur zur Hauptniederlassung). Beispielsweise 90537 für Feucht. Zulässige Platzhalterzeichen sind * und ? - wobei das Sternchen für beliebig viele (auch kein) Zeichen steht, das Fragezeichen hingegen für genau ein Zeichen.

Parameter: ort (Optional)

Ort (Angaben nur zur Hauptniederlassung). Beispielsweise Feucht. Zulässige Platzhalterzeichen sind * und ? - wobei das Sternchen für beliebig viele (auch kein) Zeichen steht, das Fragezeichen hingegen für genau ein Zeichen.

Parameter: strasse (Optional)

Straße (Angaben nur zur Hauptniederlassung). Beispielsweise Teststraße 2. Zulässige Platzhalterzeichen sind * und ? - wobei das Sternchen für beliebig viele (auch kein) Zeichen steht, das Fragezeichen hingegen für genau ein Zeichen.

Installation with poetry

Example installation and execution with poetry:

git clone https://github.com/bundesAPI/handelsregister.git
cd handelsregister
poetry install
poetry run python handelsregister.py -s "deutsche bahn" -so all

Run tests:

poetry run python -m pytest

Command-line Interface

Das CLI ist work in progress und

usage: handelsregister.py [-h] [-d] [-f] -s SCHLAGWOERTER [-so {all,min,exact}]

A handelsregister CLI

options:
  -h, --help            show this help message and exit
  -d, --debug           Enable debug mode and activate logging
  -f, --force           Force a fresh pull and skip the cache
  -s SCHLAGWOERTER, --schlagwoerter SCHLAGWOERTER
                        Search for the provided keywords
  -so {all,min,exact}, --schlagwortOptionen {all,min,exact}
                        Keyword options: all=contain all keywords; min=contain at least one
                        keyword; exact=contain the exact company name.