Mehrere HTTP-Anfragen im Batch senden
Diese Funktion nimmt eine Liste von HTTP-Anfragen entgegen, führt sie gesammelt aus und liefert für jede Zeile das Ergebnis – Statuscode, Antwortzeit und Antworttext – in einer einzigen Tabelle zurück. Gedacht für alle, die mehrere Endpunkte oder viele Datensätze gegen eine API prüfen müssen, ohne dafür ein eigenes Skript zu schreiben.
Eine Liste rein, eine Tabelle raus
Sie reichen eine Liste von Anfragen ein – jede mit URL, Methode und optionalen Kopfzeilen oder Body –, etwa aus einer CSV-Datei mit hundert Zeilen. Die Funktion führt alle Anfragen aus und liefert für jede Zeile Statuscode, Antwortzeit und die erhaltene Antwort zurück, in derselben Reihenfolge wie die Eingabe. Die Antwort jeder Zeile lässt sich anschließend als eigene Tabelle exportieren, etwa um sie in eine Kalkulationstabelle oder ein internes Reporting zu übernehmen.
Parallel statt nacheinander
Die Anfragen laufen parallel statt streng nacheinander, was den gesamten Batch deutlich schneller abarbeitet als eine Schleife, die eine Anfrage nach der anderen abschickt. Bei sehr vielen Anfragen an denselben Server lässt sich die Parallelität begrenzen, um dessen Ratenlimit nicht zu überschreiten. So lässt sich eine Liste mit mehreren tausend Zeilen in einem Bruchteil der Zeit abarbeiten, die eine einzelne, nacheinander abgeschickte Anfrage pro Zeile benötigen würde.
Fehlerhafte Anfragen bleiben sichtbar
Schlägt eine einzelne Anfrage fehl – etwa wegen eines Timeouts oder eines Fehlerstatus –, bricht der gesamte Batch nicht ab: Die Zeile wird mit dem entsprechenden Fehler markiert, während die übrigen Anfragen normal weiterlaufen. So bleibt am Ende eine vollständige Übersicht erhalten, statt nur der zuerst aufgetretene Fehler. Das erleichtert die Fehlersuche bei großen Listen erheblich, weil sich fehlerhafte Zeilen gezielt herausfiltern lassen, statt den gesamten Durchlauf erneut ausführen zu müssen.
Preis pro Batch, nicht pro Anfrage
Ein Durchlauf kostet $0.002, unabhängig davon, wie viele Anfragen die eingereichte Liste enthält – zehn oder mehrere tausend Zeilen kosten denselben Grundpreis. Es gibt kein Abonnement: Die Funktion läuft ausschließlich über die API, gedacht für den Einsatz in Skripten und automatisierten Abläufen, nicht für eine einzelne, gelegentliche Anfrage. Gerade bei umfangreichen Listen macht dieser feste Grundpreis den Unterschied zu einer Abrechnung pro einzelner Anfrage deutlich spürbar.
Anwendungsfälle
Hundert Endpunkte auf Erreichbarkeit prüfen
Ein Entwickler bei der Schneider IT-Systeme GmbH & Co. KG lässt eine Liste von hundert internen Microservice-Endpunkten gesammelt abfragen, um vor einem Deployment schnell zu sehen, welche nicht wie erwartet antworten.
Datensätze gegen eine externe API abgleichen
Sabine Schneider gleicht eine Liste von zweitausend Produktnummern gegen die API eines Lieferanten ab, indem sie jede Nummer als eigene Zeile einreicht und die Antworten gesammelt als Tabelle zurückerhält.
Migration in kontrollierten Schritten testen
Ein Team testet vor einer Serverumstellung, ob alle wichtigen URLs der eigenen Website nach dem Umzug weiterhin denselben Statuscode liefern, indem es dieselbe Liste vor und nach der Migration im Batch abfragt.
Häufige Fragen
Werden meine Anfragen oder Antworten gespeichert?
Nein. Die Anfragen werden nur zur Ausführung dieses einen Batches verwendet und danach nicht gespeichert.
Was passiert, wenn eine einzelne Anfrage fehlschlägt?
Der übrige Batch läuft normal weiter; die fehlgeschlagene Zeile wird mit dem entsprechenden Fehler markiert.
Laufen die Anfragen parallel oder nacheinander?
Parallel, mit einer Begrenzung, die sich anpassen lässt, um das Ratenlimit des Zielservers nicht zu überschreiten.
Was kostet ein Batch mit vielen Zeilen?
$0.002 pro Durchlauf, unabhängig von der Anzahl der Anfragen in der Liste.
Läuft das auch im Browser, oder nur über die API?
Nur über die API. Die Funktion ist für Skripte und automatisierte Abläufe gedacht, nicht für ein einzelnes manuelles Widget.
Brauche ich ein Konto?
Nein. Es gibt derzeit keine Konten – Sie zahlen pro Durchlauf, direkt über PayPal.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/http-batch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/http-batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/http-batch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/http-batch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/http-batch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.http_batch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |