Помилки
Усі помилки мають однакову структуру й незмінний code.
Орієнтуйтеся на код - повідомлення написане для людей і може змінюватися.
{ "error": { "code": "invalid_key", "message": "That API key does not exist." } }
Деякі помилки містять, крім цих двох, додаткові поля: parameter -
який параметр неправильний, retry_after - скільки чекати,
limit і used - для вичерпаного ліміту.
Усі коди
| Статус | Код | Коли |
|---|---|---|
| 400 | missing_query | query порожній або відсутній. |
| 400 | unknown_format | format не входить до шести підтримуваних. |
| 400 | unknown_column | columns містить поле, якого не існує. |
| 400 | format_not_available | Плаский формат запитано там, де відповідь не складається з рядків. |
| 400 | per_page_too_large | per_page перевищує ліміт рядків вашого тарифу. Ліміт указано в помилці. |
| 400 | invalid_json | Тіло POST-запиту не є коректним JSON. |
| 401 | missing_key | Немає заголовка Authorization: Bearer. |
| 401 | invalid_key | Ключ не належить жодному обліковому запису. |
| 403 | plan_required | В облікового запису немає платного тарифу. |
| 404 | unknown_endpoint | Такого шляху немає. Відомі шляхи перелічено в помилці. |
| 405 | method_not_allowed | API лише для читання. Використовуйте GET або POST із тілом JSON. |
| 429 | too_many_requests | Запити надходять частіше, ніж десять на хвилину (API й MCP разом). |
| 429 | quota_exceeded | Денний ліміт пошуків вичерпано. |
| 429 | snippet_quota_exceeded | Денний ліміт фрагментів вичерпано. Пошук без фрагментів і далі працює. |
Що робити в кожному випадку
- 400 - запит неправильний, і повтор не допоможе. Поле
parameterвказує, який саме параметр. - 401, 403 - справа у вашому ключі чи тарифі. Повторювати немає сенсу, доки щось не зміниться.
- 429
too_many_requests- зачекайтеretry_afterсекунд і повторіть. Нічого не списано. - 429
quota_exceeded- ліміт оновиться найближчої опівночі за UTC;retry_afterпоказує, скільки до неї лишилося. Повтор раніше не допоможе. - 5xx - проблема на нашому боці. Повторюйте зі зростанням затримки.
Помилки й формати
Помилки повертаються в JSON або в XML, якщо запитано format=xml.
У пласких форматах немає структури для помилки, тож невдалий запит, що
просив csv, отримує JSON, - отже, клієнт, який читає CSV, має
перевіряти код статусу, а не вважати рядками будь-яке тіло, схоже на
відповідь 200.
Як отримати коди, не читаючи цієї сторінки
GET / перелічує всі наведені вище коди з їхніми значеннями у
форматі JSON. Ключ не потрібен, тож клієнт можна написати з урахуванням
усього набору, навіть не відкриваючи браузера.
curl https://api.publicwww.com/Далі Приклади коду