Guide API#

Chaque fonctionnalité de recherche Seurch — web, images, actualités, vidéos, cartes, traduction, réponses instantanées, fiches de connaissance, suggestions et statut des fournisseurs — est disponible par programme via une API JSON. Le même service alimente à la fois l’API et le site web, de sorte que les deux renvoient toujours les mêmes résultats.

L’API est construite avec Django REST Framework et montée sous /api/v1/.

L’API publique est une fonctionnalité auto-hébergée. Elle est incluse dans le moteur open source et disponible sur toute instance que vous déployez vous-même. Le service hébergé sur seurch.eu ne l’expose pas ; pour utiliser l’API, déployez votre propre instance et créez-y une clé.

URL de base#

https://search.example.com/api/v1/

Les exemples ci-dessous utilisent search.example.com comme substitut ; remplacez-le par l’hôte de votre propre instance.

En un coup d’œil#

  • Authentification : chaque requête nécessite une clé API par utilisateur.
  • Sans état : les options que le site web conserve dans un cookie (moteur, recherche sécurisée, langue, plage temporelle, page) sont de simples paramètres de requête, de sorte qu’une requête est entièrement décrite par son URL.
  • Limité en débit : par clé, avec un plafond burst et journalier.
  • JSON uniquement : chaque point de terminaison renvoie du JSON.

Une première requête#

curl -H "Authorization: Api-Key seurch_sk_<préfixe>.<secret>" \
  "https://search.example.com/api/v1/web/?q=climat&lang=fr"

Dans ce guide#

PageCe qu’elle couvre
AuthentificationObtenir et envoyer une clé API
Limites de débitLimites burst / sustained, 429, comptage des usages
ConventionsParamètres de requête partagés et structure des réponses
Points de terminaison de rechercheweb/, images/, news/, videos/, images/similar/
CartesGéocodage et géocodage inverse
TraductionTraduire du texte et lister les langues
Instantané et fichesRéponses instantanées et fiches de connaissance
Points de terminaison métasuggest/, status/, key/, et la racine API
ErreursCodes de statut et corps d’erreur

La page développeur intégrée sur /api/ renvoie vers cette documentation et vers le gestionnaire de clés. Une collection Insomnia des points de terminaison est incluse dans le dépôt (scripts/seurch-api.insomnia.json).