API-Anleitung#
Jede Seurch-Suchfunktion – Web, Bilder, Nachrichten, Videos, Karten, Übersetzen, Sofortantworten, Wissenskarten, Vorschläge und Anbieterstatus – ist programmatisch über eine JSON-API verfügbar. Derselbe Dienst bedient sowohl die API als auch die Website, sodass beide immer die gleichen Ergebnisse zurückgeben.
Die API ist mit Django REST Framework gebaut und unter /api/v1/ eingehängt.
Die öffentliche API ist eine selbst-gehostete Funktion. Sie wird mit der Open-Source-Engine geliefert und ist auf jeder Instanz verfügbar, die Sie selbst betreiben. Der gehostete Dienst unter seurch.eu stellt sie nicht bereit; um die API zu nutzen, betreiben Sie Ihre eigene Instanz und erstellen Sie dort einen Schlüssel.
Basis-URL#
https://search.example.com/api/v1/Die nachfolgenden Beispiele verwenden search.example.com als Platzhalter; ersetzen Sie ihn durch den Host Ihrer eigenen Instanz.
Auf einen Blick#
- Authentifizierung: Jede Anfrage benötigt einen benutzerspezifischen API-Schlüssel.
- Zustandslos: Die Optionen, die die Website in einem Cookie hält (Suchmaschine, SafeSearch, Sprache, Zeitbereich, Seite), sind einfache Abfrageparameter, sodass eine Anfrage vollständig durch ihre URL beschrieben wird.
- Ratenbegrenzt: Pro Schlüssel, mit einem Burst- und täglichen Limit.
- Nur JSON: Jeder Endpunkt gibt JSON zurück.
Eine erste Anfrage#
curl -H "Authorization: Api-Key seurch_sk_<präfix>.<geheimnis>" \
"https://search.example.com/api/v1/web/?q=klima&lang=de"In dieser Anleitung#
| Seite | Inhalt |
|---|---|
| Authentifizierung | API-Schlüssel erhalten und senden |
| Ratenlimits | Burst / Sustained-Limits, 429, Nutzungserfassung |
| Konventionen | Gemeinsame Abfrageparameter und Antwortstruktur |
| Such-Endpunkte | web/, images/, news/, videos/, images/similar/ |
| Karten | Geokodierung und umgekehrte Geokodierung |
| Übersetzen | Text übersetzen und Sprachen auflisten |
| Sofortantworten & Karten | Sofortantworten und Wissenskarten |
| Meta-Endpunkte | suggest/, status/, key/, und die API-Wurzel |
| Fehler | Statuscodes und Fehlerbodies |
Die In-App-Entwicklerseite unter
/api/verlinkt auf diese Dokumentation und zum Schlüsselmanager. Eine Insomnia-Sammlung der Endpunkte wird im Repository geliefert (scripts/seurch-api.insomnia.json).