Endpunktreferenz
Methoden, Pfade, Parameter und Antworten der öffentlichen API für Aufträge, Ergebnisse und Guthaben.
Alle Pfade auf dieser Seite sind relativ zu https://api.krake.run/api/v1/. Senden Sie Ihren Schlüssel im Header
X-API-Key. Die Konsole unter https://console.krake.run verwendet stattdessen eine Browsersitzung.
Kennungen in geschweiften Klammern ersetzen Sie durch die tatsächliche UUID.
Produkt und URL wählen
| Produkt | API-Präfix | Ergebnis |
|---|---|---|
Datenanreicherung (enrichment) |
/enrichment/ |
Strukturiertes Unternehmensprofil. |
Impressum-Scraper (imprint_scraper) |
/imprint-scraper/ |
Strukturiertes Profil mit Angaben aus dem Impressum. |
E-Mail-Prüfung (email_verification) |
/email-verification/ |
Flaches Prüfergebnis für eine Adresse. |
Ersetzen Sie {produkt} in den folgenden Pfaden durch den passenden API-Präfix. Ein Auftrag und seine
Datensätze sind nur unter dem Präfix ihres Produkts abrufbar. Das optionale Feld product im Request muss
zum URL-Präfix passen.
Einen Datensatz einreichen
POST /{produkt}/batches/ erwartet JSON mit einem Objekt unter input_data. Die nötigen Werte
hängen vom Produkt ab; siehe Eingabefelder. Optional können Sie den passenden API-Produktwert unter
product senden. Jeder Wert in input_data muss Text oder eine Zahl sein; Listen und Objekte
werden abgelehnt. Bei der E-Mail-Prüfung ist genau eine Adresse pro Anfrage erlaubt.
Die Anreicherung und der Impressum-Scraper antworten mit HTTP 202 und batch_id,
record_id sowie status. Eine einzelne E-Mail-Prüfung wartet kurz auf das Ergebnis und
antwortet gewöhnlich mit HTTP 200 und batch_id plus dem Datensatz einschließlich
result. Läuft die Prüfung noch, lautet der Status 202; fragen Sie dann
GET /email-verification/records/{record_id}/ ab.
CSV-Auftrag erstellen
POST /{produkt}/batches/csv/ erwartet multipart/form-data.
| Formularfeld | Standard | Beschreibung |
|---|---|---|
file |
Pflicht | Eine CSV-Datei mit Kopfzeile und Komma als Trennzeichen; höchstens 50.000 Datenzeilen und 10 MiB. |
product |
Produkt der URL | Optional; falls angegeben, muss der API-Produktwert zur URL passen. |
overwrite_existing |
false |
Bei true erneute Abfrage anfordern. Vorhandene Eingabewerte behalten ihren Vorrang. |
export_columns |
Alle vorhandenen Ergebnisfelder | Optionale Liste von Ergebnisfeldern. Bei Multipart den Feldnamen für jeden Wert wiederholen. |
scrapers_requested |
Schritte des Produkts | Optionale technische Einschränkung der Verarbeitung. Für den üblichen Ablauf weglassen. |
curl --fail-with-body "https://api.krake.run/api/v1/enrichment/batches/csv/" \
-H "X-API-Key: $KRAKE_API_KEY" \
-F "file=@unternehmen.csv;type=text/csv" \
-F "overwrite_existing=false" \
-F "export_columns=company_name" \
-F "export_columns=phone" \
-F "export_columns=email"
Setzen Sie den Multipart-Content-Type nicht selbst; curl -F ergänzt die Boundary.
export_columns ist kein kommaseparierter Einzelwert. Die Antwort hat HTTP 202 und enthält
batch_id, record_count und estimated_cost_eur.
Kosten und Laufzeit schätzen
POST /{produkt}/batches/eta-estimate/ mit {"records":100} liefert eine unverbindliche
Vorschau ohne Auftragserstellung. Die Antwort enthält records, product,
scrapers, estimated_cost_eur, eta_seconds, rate_source,
bottleneck_scraper und breakdown. Zeitangaben können null sein;
records muss positiv sein.
Aufträge lesen
| Methode und Pfad | Funktion / Parameter |
|---|---|
GET /{produkt}/batches/list/ |
Eigene Aufträge dieses Produkts, neueste zuerst. Optional: via_api=true oder false;
page_size von 1 bis 1.000. |
GET /{produkt}/batches/{batch_id}/ |
Status, Fortschritt, Kosten und Zeitangaben des Auftrags. |
GET /{produkt}/batches/{batch_id}/progress/ |
Fortschritt als Server-Sent Events; mit Accept: text/event-stream aufrufen. |
Auftragsdetails enthalten unter anderem id, status, priority,
product, via_api, Datensatzzähler, progress_percent,
estimated_credits, actual_credits, billing_paused,
uncharged_records und input_filename. Zeitfelder sind created_at,
started_at, completed_at, estimated_completion_at und
results_purged_at; zusätzlich gibt es eta_seconds_remaining. Die Kostenfelder enthalten
Eurobeträge.
Paginierung
Die Auftragsliste liefert standardmäßig 50 Einträge pro Seite mit next, previous und
results. Sie verwendet einen Cursor und enthält kein count. Folgen Sie der vollständigen URL
in next. Die Buchungsliste unter /wallet/transactions/ ist genauso aufgebaut, mit höchstens
500 Einträgen pro Seite.
Die Datensatzliste liefert count, next, previous und results.
Standard und Maximum sind 1.000 Datensätze pro Seite; ?page=2&page_size=100 wählt eine kleinere
Seite. index ist die 1-basierte Position im gesamten Auftrag.
Fortschritt als Ereignisstrom
curl --no-buffer --fail-with-body \
"https://api.krake.run/api/v1/enrichment/batches/$BATCH_ID/progress/" \
-H "X-API-Key: $KRAKE_API_KEY" \
-H "Accept: text/event-stream"
data:-Nachrichten enthalten JSON mit Status und Fortschrittswerten; Kommentare wie
: heartbeat halten die Verbindung offen. Der Stream schließt bei einem Endzustand. Ein API-Client muss
den Header selbst setzen können; die native Browser-EventSource-Schnittstelle bietet dies nicht.
Datensätze und Ergebnisse lesen
| Methode und Pfad | Ausgabe |
|---|---|
GET /{produkt}/batches/{batch_id}/records/ |
Paginierte Datensätze mit id, index, status, input_data,
result, error, charged, charge_amount und
payment_pending. |
GET /{produkt}/records/{record_id}/ |
Ein einzelner Datensatz mit derselben Struktur. |
GET /{produkt}/batches/{batch_id}/export/ |
CSV-Datei nach Abschluss oder Stopp. Bei der Anreicherung: ?layout=full für alle Felder und
?layout=without_result für Zeilen ohne Ergebnis. Werkzeuge haben einen vollständigen Export; sie
ignorieren den Layout-Parameter. |
Das result unterscheidet sich je nach Produkt; siehe Ergebnisse & Export und E-Mail-Prüfung. Der Kunden-API stehen keine Rohdaten, technischen Verarbeitungsschritte oder
genauen Quellen pro Feld zur Verfügung. Nach Ablauf der Aufbewahrungsfrist antworten Export und Datensatzliste mit
HTTP 410 und code: "results_expired". Einzelne gelöschte Datensätze antworten mit
404.
Aufträge steuern
Die folgenden POST-Aufrufe benötigen keinen fachlichen Request-Body und gelten jeweils unter dem Produktpräfix.
| Pfad (POST) | Voraussetzung | Antwort |
|---|---|---|
/{produkt}/batches/{batch_id}/cancel/ |
validating, queued oder processing. |
Aktualisierte Auftragsdetails. |
/{produkt}/batches/{batch_id}/restart/ |
cancelled, failed oder partially_completed. |
Aktualisierte Auftragsdetails mit Status queued; nur fehlgeschlagene Datensätze werden erneut
eingeplant. |
/{produkt}/batches/{batch_id}/retry-billing/ |
billing_paused=true. |
charged, failed, total_charged_eur und billing_paused. |
/{produkt}/batches/retry-billing/ |
Offene Ergebnisse und Guthaben. | {"charged": …} für dieses Produkt, ältere Aufträge zuerst. |
Nach der Ergebnisbereinigung antworten Neustart und nachträgliche Abrechnung eines Auftrags mit 410.
Eine fremde Kennung oder ein Auftrag unter dem falschen Produktpräfix liefert 404.
Guthaben und Buchungen
| Methode und Pfad | Eingabe / Ausgabe |
|---|---|
GET /wallet/ |
balance als Dezimalstring und created_at. |
GET /wallet/transactions/ |
Eigene Buchungen, neueste zuerst, unter anderem mit id, type, amount,
balance_after, label, details, job_reference,
job_name, subject, description, batch_id,
record_id, refunded_charge_id und created_at. Optional:
page_size von 1 bis 500. |
GET /health/ |
Technische Erreichbarkeitsprüfung ohne Anmeldung. |
Guthaben aufladen, API-Schlüssel verwalten und Supportanfragen senden Sie über die Konsole. Diese Aktionen sind auf dem API-Host nicht freigegeben.