Erreurs

Tous les échecs ont la même structure et un code stable. Basez votre logique sur le code - le message est rédigé pour des humains et peut être reformulé.

{ "error": { "code": "invalid_key", "message": "That API key does not exist." } }

Certaines erreurs comportent des champs supplémentaires en plus de ces deux-là : parameter pour le paramètre incorrect, retry_after pour le temps d’attente, limit et used pour un quota épuisé.

Tous les codes

StatutCodeQuand
400missing_queryquery était vide ou absent.
400unknown_formatformat ne fait pas partie des six.
400unknown_columncolumns désigne un champ qui n’existe pas.
400format_not_availableUn format plat a été demandé là où la réponse n’est pas une liste de lignes.
400per_page_too_largeper_page dépasse la limite de lignes de votre forfait. La limite figure dans l’erreur.
400invalid_jsonLe corps de la requête POST n’est pas un JSON valide.
401missing_keyPas d’en-tête Authorization: Bearer.
401invalid_keyLa clé ne correspond à aucun compte.
403plan_requiredLe compte n’a pas de forfait payant.
404unknown_endpointCe chemin n’existe pas. Les chemins connus sont listés dans l’erreur.
405method_not_allowedAPI en lecture seule. Utilisez GET, ou POST avec un corps JSON.
429too_many_requestsPlus de dix requêtes par minute (API et MCP confondus).
429quota_exceededLe quota de recherches du jour est épuisé.
429snippet_quota_exceededLe quota d’extraits du jour est épuisé. La recherche sans extraits fonctionne toujours.

Que faire dans chaque cas

Erreurs et formats

Les erreurs sont renvoyées en JSON, ou en XML lorsque format=xml a été demandé. Les formats plats n’ont pas de structure pour une erreur : une requête en échec qui demandait du csv reçoit donc du JSON. Un client qui lit du CSV doit par conséquent vérifier le code de statut plutôt que de supposer que tout corps de réponse est une liste de lignes.

Lire les codes sans lire cette page

GET / liste tous les codes ci-dessus, avec leur signification, en JSON. Aucune clé n’est nécessaire : un client peut ainsi être développé en tenant compte de l’ensemble des codes sans que personne n’ouvre un navigateur.

curl https://api.publicwww.com/
Suivant Exemples de code