Jetzt starten
Zum Inhalt
Mit der Plattform arbeiten

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:

Spalten im Export
SpaltentypBeispielBedeutung
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.

Ergebnisspalten mit mehreren Werten
SpaltenInhalt
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.

Hülle eines normalisierten Datensatzes
FeldTypBedeutung
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

Unternehmensdaten im normalisierten Ergebnis
Pfad unter result.basic_infoTyp / 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.
Rechtliche Unternehmensangaben im Ergebnis
Pfad unter result.legal_infoTyp / 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

Kontaktdaten im normalisierten Ergebnis
Pfad unter result.contact_infoTyp / 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:

Personen und juristische Personen als Vertretungsberechtigte
typeFelder
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.