Квоты и лимиты
У API два вида ограничений: квота — сколько страниц можно сделать за период, и лимит частоты — как часто можно отправлять запросы.
Тарифы#
| Тариф | Страниц в месяц | Частота | Источники | Цена |
|---|---|---|---|---|
| Free | 100 | 1 в секунду, до 3 подряд | HTML, с водяным знаком | бесплатно |
| Premium | 10 000 | 10 в секунду, до 30 подряд | HTML, URL, Markdown, Office | 1 990 ₽ в месяц |
| Business | 100 000 | 50 в секунду, до 150 подряд | HTML, URL, Markdown, Office | 7 990 ₽ в месяц |
Что считается страницей#
Страница готового PDF после рендера. Документ на сорок страниц стоит сорок единиц, которые вычитаются из доступного лимита, — и не важно, сделан он одним запросом или сорока. Запросы мы не считаем, считаем количество готовых страниц. Страницы списываются один раз при сохранении готового PDF. Сетевой таймаут не отменяет списание: повтор с тем же Idempotency-Key выдаёт сохранённый PDF без нового расхода в течение 24 часов. Если рендер или сохранение не удались, списания нет.
Период#
На платном тарифе период — месяц с даты оплаты: оплатили 11-го, страницы действуют до 11-го следующего месяца. На бесплатном — календарный месяц по UTC. В новом периоде счётчик начинается с нуля, остаток не переносится. При апгрейде тарифа остаток с прошлого периода тоже не переносится.
Когда кончится период, видно в ответе GET /v1/me — в поле period_end.
Квота#
Если страницы кончились или документ больше остатка, API отвечает 402 quota_exceeded, PDF не выдаётся и страницы не списываются. Обрезанных документов не существует: из 15 страниц при остатке 10 вы не получите первые 10.
Сколько осталось#
Каждый готовый PDF приходит с заголовками — отдельный запрос, чтобы посмотреть остаток, не нужен:
| Заголовок | Что в нём |
|---|---|
X-Pages-Rendered | сколько страниц списано за этот документ |
X-Quota-Limit | лимит страниц периода |
X-Quota-Used | использовано, включая этот документ |
X-Quota-Remaining | осталось |
Без конвертации остаток может подсказать GET /v1/me. Готовая проверка для cron находится в руководстве Контроль квоты.
Лимит частоты#
Лимит считается на каждый ключ: на Premium это 10 запросов в секунду и до 30 подряд или разом. «До 30 подряд» значит, что пачку из 30 запросов можно отправить сразу, дальше лимит восстанавливается со скоростью, указанной в тарифе.
Слишком частые запросы получают 429 rate_limit_exceeded и заголовок Retry-After — через сколько секунд можно повторить. Библиотеки pdfapi ждут и повторяют автоматически. Как отправлять запросы подряд, впритык к лимиту, — в руководстве Пачка документов.
Пределы#
| Что | Предел |
|---|---|
| Тело запроса | 5 МБ; если больше — вернёт 413 payload_too_large |
| Файл Office | 3,7 МБ: после base64 он вырастает на треть |
| Время рендера | 30 секунд; если дольше — вернёт 504 render_timeout |
waitDelay | до 10 секунд |
Картинки в HTML лучше давать ссылками, а не встраивать в base64, так вы экономите размер тела запроса.