Об API
Общее описание логики работы API ФраймЗакупки: баланс, лимиты, получение тендеров и особенности использования.
Баланс и списания
За что списывается баланс
API работает по модели "pay-per-tender" — вы платите только за новые тендеры, которые раньше не получали. За каждый новый тендер списывается 1 единица баланса.
Повторное получение того же тендера не списывает баланс повторно. Система запоминает, какие тендеры вы уже получали.
Как это работает на практике
- Первый запрос: Запрашиваете тендеры по фильтру → получаете 20 тендеров → списывается 20 единиц баланса (если все новые)
- Повторный запрос через час: Запрашиваете те же тендеры → получаете те же 20 тендеров → баланс не списывается
- Запрос через день: Появились 5 новых тендеров → получаете 25 тендеров → списывается только 5 единиц за новые
Отслеживание в ответе API
В ответе на запрос тендеров вы видите:
{
"new_tenders_count": 5,
"remaining_balance": 995,
"items": [...]
}
new_tenders_count— сколько новых тендеров в этом запросе (столько и списалось с баланса)remaining_balance— ваш баланс после этого запросаis_new— флаг у каждого тендера, показывающий новый он или вы уже получали его раньше
Суточные лимиты
Для защиты от случайных ошибок и злоупотреблений действуют суточные лимиты на количество получаемых объектов. Лимиты сбрасываются каждый день в 00:00 по московскому времени.
Лимиты по типам
| Тип объекта | Базовый лимит | Описание |
|---|---|---|
Тендеры |
1000/день | Количество новых тендеров, которые можно получить за сутки |
Контракты |
100/день | Количество контрактов (если доступны по лицензии) |
Протоколы |
50/день | Количество протоколов (если доступны по лицензии) |
Как проверить текущий лимит
Запросите GET /balance — в ответе придет информация о лимитах:
{
"limits": {
"tenders": {
"current": 45,
"limit": 1000,
"remaining": 955,
"reset_at": "2026-03-21T00:00:00"
}
}
}
Если вы исчерпали суточный лимит, API вернёт ошибку 429 Too Many Requests. Попробуйте снова после 00:00 МСК или обратитесь в поддержку для увеличения лимита.
Фильтры и автопоиск
Как получить тендеры
Тендеры выдаются только по фильтрам, которые созданы в веб-интерфейсе zakupki.fraim.ru. Вы не можете запросить "все тендеры" — только те, что попадают под ваши настроенные фильтры.
Что такое автопоиск
У каждого фильтра есть настройка "Автопоиск". Только фильтры с включенным автопоиском собирают тендеры в фоне и дают доступ к ним через API.
В ответе GET /filters поле autosearch: true означает, что фильтр активен и по нему собираются тендеры. Если autosearch: false — включите автопоиск в веб-интерфейсе.
Алгоритм работы
- Создаёте фильтр в веб-интерфейсе zakupki.fraim.ru
- Включаете "Автопоиск" для этого фильтра
- Система начинает собирать подходящие тендеры в фоновом режиме
- Через API запрашиваете тендеры по ID фильтра
- Получаете только те тендеры, которые уже собраны
Избранное
API позволяет управлять списком избранных тендеров — добавлять и удалять тендеры, а также получать список избранного.
Особенности
- Избранное привязано к пользователю API токена
- Один и тот же тендер можно добавить в избранное только один раз
- Добавление/удаление из избранного не влияет на баланс
- Получение деталей тендера из избранного списывает баланс, если вы ранее не получали этот тендер
- Отслеживание изменений: добавьте тендер в избранное и периодически проверяйте его детали — так вы увидите изменения статуса, цены, сроков
Сценарий использования избранного для отслеживания изменений
- Находите интересный тендер через фильтры
- Добавляете его в избранное
POST /favorites/{tender_id} - Раз в день запрашиваете
GET /favorites/updates— получаете только тендеры с изменениями - Запрашиваете детали обновлённых тендеров
GET /tenders/{id} - Обнаруживаете изменения: сроки продлены, цена изменилась, статус обновлён, документы добавлены
Endpoint возвращает только те избранные тендеры, у которых update_date > favorited_at — то есть тендер обновился после того, как вы добавили его в избранное. Так вы не пропустите важные изменения.
Рекомендуемый сценарий использования
Для регулярного мониторинга
- Настройте фильтры в веб-интерфейсе с включенным автопоиском
- Раз в час/день запрашивайте тендеры по фильтру
- Сохраняйте
new_tenders_countиremaining_balance - Обрабатывайте только тендеры с
is_new: true - При необходимости добавляйте интересные тендеры в избранное
Для получения деталей
- Получаете список тендеров по фильтру
- Для интересных тендеров запрашиваете детали по
GET /tenders/{id} - Если много позиций — используйте
GET /tenders/{id}/positionsс пагинацией - Документы доступны в деталях тендера
Важные ограничения
API предназначен только для сервер-сервер интеграций. Запросы из браузеров блокируются (нет CORS). Используйте API с вашего backend-сервера.
API токен показывается только один раз при создании. Сохраните его в надёжном месте (например, в переменных окружения). Если токен утрачен — создайте новый, старый удалите.
API токены не имеют срока действия. Токен действует до тех пор, пока вы его не удалите. Рекомендуем периодически проверять список активных токенов и удалять неиспользуемые.