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#

SeiteInhalt
AuthentifizierungAPI-Schlüssel erhalten und senden
RatenlimitsBurst / Sustained-Limits, 429, Nutzungserfassung
KonventionenGemeinsame Abfrageparameter und Antwortstruktur
Such-Endpunkteweb/, images/, news/, videos/, images/similar/
KartenGeokodierung und umgekehrte Geokodierung
ÜbersetzenText übersetzen und Sprachen auflisten
Sofortantworten & KartenSofortantworten und Wissenskarten
Meta-Endpunktesuggest/, status/, key/, und die API-Wurzel
FehlerStatuscodes 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).