Ergebnisse & Export
CSV-Exporte und strukturierte API-Ergebnisse lesen und in eigene Systeme übernehmen.
Wann sind Ergebnisse verfügbar?
Einzelne API-Ergebnisse sind abrufbar, sobald der jeweilige Datensatz abgeschlossen ist. Ein CSV-Export steht nach
completed oder partially_completed bereit. Ein gestoppter Auftrag (cancelled)
kann vorhandene Ergebnisse exportieren. Bei der Anreicherung lassen sich Zeilen ohne Ergebnis außerdem separat
herunterladen.
Der Anreicherungsexport enthält nur Datensätze mit Ergebnis; Zeilen ohne Ergebnis stehen in einer eigenen Datei unter
?layout=without_result. Diese enthält die ursprünglichen Eingabespalten und eine Spalte
grund und ist auch bei einem vollständig fehlgeschlagenen Auftrag verfügbar. Bei den beiden Werkzeugen
enthält die eine Exportdatei alle abgeschlossenen Datensätze. Bei offenen Zahlungen bleibt die Eingabezeile eines
abgeschlossenen Datensatzes enthalten, seine Ergebnisfelder bleiben jedoch leer. Die zusätzliche Spalte
payment_status zeigt dann Zahlung ausstehend. Nach dem Aufladen und der Abrechnung laden Sie
den Export erneut herunter.
Aufbau des CSV-Exports
Der Export verwendet UTF-8 ohne BOM und Kommas als Trennzeichen. Jede Zelle enthält einen einzelnen Wert; Listen
werden nummeriert, etwa email_1, email_2. Eingaben und Ergebnisse bleiben getrennt:
| Spaltentyp | Beispiel | Bedeutung |
|---|---|---|
| Eingabewert | input_company_name, input_kundennummer |
Ihre gespeicherte Eingabe, nach Normalisierung der Feldnamen. |
| Ergebniswert | company_name, phone, email_1 |
Zusammengeführte Daten. Leere Zellen bedeuten, dass kein entsprechender Wert ausgegeben wird. |
| Zahlungshinweis | payment_status |
Nur vorhanden, wenn im Export noch unbezahlte Ergebnisse enthalten sind. |
Eingabewerte werden nicht automatisch als neu angereicherte Felder wiederholt. Beispielsweise kann
input_company_name gefüllt sein, während company_name in den Ergebnisfeldern fehlt.
Berücksichtigen Sie für ein vollständiges Firmenprofil daher sowohl Eingaben als auch Ergebnisse.
Die Ergebnisspalten werden aus den bezahlten Ergebnissen des Auftrags abgeleitet und können zwischen Aufträgen variieren. Eine Spalte erscheint, sobald mindestens ein Datensatz einen Wert dafür hat.
Mit export_columns beim CSV-Upload grenzen Sie die Ergebnisspalten ein; die Eingabespalten bleiben
erhalten. Ein Feldname behält alle Spalten seines Feldes: email alle Adressen mit ihrer Prüfung,
decision_makers alle Vertretungsberechtigten, social_media alle Profile. Auch ein einzelner
Spaltenname wie email_1 ist möglich. Der Parameter erzeugt keine leeren Spalten für Werte, die nicht
gefunden wurden.
Standard oder alle Felder
Bei der Anreicherung enthält die Standarddatei je Zeile bis zu drei E-Mail-Adressen, drei Vertretungsberechtigte und
drei weitere Domains. Alle Felder enthält jeden gefundenen Wert und zusätzliche Details; per API
wählen Sie ?layout=full. Zeilen ohne Ergebnis enthält nur nicht erfolgreiche Zeilen und
deren Grund (?layout=without_result). Die beiden Werkzeuge bieten jeweils eine vollständige Datei und
ignorieren den Layout-Parameter.
| Spalten | Inhalt |
|---|---|
email_1, email_2, … |
Gefundene Adressen, die beste zuerst. Neben jeder Adresse steht ihre Prüfung: email_1_status,
email_1_reason, email_1_flags (mehrere Merkmale durch „; “ getrennt) und
email_1_mx_family. Alle Felder ergänzt die technischen Teile der Prüfung, etwa
email_1_local_part.
|
decision_maker_1_name, …
| Vertretungsberechtigte, gleich aus welcher Quelle: _name, _salutation,
_title, _first_name, _last_name, _role, _birth_date
und _location (Anrede siehe Anrede; Geburtsdatum und Wohnort aus dem
Handelsregister; bei einer Gesellschaft als Gesellschafterin ihr Sitz). Alle Felder ergänzt _type,
_emails sowie für Gesellschaften _register_court und _register_number.
|
linkedin_url, xing_url, facebook_url, instagram_url,
twitter_url, youtube_url
|
Je eine Spalte pro gefundener Plattform. Alle Felder ergänzt weitere Links wie WhatsApp oder Buchungsseiten als
other_social_media_1_platform und other_social_media_1_url.
|
alternate_domain_1, … |
Weitere zugeordnete Domains. |
register_type |
Registerart. Liefert eine Quelle nur die vollständige Nummer wie „HRA 2885“, wird die Art daraus abgeleitet;
register_number bleibt vollständig.
|
stammkapital, stammkapital_currency |
Betrag und Währung des Stammkapitals. |
| Weitere Listen und Objekte | Ebenfalls eine Spalte je Wert, nummeriert oder nach dem Namen des Unterfelds, etwa feld_1 oder
feld_name.
|
Dateiname
Der Export trägt den Namen Ihrer hochgeladenen Datei und endet mit der Auftragsreferenz aus der Auftragsliste. Aus
kunden.csv wird kunden_angereichert_3E4BB20688.csv, die Datei mit allen Feldern heißt
kunden_angereichert_alle_felder_3E4BB20688.csv, die Datei ohne Ergebnisse
kunden_ohne_ergebnis_3E4BB20688.csv. Exporte des Impressum Scrapers und der E-Mail-Prüfung heißen nach
dem Werkzeug, etwa impressum_scraper_3E4BB20688.csv oder email_pruefung_3E4BB20688.csv. Ein
Auftrag ohne Datei, etwa über die JSON-API, heißt job_angereichert_3E4BB20688.csv.
CSV in Excel oder einer Tabellenkalkulation öffnen
Importieren Sie die Datei über die Funktion für Text-/CSV-Daten. Wählen Sie UTF-8 und Komma. Legen Sie Telefonnummern, Postleitzahlen und Kennungen als Text fest. Ein einfacher Doppelklick kann abhängig von den lokalen Einstellungen Umlaute verfälschen, Zeilen in einer einzigen Zelle anzeigen oder führende Nullen entfernen.
Normalisierte JSON-Ergebnisse
Für Integrationen gibt es GET /api/v1/{produkt}/records/{record_id}/ und die paginierte Liste
GET /api/v1/{produkt}/batches/{batch_id}/records/. {produkt} ist enrichment,
imprint-scraper oder email-verification. Beide Endpunkte liefern result direkt
im Datensatz.
| Feld | Typ | Bedeutung |
|---|---|---|
id |
UUID-String | Datensatzkennung. |
index |
Integer | 1-basierte Position im gesamten Auftrag. Verwenden Sie für die dauerhafte Zuordnung id oder eine
eigene Kennung. |
status |
String | Verarbeitungsstatus des Datensatzes. |
input_data |
Objekt | Gespeicherte Eingabewerte. |
result |
Objekt oder null | Normalisiertes Ergebnis bei abgeschlossenen/teilweise abgeschlossenen und freigegebenen Datensätzen. |
error |
String oder null | Hinweis zu Fehlern oder fehlgeschlagenen Teilschritten. |
charged |
Boolean | Ob der Datensatz abgerechnet wurde. |
charge_amount |
Dezimalstring oder null | Berechneter Eurobetrag mit vier Nachkommastellen. |
payment_pending |
Boolean | Ergebnis wartet auf Bezahlung; result bleibt dann null. |
Die folgende Unternehmensstruktur gilt für die Anreicherung. Der Impressum-Scraper nutzt dieselben vier
Hauptbereiche, enthält jedoch nur Felder, die ein Impressum liefern kann: beispielsweise keine Branchen,
registerinternen Datumsangaben oder E-Mail-Prüfwerte. Im Impressum genannte Registernummern und Registergerichte
können vorhanden sein. Die E-Mail-Prüfung liefert stattdessen ein flaches result; siehe E-Mail-Prüfung. Fehlende Einzelwerte können null, Listen [] sein.
Unternehmen: basic_info
| Pfad unter result.basic_info | Typ / Inhalt |
|---|---|
company_name |
String oder null: Firmenname. |
legal_form |
Objekt oder null mit full und short (je String oder null). |
purpose |
String oder null: Unternehmensgegenstand. |
industries |
Liste von Strings: Branchen. |
headquarters |
String oder null: Sitz des Unternehmens. |
Register: legal_info
| Pfad unter result.legal_info | Typ / Inhalt |
|---|---|
commercial_register |
Objekt oder null mit court, register_type und register_number (Strings oder
null). |
commercial_register.dates |
Objekt oder null mit first_registered, last_modified und last_entry
(Strings oder null). |
tax_info |
Objekt oder null mit vat_id (String oder null). |
share_capital |
Objekt oder null mit amount (Zahl oder null) und currency (String, standardmäßig
EUR).
|
Kontakt: contact_info
| Pfad unter result.contact_info | Typ / Inhalt |
|---|---|
address |
Objekt oder null: street, house_number, postal_code, city,
country (Strings oder null).
|
phone_numbers, fax_numbers |
Listen von Objekten mit number (String) und is_preferred (Boolean). |
email_addresses |
Liste von Objekten mit address (String), status, reason (String oder null)
und flags (String-Liste). Ein leerer Prüfstatus bedeutet, dass keine Bewertung vorliegt. |
web |
Objekt oder null: domain, website, imprint_url (Strings oder null). |
social_media |
Objekt oder null: linkedin, xing, facebook, twitter,
instagram, youtube (Strings oder null) und other (Liste weiterer Profile).
|
Vertretung: decision_maker_info
result.decision_maker_info.decision_makers ist eine Liste. Unterscheiden Sie Einträge anhand von
type:
| type | Felder |
|---|---|
natural_person |
role, salutation, title, first_name, last_name,
full_name, location und birth_date sind Strings oder null; Wohnort und
Geburtsdatum ("1974-09-30") stammen aus dem Handelsregister. contact.emails enthält
E-Mail-Adressen. Beim Impressum-Scraper fehlen Wohnort und Geburtsdatum. salutation ist „Herr“, „Frau“
oder null (siehe Anrede).
|
legal_entity |
entity_name, role und seat sind Strings oder null; legal_form
und commercial_register sind Objekte oder null. Beim Impressum-Scraper fehlen seat und
commercial_register.
|
Die Strukturen können überwiegend leer sein. Persönliche Telefonnummern und Social-Media-Profile von Vertretungsberechtigten sind derzeit nicht Teil dieses Schemas.
Anrede: salutation
salutation ist „Herr“, „Frau“ oder null. Nennt die Quelle die Anrede, etwa „vertreten
durch Herrn …“ im Impressum, übernehmen wir sie. Sonst leiten wir sie aus dem ersten Vornamen ab: „Herr“ oder „Frau“
nur, wenn mindestens 98 % der Menschen mit diesem Vornamen in amtlichen Vornamensstatistiken als Männer bzw. Frauen
eingetragen sind. Schreibweisen wie Jürgen und Juergen oder Büşra und Busra gelten dabei als derselbe Name.
Bei Vornamen, die für beide Geschlechter üblich sind, und bei seltenen Vornamen bleibt salutation
leer, denn eine falsche Anrede wiegt schwerer als eine fehlende. Verwenden Sie dann eine neutrale Anrede wie „Guten
Tag Kim Muster“. Ist sie gesetzt, ergibt sich mit title und last_name die Briefanrede
„Sehr geehrte Frau Dr. Muster“. Da die Anrede statistisch abgeleitet ist, kann sie im Einzelfall falsch sein.
Datengrundlage: Bundesamt für Statistik (BFS), STATPOP, „Weibliche und Männliche Vornamen der Bevölkerung nach Jahrgang, Schweiz“, 2025; Stadt Duisburg, „Rufnamen aller Einwohner*innen“, 2025, Lizenz CC BY 3.0 DE; Stadt Bielefeld, „Vornamen in Bielefeld“, 2025, Lizenz CC BY 4.0. Die Daten wurden von uns zusammengefasst und ausgewertet.
Beispiel für die Weiterverarbeitung
Der folgende gekürzte Ausschnitt zeigt den Zugriff auf Kontaktdaten; die übrigen Ergebnisgruppen sind hier weggelassen. Es handelt sich nicht um eine vollständige API-Antwort.
{
"result": {
"contact_info": {
"email_addresses": [
{
"address": "info@beispielbusiness.de",
"status": null,
"reason": null,
"flags": []
}
],
"phone_numbers": []
}
},
"payment_pending": false
}
Die API und der CSV-Export nennen nicht die genaue Quelle einzelner Werte oder technische Verarbeitungsschritte. Das
Feld error beschreibt einen fehlgeschlagenen Datensatz oder ein Teilergebnis in allgemein verständlicher
Form.