{"id":20711920,"url":"https://github.com/bundesapi/handelsregister","last_synced_at":"2025-04-05T14:06:22.585Z","repository":{"id":43859989,"uuid":"394603002","full_name":"bundesAPI/handelsregister","owner":"bundesAPI","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-20T08:53:20.000Z","size":33,"stargazers_count":346,"open_issues_count":15,"forks_count":43,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-03-29T13:06:49.746Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bundesAPI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-10T09:53:58.000Z","updated_at":"2025-03-28T18:53:44.000Z","dependencies_parsed_at":"2024-05-20T10:04:31.800Z","dependency_job_id":null,"html_url":"https://github.com/bundesAPI/handelsregister","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fhandelsregister","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fhandelsregister/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fhandelsregister/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bundesAPI%2Fhandelsregister/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bundesAPI","download_url":"https://codeload.github.com/bundesAPI/handelsregister/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345852,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T02:17:25.019Z","updated_at":"2025-04-05T14:06:22.563Z","avatar_url":"https://github.com/bundesAPI.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Handelsregister API \n\nDas Handelsregister stellt ein öffentliches Verzeichnis dar, das im Rahmen des Registerrechts Eintragungen über die angemeldeten Kaufleute in einem bestimmten geografischen Raum führt. \nEintragungspflichtig 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.\n\nDie 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](https://www.handelsregister.de/rp_web/information.xhtml)). Die Recherche nach einzelnen Firmen, die Einsicht in die Unternehmensträgerdaten und die Nutzung der Handelsregisterbekanntmachungen ist kostenfrei möglich.\n\n**Achtung:** Das Registerportal ist regelmäßig das Ziel automatisierter Massenabfragen. Den Ausführungen der [FAQs](https://www.handelsregister.de/rp_web/information.xhtml) 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.\n\n\n## Handelsregister\n\n### Datenstruktur\n\n***URL:*** https://www.handelsregister.de/rp_web/erweitertesuche.xhtml\n\nDas 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:\n\n\n**Parameter:** *schlagwoerter*  (Optional)\n\nSchlagwö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. \n\n\n**Parameter:** *schlagwortOptionen*  (Optional)\n- 1\n- 2\n- 3\n\nSchlagwortoptionen: 1=alle Schlagwörter enthalten; 2=mindestens ein Schlagwort enthalten; 3=den genauen Firmennamen enthalten.\n\n\n**Parameter:** *suchOptionenAehnlich*  (Optional)\n- true\n\ntrue=ä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.\n\n\n**Parameter:** *suchOptionenGeloescht*  (Optional)\n- true\n\ntrue=auch gelöschte Formen finden.\n\n\n**Parameter:** *suchOptionenNurZNneuenRechts*  (Optional)\n- true\n\ntrue=nur nach Zweigniederlassungen neuen Rechts suchen.\n\n\n**Parameter:** *btnSuche*  (Optional)\n- Suchen\n\nButton \"Suchen\"\n\n\n**Parameter:** *suchTyp*  (Optional)\n- n\n- e\n\nSuchtyp: 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.\n\n\n**Parameter:** *ergebnisseProSeite*  (Optional)\n- 10\n- 25\n- 50\n- 100\n\nErgebnisse pro Seite.\n\n\n**Parameter:** *niederlassung*  (Optional)\n\nNiederlassung / 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. \n\n\n**Parameter:** *bundeslandBW*  (Optional)\n- on\n\nEinträge aus Baden-Württemberg\n\n\n**Parameter:** *bundeslandBY*  (Optional)\n- on\n\nEinträge aus Bayern\n\n\n**Parameter:** *bundeslandBE*  (Optional)\n- on\n\nEinträge aus Berlin\n\n\n**Parameter:** *bundeslandBR*  (Optional)\n- on\n\nEinträge aus Bradenburg\n\n\n**Parameter:** *bundeslandHB*  (Optional)\n- on\n\nEinträge aus Bremen\n\n\n**Parameter:** *bundeslandHH*  (Optional)\n- on\n\nEinträge aus Hamburg\n\n\n**Parameter:** *bundeslandHE*  (Optional)\n- on\n\nEinträge aus Hessen\n\n\n**Parameter:** *bundeslandMV*  (Optional)\n- on\n\nEinträge aus Mecklenburg-Vorpommern\n\n\n**Parameter:** *bundeslandNI*  (Optional)\n- on\n\nEinträge aus Niedersachsen\n\n\n**Parameter:** *bundeslandNW*  (Optional)\n- on\n\nEinträge aus Nordrhein-Westfalen\n\n\n**Parameter:** *bundeslandRP*  (Optional)\n- on\n\nEinträge aus Rheinland-Pfalz\n\n\n**Parameter:** *bundeslandSL*  (Optional)\n- on\n\nEinträge aus Saarland\n\n\n**Parameter:** *bundeslandSN*  (Optional)\n- on\n\nEinträge aus Sachsen\n\n\n**Parameter:** *bundeslandST*  (Optional)\n- on\n\nEinträge aus Sachsen-Anhalt\n\n\n**Parameter:** *bundeslandSH*  (Optional)\n- on\n\nEinträge aus Schleswig-Holstein\n\n\n**Parameter:** *bundeslandTH*  (Optional)\n- on\n\nEinträge aus Thüringen\n\n\n**Parameter:** *registerArt*  (Optional)\n- alle\n- HRA\n- HRB\n- GnR\n- PR\n- VR\n\nRegisterart (Angaben nur zur Hauptniederlassung): alle; HRA; HRB; GnR; PR; VR.\n\n\n**Parameter:** *registerNummer*  (Optional)\n\nRegisternummer (Angaben nur zur Hauptniederlassung).\n\n\n**Parameter:** *registerGericht*  (Optional)\n\nRegistergericht (Angaben nur zur Hauptniederlassung). Beispielsweise D3201 für Ansbach\n\n\n**Parameter:** *rechtsform*  (Optional)\n- 1\n- 2\n- 3\n- 4\n- 5\n- 6\n- 7\n- 8\n- 9\n- 10\n- 12\n- 13\n- 14\n- 15\n- 16\n- 17\n- 18\n- 19\n- 40\n- 46\n- 48\n- 49\n- 51\n- 52\n- 53\n- 54\n- 55\n\nRechtsform (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\n\n\n**Parameter:** *postleitzahl*  (Optional)\n\nPostleitzahl (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. \n\n\n\n**Parameter:** *ort*  (Optional)\n\nOrt (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. \n\n\n\n**Parameter:** *strasse*  (Optional)\n\nStraß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. \n\n### Installation with poetry\nExample installation and execution with [poetry](https://python-poetry.org/):\n```commandline\ngit clone https://github.com/bundesAPI/handelsregister.git\ncd handelsregister\npoetry install\npoetry run python handelsregister.py -s \"deutsche bahn\" -so all\n```\nRun tests:\n```commandline\npoetry run python -m pytest\n```\n\n\n### Command-line Interface\n\nDas CLI ist _work in progress_ und \n\n```\nusage: handelsregister.py [-h] [-d] [-f] -s SCHLAGWOERTER [-so {all,min,exact}]\n\nA handelsregister CLI\n\noptions:\n  -h, --help            show this help message and exit\n  -d, --debug           Enable debug mode and activate logging\n  -f, --force           Force a fresh pull and skip the cache\n  -s SCHLAGWOERTER, --schlagwoerter SCHLAGWOERTER\n                        Search for the provided keywords\n  -so {all,min,exact}, --schlagwortOptionen {all,min,exact}\n                        Keyword options: all=contain all keywords; min=contain at least one\n                        keyword; exact=contain the exact company name.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundesapi%2Fhandelsregister","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbundesapi%2Fhandelsregister","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbundesapi%2Fhandelsregister/lists"}