Handelsregister Scraper
Pricing
from $30.00 / 1,000 results
Handelsregister Scraper
Leistungsstarker Actor zur Identifikation von Firmen und Entscheidungsträgern aus dem deutschen Handelsregister. Zugriff auf Geschäftsführer, Vorstände und vertretungsberechtigte Personen per Echtzeit-API — ideal für Lead-Enrichment, Marktanalysen, KYC und Due-Diligence.
Pricing
from $30.00 / 1,000 results
Rating
0.0
(0)
Developer

Dominic M. Quaiser
Actor stats
1
Bookmarked
3
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
Ein leistungsstarker Apify Actor zur Extraktion von Unternehmensdaten aus dem deutschen Handelsregister. Dieser Actor läuft im Standby-Modus und bietet Echtzeit-Zugriff auf Handelsregisterdaten über eine HTTP-Schnittstelle mit Antwortzeiten unter einer Sekunde.
Funktionen
- Echtzeit-API: HTTP-Server im Standby-Modus mit Antwortzeiten unter einer Sekunde
- Flexible Suchoptionen: Suche nach Firmennamen oder Registernummern mit Suchoptionen, um das bestmögliche Ergebnis zu erzielen.
- Phonetische Suche: Optional ähnlich klingende Begriffe einbeziehen (z.B. "Meyer" findet auch "Meier")
- Automatische Datenspeicherung: Alle Ergebnisse werden automatisch im Apify-Dataset gespeichert
- Raw XML Zugriff: Optional können die originalen XJustiz-XML-Dateien im Key-Value Store gespeichert werden
- Umfassende Daten: Vollständige Unternehmensinformationen inklusive Entscheidungsträger wie Geschäftsführer, Prokuristen, Gesellschafter, Kommanditisten mit Hafteinlagen, Adresse und mehr
- Skalierbar: Automatische Skalierung für gleichzeitige Anfragen
Verwendung
Dieser Actor kann im Standby-Modus verwendet werden, was bedeutet, dass er wie eine Standard-API funktioniert. Sie müssen den Actor nicht manuell starten. Senden Sie einfach HTTP-Anfragen an den Endpunkt des Actors und erhalten Sie sofortige Ergebnisse. Nach einer ersten Startphase, steht der Endpoint für directe Anfragen zur verfügung und bleibt aktiv für die dauer, die sie eingestellt haben.
Endpunkt
Senden Sie eine POST-Anfrage an die Standby-URL Ihres Actors im folgenden Format:
https://dominic-quaiser--handelsregister-scraper.apify.actor?token=IHR_API_TOKEN
Anfrageformat
Sie benötigen ein Apify-Konto und einen API-Token, um diesen Actor zu verwenden. Ihren Token finden Sie unter Settings → API & Integrations in der Apify Console.
Empfohlene Methode - Token im Authorization-Header übergeben:
curl -X POST https://dominic-quaiser--handelsregister-scraper.apify.actor \-H "Authorization: Bearer IHR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"firma_schlagwoerter": "SAP Deutschland SE & Co. KG","schlagwoerter_suchoptionen": "alle Schlagwörter enthalten.","aehnlich_lautende_schlagwoerter": false}'
Alternative Methode - Token als Query-Parameter:
curl -X POST https://dominic-quaiser--handelsregister-scraper.apify.actor?token=IHR_API_TOKEN \-H "Content-Type: application/json" \-d '{"registernummer": "350654","registerart": "HRA","registergericht": "Mannheim"}'
Anfrageparameter
Suche nach Firmennamen/Schlagwörtern
Wenn Sie nach Firmennamen oder Schlagwörtern suchen, sind folgende Parameter verfügbar:
| Parameter | Typ | Erforderlich | Beschreibung | Gültige Werte |
|---|---|---|---|---|
firma_schlagwoerter | String | Ja | Firmenname oder Schlagwörter (mehrere Begriffe durch Leerzeichen trennen) | Beliebiger Text |
schlagwoerter_suchoptionen | String | Ja (wenn firma_schlagwoerter angegeben) | Wie die Schlagwörter verwendet werden sollen | "alle Schlagwörter enthalten.", "mindestens ein Schlagwort enthalten.", "den genauen Firmennamen enthalten." |
aehnlich_lautende_schlagwoerter | Boolean | Nein | Phonetisch ähnliche Begriffe einbeziehen | true, false |
niederlassung_sitz | String | Nein | Ort oder Stadt der Niederlassung/des Firmensitzes | Beliebiger Ortsname |
zusaetzliche_suchoptionen | String | Nein | Erweiterte Suchoptionen | "Auch geschlossene Registerblätter oder gelöschte Zweigniederlassungen finden.", "Nur nach Zweigniederlassungen neuen Rechts suchen." |
Suche nach Registernummer
Wenn Sie nach einer Registernummer suchen, sind folgende Parameter erforderlich:
| Parameter | Typ | Beschreibung | Gültige Werte |
|---|---|---|---|
registernummer | String | Die eindeutige Registernummer (max. 10 Zeichen) | Beliebige Nummer |
registerart | String | Art des Registers | "alle", "HRA", "HRB", "GnR", "PR", "VR", "GsR" |
registergericht | String | Stadt oder Ort des Registergerichts oder "alle" | Beliebiger Gerichtsstandort (z.B. "München", "Berlin") |
Optionale Parameter
| Parameter | Typ | Beschreibung | Standardwert |
|---|---|---|---|
xml_im_key_value_store_speichern | Boolean | Speichert die originale XML-Datei (Strukturierter Registerinhalt) im Key-Value Store | false |
Registerarten
Wählen Sie die passende Registerart basierend auf dem gesuchten Unternehmenstyp:
alle: Alle Registerarten durchsuchenHRA(Handelsregister Abteilung A): Einzelkaufleute, OHG, KGHRB(Handelsregister Abteilung B): GmbH, AG, KGaAGnR(Genossenschaftsregister): GenossenschaftenPR(Partnerschaftsregister): PartnerschaftsgesellschaftenVR(Vereinsregister): VereineGsR(Gesellschaftsregister): Europäische Gesellschaften
Suchoptionen für Schlagwörter
- "alle Schlagwörter enthalten.": Findet nur Einträge, die alle eingegebenen Begriffe enthalten
- "mindestens ein Schlagwort enthalten.": Findet Einträge, die mindestens einen der Begriffe enthalten
- "den genauen Firmennamen enthalten.": Sucht nach exakten Übereinstimmungen des Firmennamens
Phonetische Suche
Wenn aehnlich_lautende_schlagwoerter auf true gesetzt ist, werden auch phonetisch ähnliche Begriffe gefunden:
- "Meyer" findet auch "Meier", "Mayer", "Maier"
- "Schmidt" findet auch "Schmitt", "Schmid"
- Besonders nützlich bei unsicherer Schreibweise
Antwortformat
Erfolgreiche Antwort (200 OK)
{"bezeichnung": "Beispieltechnik AG","rechtsform": {"lang": "Aktiengesellschaft","kurz": "AG"},"register_eintrag": {"gericht": "Amtsgericht München","register": "HRB","laufende_nummer": "987654"},"sitz": "München","anschrift": {"strasse": "Innovationsallee","hausnummer": "42","postleitzahl": "80999","ort": "München","staat": "Deutschland"},"gegenstand": "Entwicklung, Herstellung und Vertrieb von Softwarelösungen für industrielle Automatisierungssysteme","stammkapital": {"zahl": 500000.0,"waehrung": "EUR"},"daten": {"erste_eintragung": "2018-06-12","satzungsdatum": "2018-05-15","letzte_aenderung": "2024-10-10","letzte_eintragung": "2024-10-12","abrufdatum": "2025-12-21"},"geschaeftsfuehrer": [{"rolle": "Vorstandsvorsitzender","vorname": "Johannes","nachname": "Keller","ort": "München"},{"rolle": "Vorständin","vorname": "Eva","nachname": "Schneider","ort": "Augsburg"}],"prokuristen": [{"rolle": "Prokurist","vorname": "Lukas","nachname": "Bernhardt","ort": "Freising"}],"komplementaere": [{"rolle": "Persönlich haftender Gesellschafter","typ": "juristische Person","bezeichnung": "Management GmbH","sitz": "München","register_eintrag": {"gericht": "Amtsgericht München","registernummer": "HRB 123456"}}],"kommanditisten": [{"rolle": "Kommanditist","typ": "natürliche Person","vorname": "Anna","nachname": "Weber","ort": "München","hafteinlage": {"zahl": 50000.0,"waehrung": "EUR"}}]}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
bezeichnung | String | Firmenname |
rechtsform | Object | Rechtsform mit Langform (lang) und Kurzform (kurz) |
register_eintrag | Object | Registereintrag mit Gericht, Registerart und laufender Nummer |
sitz | String | Sitz der Gesellschaft |
anschrift | Object | Vollständige Adresse (Straße, Hausnummer, PLZ, Ort, Staat) |
gegenstand | String | Unternehmensgegenstand |
stammkapital | Object | Stammkapital mit Betrag (zahl) und Währung (waehrung) |
daten | Object | Wichtige Daten (Eintragungen, Änderungen, Abrufdatum) |
geschaeftsfuehrer | Array | Liste der Geschäftsführer mit Namen und optionalen Details |
prokuristen | Array | Liste der Prokuristen mit Namen und optionalen Details |
komplementaere | Array | Liste der persönlich haftenden Gesellschafter (nur KG/KGaA) |
kommanditisten | Array | Liste der Kommanditisten mit Hafteinlage (nur KG/KGaA) |
Hinweise:
- Leere Felder werden nicht ausgegeben: Felder mit
null-Werten oder leeren Arrays ([]) werden automatisch aus der Antwort entfernt, um die Datengröße zu optimieren stammkapitalwird nur für Kapitalgesellschaften ausgegebenkomplementaereundkommanditistenwerden nur bei Personengesellschaften (KG, KGaA) ausgegeben- Partner können natürliche Personen oder juristische Personen sein
- Bei juristischen Personen als Partner wird deren Registereintrag mit angegeben (
register_eintrag) - Kommanditisten haben zusätzlich eine
hafteinlage(Haftungsbetrag) - Optionale Felder (Geburtsdatum, Beruf) werden nur angezeigt, wenn vorhanden
Fehlerantworten
400 Bad Request - Ungültige Anfrage
{"error": {"status_code": 400,"message": "Field 'schlagwoerter_suchoptionen' is required when 'firma_schlagwoerter' is provided."}}
404 Not Found - Keine Ergebnisse
{"error": {"status_code": 404,"message": "No results found for search criteria"}}
500 Internal Server Error - Serverfehler
{"error": {"status_code": 500,"message": "Scraping failed: Failed to download XML: Connection timeout"}}
Fehlerbehandlung
Der Actor gibt entsprechende HTTP-Statuscodes zurück:
- 200: Erfolg - Unternehmensdaten erfolgreich abgerufen
- 400: Ungültige Anfrage - Eingabeparameter überprüfen (siehe Fehlermeldung)
- 401: Nicht autorisiert - Ungültiger oder fehlender API-Token
- 402: Zahlung erforderlich - Dataset-Limit erreicht, Plan upgraden
- 404: Nicht gefunden - Keine Ergebnisse für die Suchkriterien
- 500: Interner Serverfehler - Unerwarteter Fehler (bei Wiederholung Support kontaktieren)
Raw XML Zugriff
Wenn Sie die originale XML-Datei (Strukturierter Registerinhalt) benötigen, können Sie diese im Apify Key-Value Store speichern lassen:
Parameter aktivieren
Setzen Sie xml_im_key_value_store_speichern auf true:
curl -X POST https://dominic-quaiser--handelsregister-scraper.apify.actor?token=IHR_API_TOKEN \-H "Content-Type: application/json" \-d '{"registernummer": "350654","registerart": "HRA","registergericht": "Mannheim","xml_im_key_value_store_speichern": true}'
Zugriff auf gespeicherte XML-Dateien
Die XML-Dateien werden mit einem eindeutigen Schlüssel gespeichert: xml_{Gericht}_{Registerart}_{Registernummer}.xml
Über die Apify Console:
- Navigieren Sie zu Ihrem Actor-Run
- Klicken Sie auf den Tab "Storage"
- Wählen Sie "Key-value stores"
- Öffnen Sie den Standard-Key-Value Store
- Die XML-Datei erscheint in der Liste (z.B.
xml_Mannheim_HRA_350654.xml)
Über die API:
# Beispiel: Abrufen der XML-Datei für HRA 350654 beim Amtsgericht Mannheimcurl "https://api.apify.com/v2/key-value-stores/{storeId}/records/xml_Mannheim_HRA_350654.xml?token=IHR_API_TOKEN"
Die storeId finden Sie in der Antwort des Actor-Runs oder in der Apify Console.
Hinweise:
- Die XML-Datei wird im XJustiz-Format gespeichert (deutscher Standard für elektronischen Rechtsverkehr)
- Bei Speicherfehlern wird eine Warnung protokolliert, die Anfrage schlägt aber nicht fehl
- Die Datei bleibt für die Dauer der Storage-Aufbewahrungszeit Ihres Plans erhalten
Code-Beispiele
Python
import requestsurl = "https://dominic-quaiser--handelsregister-scraper.apify.actor?token=IHR_API_TOKEN"payload = {"firma_schlagwoerter": "SAP Deutschland SE & Co. KG","schlagwoerter_suchoptionen": "alle Schlagwörter enthalten.","registerart": "alle","xml_im_key_value_store_speichern": True # Optional: XML speichern}response = requests.post(url, json=payload)result = response.json()print(f"Firma: {result['bezeichnung']}")print(f"Rechtsform: {result['rechtsform']['kurz']}")print(f"Sitz: {result['sitz']}")
JavaScript/Node.js
const response = await fetch('https://dominic-quaiser--handelsregister-scraper.apify.actor?token=IHR_API_TOKEN',{method: 'POST',headers: { 'Content-Type': 'application/json' },body: JSON.stringify({firma_schlagwoerter: 'SAP Deutschland SE & Co. KG',schlagwoerter_suchoptionen: 'alle Schlagwörter enthalten.',registerart: 'alle'})});const data = await response.json();console.log(`Firma: ${data.bezeichnung}`);console.log(`Rechtsform: ${data.rechtsform.kurz}`);
Anwendungsfälle
- Lead-Generierung: Automatische Erfassung von Unternehmensdaten und Kontaktpersonen
- Due Diligence: Überprüfung von Unternehmensinformationen vor Geschäftsabschlüssen
- Compliance & KYC: Validierung von Unternehmensdaten für regulatorische Anforderungen
- Marktforschung: Analyse von Unternehmensstrukturen und Geschäftsführern
- Datenbank-Anreicherung: Ergänzung bestehender CRM- oder ERP-Systeme mit offiziellen Registerdaten
- Monitoring: Überwachung von Änderungen bei bestimmten Unternehmen
- Automatisierung: Integration in bestehende Workflows und Datenpipelines
- Vertragsmanagement: Validierung von Vertragspartnern und Unterschriftsberechtigten
Integrationen
- Scheduler: Automatisieren Sie regelmäßige Abfragen
- Webhooks: Lösen Sie nachgelagerte Workflows bei Abschluss aus
- API: Programmgesteuerte Steuerung über die Apify API
- Composer: Verketten Sie den Actor mit anderen Actors (z.B. Datenbereinigung, Anreicherung)
- Zapier/Make: Einfache Integration in No-Code-Workflows
Technische Details
Standby-Modus
Dieser Actor läuft im Standby-Modus, was bedeutet:
- Der Actor bleibt aktiv und wartet auf HTTP-Anfragen
- Antwortzeiten unter einer Sekunde (keine Kaltstart-Verzögerung)
- Automatische Skalierung bei hoher Last
- Ideal für Echtzeit-Integrationen und APIs
Datenquelle
Die Daten werden direkt vom offiziellen deutschen Handelsregisterportal (www.handelsregister.de) abgerufen.
Automatische Fehlerkorrektur
Der Actor verfügt über eine intelligente Validierung von Gerichtsnamen:
- Automatische Korrektur von Rechtschreibfehlern
- Fuzzy-Matching bei unklaren Eingaben
- Hilfreiche Vorschläge bei ungültigen Gerichtsnamen
Wartung
- Autor: Dominic M. Quaiser
- Kontakt: mail@dominic-quaiser.io
- Website: dominic-quaiser.io
Handelsregister Scraper (English)
A powerful Apify Actor for extracting company data from the German Commercial Register (Handelsregister).
This Actor runs in standby mode and provides real-time access to Handelsregister data via an HTTP interface with response times under one second.
Features
- Real-time API: HTTP server in standby mode with sub-second response times
- Flexible search options: Search by company name or register number with configurable search strategies
- Phonetic search: Optionally include similarly sounding terms (e.g. “Meyer” also finds “Meier”)
- Automatic data storage: All results are automatically stored in the Apify dataset
- Raw XML access: Optionally store the original XJustiz XML files in the Key-Value Store
- Comprehensive data: Full company information including managing directors, authorized officers, partners, limited partners with liability contributions, address, and more
- Scalable: Automatically scales to handle concurrent requests
Usage
This Actor can be used in standby mode, meaning it behaves like a standard API.
You do not need to start the Actor manually. Simply send HTTP requests to the Actor’s endpoint and receive immediate results.
After an initial warm-up phase, the endpoint is ready for direct requests and remains active for the duration you have configured.
Endpoint
Send a POST request to your Actor’s standby URL in the following format:
https://dominic-quaiser--handelsregister-scraper.apify.actor?token=YOUR_API_TOKEN
Request Format
You need an Apify account and an API token to use this Actor.
You can find your token under Settings → API & Integrations in the Apify Console.
Recommended method – pass token via Authorization header
curl -X POST https://dominic-quaiser--handelsregister-scraper.apify.actor \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"firma_schlagwoerter": "SAP Deutschland SE & Co. KG","schlagwoerter_suchoptionen": "alle Schlagwörter enthalten.","aehnlich_lautende_schlagwoerter": false}'
Alternative method – token as query parameter
curl -X POST https://dominic-quaiser--handelsregister-scraper.apify.actor?token=YOUR_API_TOKEN \-H "Content-Type: application/json" \-d '{"registernummer": "350654","registerart": "HRA","registergericht": "Mannheim"}'
Request Parameters
Search by company name / keywords
When searching by company name or keywords, the following parameters are available:
| Parameter | Type | Required | Description | Valid values |
|---|---|---|---|---|
firma_schlagwoerter | String | Yes | Company name or keywords (separate multiple terms by spaces) | Any text |
schlagwoerter_suchoptionen | String | Yes (if firma_schlagwoerter is provided) | How keywords should be matched | "alle Schlagwörter enthalten.", "mindestens ein Schlagwort enthalten.", "den genauen Firmennamen enthalten." |
aehnlich_lautende_schlagwoerter | Boolean | No | Include phonetically similar terms | true, false |
niederlassung_sitz | String | No | Location or city of the branch / registered office | Any location name |
zusaetzliche_suchoptionen | String | No | Advanced search options | "Auch geschlossene Registerblätter oder gelöschte Zweigniederlassungen finden.", "Nur nach Zweigniederlassungen neuen Rechts suchen." |
Search by register number
When searching by register number, the following parameters are required:
| Parameter | Type | Description | Valid values |
|---|---|---|---|
registernummer | String | Unique register number (max. 10 characters) | Any number |
registerart | String | Register type | "alle", "HRA", "HRB", "GnR", "PR", "VR", "GsR" |
registergericht | String | City or location of the register court, or "alle" | Any court location (e.g. “Munich”, “Berlin”) |
Optional parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
xml_im_key_value_store_speichern | Boolean | Stores the original XML file (structured register content) in the Key-Value Store | false |
Register Types
Select the appropriate register type based on the company type you are looking for:
alle: Search all register typesHRA(Commercial Register A): Sole traders, OHG, KGHRB(Commercial Register B): GmbH, AG, KGaAGnR(Cooperative Register): CooperativesPR(Partnership Register): Professional partnershipsVR(Association Register): AssociationsGsR(Company Register): European companies
Keyword Search Options
- “alle Schlagwörter enthalten.”: Only results containing all provided keywords
- “mindestens ein Schlagwort enthalten.”: Results containing at least one keyword
- “den genauen Firmennamen enthalten.”: Exact company name matches only
Phonetic Search
When aehnlich_lautende_schlagwoerter is set to true, phonetically similar names are also matched:
- “Meyer” also finds “Meier”, “Mayer”, “Maier”
- “Schmidt” also finds “Schmitt”, “Schmid”
- Especially useful when spelling is uncertain
Response Format
Successful response (200 OK)
(Response example identical to the German version; field names remain unchanged for API consistency.)
Notes
- Empty fields are omitted: Fields with
nullvalues or empty arrays are removed automatically to reduce payload size stammkapitalis only returned for capital companieskomplementaereandkommanditistenare only returned for partnerships (KG, KGaA)- Partners can be natural persons or legal entities
- Legal entities include their own register entry
- Limited partners include a
hafteinlage(liability contribution) - Optional fields (e.g. date of birth, profession) are only included if available
Error Handling
The Actor returns standard HTTP status codes:
- 200: Success – company data retrieved successfully
- 400: Bad request – check input parameters
- 401: Unauthorized – invalid or missing API token
- 402: Payment required – dataset limit reached, upgrade plan
- 404: Not found – no results for search criteria
- 500: Internal server error – unexpected error (contact support if persistent)
Raw XML Access
If you need the original XML file (structured register content), you can store it in the Apify Key-Value Store.
Enable via parameter
Set xml_im_key_value_store_speichern to true.
Accessing stored XML files
Files are stored with a unique key:
xml_{Court}_{RegisterType}_{RegisterNumber}.xml
They can be accessed via the Apify Console or API.
The XML is stored in XJustiz format, the German standard for electronic legal communication.
Code Examples
Python
import requestsurl = "https://dominic-quaiser--handelsregister-scraper.apify.actor?token=YOUR_API_TOKEN"payload = {"firma_schlagwoerter": "SAP Deutschland SE & Co. KG","schlagwoerter_suchoptionen": "alle Schlagwörter enthalten.","registerart": "alle","xml_im_key_value_store_speichern": True}response = requests.post(url, json=payload)result = response.json()print(f"Company: {result['bezeichnung']}")print(f"Legal form: {result['rechtsform']['kurz']}")print(f"Registered office: {result['sitz']}")
JavaScript / Node.js
const response = await fetch('https://dominic-quaiser--handelsregister-scraper.apify.actor?token=YOUR_API_TOKEN',{method: 'POST',headers: { 'Content-Type': 'application/json' },body: JSON.stringify({firma_schlagwoerter: 'SAP Deutschland SE & Co. KG',schlagwoerter_suchoptionen: 'alle Schlagwörter enthalten.',registerart: 'alle'})});const data = await response.json();console.log(`Company: ${data.bezeichnung}`);console.log(`Legal form: ${data.rechtsform.kurz}`);
Use Cases
- Lead generation
- Due diligence
- Compliance & KYC
- Market research
- Database enrichment (CRM / ERP)
- Change monitoring
- Workflow automation
- Contract and signatory validation
Integrations
- Scheduler
- Webhooks
- Apify API
- Composer
- Zapier / Make
Technical Details
Standby Mode
- Always-on HTTP endpoint
- Sub-second response times
- Automatic scaling under load
- Ideal for real-time APIs and integrations
Data Source
Data is retrieved directly from the official German Commercial Register portal (www.handelsregister.de).
Automatic Error Correction
- Automatic correction of court name typos
- Fuzzy matching for unclear inputs
- Helpful suggestions for invalid court names
Maintenance
- Author: Dominic M. Quaiser
- Contact: mail@dominic-quaiser.io
- Website: https://dominic-quaiser.io