API für den Zugriff von KI-Crawlern
Eine Anfrage sagt, welche KI-Crawler eine Website lesen können: GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot, Google-Extended, Bingbot und Googlebot. Für jeden erhalten Sie, was robots.txt sagt und was der Server antwortet. Es ist das Ergebnis des kostenlosen KI-Crawler-Checks, als JSON. Ohne Schlüssel, ohne Konto, CORS offen.
Anfrage
Eine GET-Anfrage mit einem Parameter:
GET https://citedby.eu/api/v1/ai-access?url=example.com
url: Eine Domain oder eine vollständige Adresse, zum Beispiel example.com oder https://example.com/shop. Geprüft wird nur die Website: Pfad, Port und www. entfallen.
Beispiel
Die Prüfung von theguardian.com am 24. Oktober 2026: eine öffentliche Website, kein CitedBy-Kunde, mit dem Ergebnis, wie die API es geliefert hat. An einem anderen Tag kann die Antwort abweichen.
curl "https://citedby.eu/api/v1/ai-access?url=theguardian.com"
{"api_version": "1", "site": "theguardian.com", "checked_at": "2026-10-24T17:27:07Z", "robots_txt": {"state": "found", "status": 200, "blocks_all_crawlers": false}, "summary": {"total": 8, "allowed": 6, "blocked": ["PerplexityBot", "ClaudeBot"]},
"crawlers": [
{"id": "GPTBot", "role": "training", "robots_txt": "allowed", "robots_txt_rule": null, "server": "ok", "access": "allowed"},
{"id": "OAI-SearchBot", "role": "search", "robots_txt": "allowed", "robots_txt_rule": null, "server": "ok", "access": "allowed"},
{"id": "ChatGPT-User", "role": "user_fetch", "robots_txt": "allowed", "robots_txt_rule": null, "server": "ok", "access": "allowed"},
{"id": "PerplexityBot", "role": "search", "robots_txt": "disallowed", "robots_txt_rule": "Disallow: /", "server": "blocked", "access": "blocked_by_robots_txt_and_server"},
{"id": "ClaudeBot", "role": "training", "robots_txt": "disallowed", "robots_txt_rule": "Disallow: /", "server": "blocked", "access": "blocked_by_robots_txt_and_server"},
{"id": "Google-Extended", "role": "training", "robots_txt": "allowed", "robots_txt_rule": null, "server": "not_tested", "access": "allowed"},
{"id": "Bingbot", "role": "search", "robots_txt": "allowed", "robots_txt_rule": null, "server": "ok", "access": "allowed"},
{"id": "Googlebot", "role": "search", "robots_txt": "allowed", "robots_txt_rule": null, "server": "ok", "access": "allowed"}
],
"report_url": "https://citedby.eu/tools/ai-crawler-check/theguardian.com?utm_source=api&utm_medium=api&utm_campaign=ai_access_api", "audit_url": "https://citedby.eu/?url=theguardian.com&source=api&utm_source=api&utm_medium=api&utm_campaign=ai_access_api", "attribution": {"text": "AI crawler access by CitedBy", "url": "https://citedby.eu/ai-access-api"}, "docs": "https://citedby.eu/ai-access-api"}Was die Antwort enthält
Jedes Feld unten steht in jeder erfolgreichen Antwort.
site: Die geprüfte Domain.checked_at: Wann CitedBy die Prüfung durchgeführt hat, in UTC. Eine Website, die in den letzten 6 Stunden geprüft wurde, liefert das gespeicherte Ergebnis; der Zeitpunkt kann also vor Ihrer Anfrage liegen.robots_txt.state: found, not_found, unreachable oder server_error. Ein Serverfehler bei robots.txt heißt, dass ein Crawler annehmen muss, nicht crawlen zu dürfen (RFC 9309); dann gilt jeder Crawler als blockiert.robots_txt.status: Der HTTP-Status, mit dem robots.txt geantwortet hat.robots_txt.blocks_all_crawlers: true, wenn die Regeln für alle Crawler (*) die ganze Website sperren.summary: Wie viele der 8 Crawler die Website lesen können (allowed) und die Namen derer, die es nicht können (blocked).crawlers[].id: Der Name des Crawlers.crawlers[].role: training (sammelt Text zum Training von Modellen), search (kann Ihre Seiten in Antworten nennen) oder user_fetch (öffnet eine Seite, wenn eine Person danach fragt).crawlers[].robots_txt: allowed, disallowed oder not_read (robots.txt konnte nicht gelesen werden).crawlers[].robots_txt_rule: Die robots.txt-Regel, die die Website für diesen Crawler sperrt, oder null.crawlers[].server: ok, blocked (der Server beantwortet den User-Agent dieses Crawlers mit einer Abweisung oder einer Prüfseite), down (ein Fehler) oder not_tested. Google-Extended ist nur ein robots.txt-Token und wird nie auf dem Server getestet.crawlers[].access: Das Urteil für diesen Crawler, einer der Werte unten.report_url: Die vollständige Ergebnisseite des kostenlosen Checks für diese Website.audit_url: Wo Sie die ganze Website prüfen lassen.attribution: Der Text und der Link, die Sie anzeigen, wenn Sie das Ergebnis zeigen (siehe die Bedingungen).
Die Zugriffswerte
allowed heißt: robots.txt sperrt die Website nicht für den Crawler, und der Server hat ihm geantwortet. Die anderen nennen, was im Weg steht:
allowed: der Crawler kann die Website lesen.blocked_by_robots_txt: robots.txt sperrt die Website für diesen Crawler.blocked_by_server: der Server weist den User-Agent dieses Crawlers ab oder zeigt ihm eine Prüfseite.blocked_by_robots_txt_and_server: beides.server_error: der Server hat diesem Crawler mit einem Fehler geantwortet.
Einen Trainings-Crawler zu blockieren kann eine Entscheidung sein. Die API meldet ihn als blockiert und nennt das kein Problem.
Fehler
Ein Misserfolg ist ein Fehler, nie eine Vermutung. Der Inhalt ist JSON: {"error": {"code", "message"}}.
missing_url: 400: der Parameter url fehlt.bad_url: 400: keine öffentliche Website-Adresse (eine private Adresse, ein ungültiger Name, mehr als 2.048 Zeichen).site_unreachable: 422: die Website hat unserem Crawler nicht geantwortet, der Zugriff lässt sich daher nicht beurteilen. Es wird nichts vermutet: Es gibt kein Okay.rate_limited: 429: die Grenzen unten sind überschritten. Retry-After nennt die Sekunden bis zum nächsten Versuch.busy: 503: CitedBy führt die maximale Zahl an Prüfungen aus. Retry-After beträgt 60 Sekunden.unavailable: 502 oder 503: der Checker hat nicht geantwortet. Versuchen Sie es in einer Minute erneut.
Eine langsame Website liefert 202 mit {"status": "pending"}: die Prüfung läuft weiter und ihr Ergebnis wird gespeichert. Fragen Sie nach den Sekunden aus Retry-After erneut.
Grenzen
- 30 Anfragen pro Stunde je IP-Adresse.
- Höchstens 12 Websites pro Stunde, die nicht schon in den letzten 6 Stunden geprüft wurden. Eine Website, die in dieser Zeit geprüft wurde, erhält das gespeicherte Ergebnis und verbraucht dieses Kontingent nicht.
- Kein Schlüssel und keine Anmeldung: Die Grenzen sind die einzige Hürde. Das Ergebnis wird 6 Stunden gespeichert.
Was sie nicht liefert
- Keine Note und keinen Score. Die API liefert, was der kostenlose Check je Crawler zeigt.
- Keinen Crawl Seite für Seite, keine exakte Korrektur je Seite und keine llms.txt-Prüfung: Das gehört zum Audit.
- Sie testet die Startseite mit dem User-Agent-String jedes Crawlers, von unserer eigenen Adresse aus. Eine Firewall, die die IP-Bereiche der Anbieter prüft, kann die echten Crawler anders behandeln.
- Eine robots.txt, die auf eine andere Domain weiterleitet, wird nicht verfolgt: Sie erscheint als not_found mit dem Status der Weiterleitung.
OpenAPI
Die Spezifikation liegt unter https://citedby.eu/openapi.json. Laden Sie sie in Postman, Insomnia oder einen Codegenerator.
Nutzungsbedingungen
- Kostenlos nutzbar, auch in Ihrem eigenen Produkt, ohne Schlüssel oder Konto.
- Wenn Sie unsere Ergebnisse anderen zeigen (eine Seite, ein Bericht, eine README, ein Tool), verlinken Sie CitedBy: https://citedby.eu/de/ai-access-api oder die report_url der Website. Das Feld attribution enthält Text und Link.
- Geben Sie das Ergebnis nicht als eigene Prüfung aus und senden Sie keine Schübe: Die Grenzen gelten je Adresse, und wir können sie ändern oder beenden. Es gibt kein Verfügbarkeitsversprechen.
- Wir zählen die Aufrufe, als eine Zahl pro Tag. Die Adresse, von der Sie aufrufen, dient den Grenzen und bleibt im Arbeitsspeicher, nicht in einer Datenbank. Mehr unter Datenschutz.
Derselbe Check, anders
- Der kostenlose Check im Browser
- MCP-Server für Claude, Cursor und Codex
- Kommandozeile und GitHub Action
- WordPress-Plugin
- Ein Badge für Ihre Website
English · Français · Nederlands · Deutsch · Español
Brauchen Sie mehr als den Crawler-Zugriff? Ein CitedBy-Audit crawlt Ihre Website, bis zum Seitenlimit Ihres Tarifs, und liefert die exakte Korrektur. Siehe die Tarife.