Webseite durchsuchbar machen
KIT ruft eine Webseite über ihre URL auf, liest den Inhalt aus und legt ihn in einem durchsuchbaren Index ab. Gedacht für alle, die eine eigene Website, Dokumentation oder einen Blog inhaltlich durchsuchbar oder für einen FAQ-Bot nutzbar machen wollen, ohne Texte manuell zu kopieren.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Was beim Indexieren einer URL passiert
KIT ruft die angegebene Seite in einem Browser auf, liest den sichtbaren Inhalt aus und entfernt Navigation, Werbung und wiederkehrende Elemente, soweit erkennbar. Der verbleibende Text wird in Abschnitte zerlegt und als Embedding im Index abgelegt, genau wie bei einem direkt eingereichten Text. Der Unterschied liegt allein darin, dass KIT den Inhalt selbst von der Seite abruft, statt ihn vorgelegt zu bekommen.
Einzelne Seite oder ganze Website
Sie können eine einzelne URL angeben oder mehrere Seiten nacheinander indexieren lassen, etwa alle Unterseiten einer Dokumentation. Jede Seite wird einzeln abgerechnet und lässt sich später gezielt aktualisieren, wenn sich ihr Inhalt ändert, ohne die übrigen bereits indexierten Seiten erneut verarbeiten zu müssen. Das hält den Aufwand auch bei einer wachsenden Website überschaubar, selbst wenn regelmäßig neue Unterseiten hinzukommen. So lässt sich der Index Schritt für Schritt an eine wachsende Website anpassen.
Preis pro Seite
$0.040 pro Anfrage plus $0.0025 je verarbeiteter Seite. Eine Dokumentation mit 50 Unterseiten kostet damit rund $0.165 insgesamt für die Indexierung. Die Grundgebühr pro Anfrage fällt einmal je Aufruf an, während sich der Preis pro Seite erst bei einer größeren Anzahl indexierter Seiten spürbar auswirkt. Bei einer einzelnen Landingpage bleibt der Gesamtpreis entsprechend nahe an der Grundgebühr. Erst bei mehreren Dutzend Seiten macht sich der Preis pro Seite spürbar bemerkbar.
Wofür sich das eignet
Besonders sinnvoll ist das bei Websites, deren Inhalt sich nicht einfach kopieren lässt, etwa wegen dynamischer Elemente, oder wenn regelmäßig neue Seiten hinzukommen. Für einen einzelnen kurzen Text reicht meist das direkte Indexieren des Textes selbst. Bei einer vollständigen Dokumentation oder einem Blog mit vielen Artikeln spart das automatische Abrufen jedoch deutlich Zeit gegenüber dem manuellen Kopieren jeder einzelnen Seite.
Anwendungsfälle
Dokumentation eines Softwareunternehmens
Ein Softwareunternehmen aus München indexiert die gesamte Online-Dokumentation, um daraus später einen FAQ-Bot für Kundinnen und Kunden zu bauen.
Produktseiten eines Online-Shops
Ein Online-Shop indexiert seine Produktseiten per URL, um Kundenfragen direkt anhand der veröffentlichten Beschreibungen zu beantworten.
Blog eines Beratungsunternehmens
Ein Beratungsunternehmen indexiert seinen Blog, um Interessierten eine Suche über alle bisherigen Fachartikel anzubieten.
Häufige Fragen
Was kostet die Indexierung von 50 Seiten?
$0.040 pro Anfrage plus $0.0025 je Seite, bei 50 Seiten also rund $0.165.
Kann ich mehrere Seiten einer Website auf einmal indexieren?
Ja, Sie können mehrere URLs angeben; jede Seite wird einzeln verarbeitet und abgerechnet.
Was passiert mit Inhalten hinter einem Login?
Nur öffentlich zugängliche Seiten lassen sich indexieren; Inhalte hinter einer Anmeldung erreicht die Funktion nicht.
Wird der Index automatisch aktualisiert, wenn sich die Seite ändert?
Nein, eine geänderte Seite muss erneut indexiert werden; eine automatische Überwachung ist eine eigene Funktion.
Was passiert mit den ausgelesenen Inhalten?
Sie werden im Index gespeichert, damit die semantische Suche darauf zugreifen kann, und nicht veröffentlicht.
Brauche ich ein Konto?
Nein. Es gibt derzeit keine Konten – Sie zahlen pro Nutzung.
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/search/index-url \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/search/index-url", {
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/search/index-url",
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/search/index-url", 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/search/index-url", 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": "search.index_url",
"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.
Limits
max_chunks | 10000 |
max_tokens | 20000 |
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. |
413 | input_too_large | Die Eingabe überschreitet das Größenlimit dieser Aufgabe – die genaue Grenze steht auf der Seite. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |