Лимиты и ограничения
Rate Limiting API
Не чаще 1 запроса в 5 секунд на один аккаунт. Это касается всех эндпоинтов API без исключения.
# Обязательная задержка между запросами
import time
def api_request(endpoint, data):
time.sleep(5) # ОБЯЗАТЕЛЬНО!
response = httpx.post(endpoint, json=data, headers=headers)
return response.json()
Последствия превышения
- Запросы будут отклонены (HTTP 429)
- При систематическом нарушении возможна временная блокировка
- Рекомендуется экспоненциальный backoff при ошибках
Рекомендации по оптимизации
- Кешируйте результаты локально — сохраняйте данные в SQLite и обновляйте по расписанию
- Распределяйте запросы — не делайте все запросы в одну минуту, распределите по часам
- Используйте пагинацию эффективно — запрашивайте максимум записей за один вызов (
take: 500) - Мониторьте потребление — логируйте каждый запрос для анализа
Дневные лимиты запросов (веб-интерфейс)
| Тариф | Запросов в день |
|---|---|
| Free | Ограничено (небольшая квота) |
| Start | 600 |
| Business | 2 000 |
| Pro | 5 000 |
Каждое обращение к данным SalesFinder (поиск товара, анализ ниши, проверка позиции) считается одним запросом.
Мониторинг позиций
| Тариф | Запросов мониторинга |
|---|---|
| Start | 100 |
| Business | 200 |
| Pro | 500 |
Подключение магазинов
| Тариф | Магазинов |
|---|---|
| Start | 2 |
| Business | 4 |
| Pro | 8 |
Пользователи аккаунта
| Тариф | Пользователей | API-доступ |
|---|---|---|
| Start | 1 | Нет |
| Business | 2 | Нет |
| Pro | 5 | Только основной |
На тарифе Pro API-доступ имеет только основной аккаунт. Суб-пользователи работают через веб-интерфейс.
Хранение данных
| Тариф | Глубина аналитики |
|---|---|
| Start | 30 дней |
| Business | 60 дней |
| Pro | Без ограничений |
При переходе с Pro на более низкий тариф исторические данные за пределами нового срока могут стать недоступны. Экспортируйте данные перед сменой тарифа.
Проекты отслеживания изменений
| Тариф | Проектов |
|---|---|
| Start | 3 |
| Business | 10 |
| Pro | 20 |
Сводная таблица всех лимитов
| Параметр | Free | Start | Business | Pro |
|---|---|---|---|---|
| Запросов/день | ~50 | 600 | 2 000 | 5 000 |
| Мониторинг позиций | - | 100 | 200 | 500 |
| Магазинов | - | 2 | 4 | 8 |
| Пользователей | 1 | 1 | 2 | 5 |
| Глубина данных | 7 дней | 30 дней | 60 дней | Без ограничений |
| Проекты отслеживания | - | 3 | 10 | 20 |
| Мониторинг РРЦ/день | - | - | 1 000 | 5 000 |
| Автоотзывы (сценариев) | - | 2 | 5 | 20 |
| Репрайсер (товаров) | - | - | 100 | 500 |
| Частота репрайсера | - | - | 3 часа | 1 час |
| Рекламных кампаний | - | - | 100 | 500 |
| Внешняя реклама/день | - | - | 100 | 500 |
| Доступ к API | Нет | Нет | Нет | Да |
| API rate limit | - | - | - | 1 запрос / 5 сек |
| JWT токен | - | - | - | 3 ч (refresh +1 ч) |
| Маркетплейсы | Только WB | Только WB | WB + Ozon | WB + Ozon |
| Цена/мес | 0 ₽ | 5 000 ₽ | 9 000 ₽ | 20 000 ₽ |
| Цена/мес (годовая) | 0 ₽ | 3 500 ₽ | 6 300 ₽ | 14 000 ₽ |
API-специфичные ограничения
Авторизация
| Параметр | Значение |
|---|---|
| Тип токена | JWT (Bearer) |
| Срок жизни | 3 часа |
| Refresh | +1 час |
| Метод логина | email + password |
| Формат | Authorization: Bearer {token} |
Версионирование
API использует версионирование в URL: /api/2025_09/...
При обновлении версии старые эндпоинты могут быть отключены. Следите за обновлениями документации на api.salesfinder.ru/docs.
Количество эндпоинтов
| Группа | Эндпоинтов |
|---|---|
| Авторизация | 3 |
| Управление магазинами | 4 |
| Репрайсер (сценарии) | 5 |
| Репрайсер (товары) | 4 |
| Внешняя аналитика (категории) | 6 |
| Внешняя аналитика (товары) | 6 |
| Итого | 28 |
Расчёт пропускной способности API
При rate limit 1 запрос / 5 секунд:
| Период | Максимум запросов |
|---|---|
| 1 минута | 12 |
| 1 час | 720 |
| 24 часа | 17 280 |
| За 3 часа (жизнь токена) | 2 160 |
Для синхронизации 1000 товаров с данными по ключевым словам:
product/info× 1000 = 5 000 сек (~83 мин)product/keywords× 1000 = 5 000 сек (~83 мин)- Итого: ~166 минут = ~2.8 часа
При таком объёме потребуется refresh токена или повторная авторизация.
Рекомендации для интеграции с Platrum Spider
- Token refresh: встроить автоматическое обновление токена за 15 мин до истечения
- Локальное кеширование: хранить данные SF в SQLite (таблица
salesfinder_*) - Расписание синхронизации: раз в 6 часов (достаточно для аналитики, не перегружает API)
- Retry с backoff: при 429 ответе — ждать 10 секунд, затем 20, 40 (экспоненциально)
- Логирование: записывать каждый API-вызов в
write_audit_log