Errores

Todos los fallos tienen la misma estructura y un code estable. Decide en función del código: el mensaje está escrito para personas y puede cambiar de redacción.

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

Algunos errores incluyen campos adicionales junto a esos dos: parameter con el parámetro incorrecto, retry_after con el tiempo de espera, limit y used cuando se ha agotado una cuota.

Todos los códigos

EstadoCódigoCuándo
400missing_queryquery estaba vacío o no se envió.
400unknown_formatformat no es ninguno de los seis.
400unknown_columncolumns menciona un campo que no existe.
400format_not_availableSe pidió un formato plano donde lo que se devuelve no son filas.
400per_page_too_largeper_page supera el límite de filas de tu plan. El límite aparece en el error.
400invalid_jsonEl cuerpo del POST no es un JSON válido.
401missing_keyFalta el encabezado Authorization: Bearer.
401invalid_keyLa clave no corresponde a ninguna cuenta.
403plan_requiredLa cuenta no tiene un plan de pago.
404unknown_endpointLa ruta no existe. Las rutas conocidas se enumeran en el error.
405method_not_allowedLa API es de solo lectura. Usa GET, o POST con un cuerpo JSON.
429too_many_requestsLlegan más de diez solicitudes por minuto (API y MCP en conjunto).
429quota_exceededSe agotó la cuota de búsquedas del día.
429snippet_quota_exceededSe agotó la cuota de fragmentos del día. Las búsquedas sin fragmentos siguen funcionando.

Qué hacer en cada caso

Errores y formatos

Los errores se devuelven en JSON, o en XML si se pidió format=xml. Los formatos planos no tienen estructura para un error, así que una solicitud fallida que pidió csv recibe JSON; por eso, un cliente que lee CSV debería comprobar el código de estado en lugar de suponer que todo cuerpo con aspecto de respuesta 200 son filas.

Leer los códigos sin leer esta página

GET / enumera todos los códigos anteriores, con su significado, en JSON. No necesita clave, así que se puede crear un cliente para todo el conjunto sin que nadie abra un navegador.

curl https://api.publicwww.com/
Siguiente Ejemplos de código