Ошибки и лимиты
Коды ответов

| Код | Что значит | Что делать |
|---|---|---|
400 | Ссылка с другой платформы или составлена неверно | Проверьте входные данные |
401 | Ключ не передан, неизвестен или отозван | См. аутентификацию |
404 | Пост не найден, закрыт или удалён | Не повторять |
429 | Месячная квота исчерпана или слишком много запросов в секунду | Дождитесь сброса или смените тариф |
502 | Резолвер временно недоступен | Повторить один раз через секунду-две |
Повторные попытки
Автоматически повторять стоит только 502. 404 означает, что поста больше нет в источнике — повтор просто потратит квоту на то, что никогда не разрешится.
res = call_api(url)
if res.status_code == 502: # transient — one retry clears most of them
time.sleep(1.5)
res = call_api(url)
if res.status_code == 404: # the post is gone; retrying only burns quota
skip(url)Формат ошибки
{ "detail": "Post not found, private, or removed" }Месячные квоты
| Тариф | Запросов в месяц | Цена |
|---|---|---|
| Бесплатный | 500 | $0 |
| Мини | 5 000 | $1.99 |
| Старт | 10 000 | $2.99 |
| Плюс | 15 000 | $3.99 |
| Про | 20 000 | $4.99 |
| Бизнес | 35 000 | $6.99 |
| Масштаб | 50 000 | $8.49 |
Счётчики сбрасываются первого числа каждого месяца. Карусель из десяти файлов считается один раз — квота меряется вызовами, а не файлами.
Лимиты скорости
| Тариф | В секунду | В час |
|---|---|---|
| Бесплатный | 1 | 500 |
| Мини | 2 | 1 500 |
| Старт | 3 | 2 500 |
| Плюс | 4 | 3 500 |
| Про | 5 | 4 500 |
| Бизнес | 8 | 7 000 |
| Масштаб | 10 | 9 000 |
С кодом 429 отвечают два разных потолка. Слишком быстрый всплеск возвращает заголовок Retry-After и отпускает в пределах секунды; исчерпанная месячная квота такого заголовка не даёт и ждёт первого числа. Различать их можно по этому заголовку.
Вызов, отклонённый любым из потолков, ничего не стоит — до месячного счётчика он не доходит.
Текущий расход виден в кабинете.