Пагинация, фильтрация и сортировка

Освойте эффективное получение данных с помощью пагинации, фильтрации и сортировки. Узнайте, как оптимизировать запросы и сократить количество обращений к API с помощью параметров запроса.

Пагинация

Smart Money API использует курсорную пагинацию для эффективного получения данных. Укажите номер страницы и лимит для управления результатами.

Параметр Тип По умолчанию Макс.
page integer 1 N/A
limit integer 50 500

Пример пагинации

cURL
# Получить первые 100 результатов curl "https://api.smartmoneyapi.com/v1/whales/events?page=1&limit=100" # Получить вторую страницу curl "https://api.smartmoneyapi.com/v1/whales/events?page=2&limit=100"

Информация о пагинации в ответе

JSON
{ "success": true, "data": {...}, "pagination": { "page": 1, "limit": 50, "total": 420, "total_pages": 9, "has_next": true, "has_prev": false } }

Фильтрация

Фильтруйте результаты по символу, бирже, направлению и другим критериям. Фильтры объединяются по логике И.

Фильтр Значения Пример
symbol Торговая пара BTCUSDT, ETHUSDT
exchange bybit, binance, hyperliquid bybit
direction long, short long
min_position_size Число 10.5
min_pnl_percent Число 2.0

Пример фильтрации

cURL
# Фильтр по символу и направлению curl "https://api.smartmoneyapi.com/v1/whales/events?symbol=BTCUSDT&direction=long" # Фильтр по бирже и минимальному размеру позиции curl "https://api.smartmoneyapi.com/v1/whales/events?exchange=bybit&min_position_size=15"

Сортировка

Сортируйте результаты по размеру позиции, P&L или другим полям. Укажите поле и направление (asc/desc).

cURL
# Сортировка по размеру позиции по убыванию (сначала крупнейшие) curl "https://api.smartmoneyapi.com/v1/whales/events?sort=position_sizeℴ=desc" # Сортировка по P&L по возрастанию curl "https://api.smartmoneyapi.com/v1/whales/events?sort=pnl_percentℴ=asc"

Полные примеры

Python: перебор всех страниц

Python
import requests def get_all_whale_positions(api_key, symbol=None): """Получить все позиции китов с пагинацией""" all_positions = [] page = 1 while True: params = { "page": page, "limit": 100, # Макс. размер партии "sort": "position_size", "order": "desc" } if symbol: params["symbol"] = symbol response = requests.get( "https://api.smartmoneyapi.com/v1/whales/events", headers={"Authorization": f"Bearer {api_key}"}, params=params ) data = response.json() all_positions.extend(data["data"]["positions"]) # Проверить, есть ли еще страницы if not data["pagination"]["has_next"]: break page += 1 return all_positions # Использование positions = get_all_whale_positions("sk_live_abc123xyz789", symbol="BTCUSDT") print(f"Найдено {len(positions)} позиций китов")

Рекомендации

1. Используйте максимальный лимит (100-500): Меньше обращений к API для получения того же объема данных. Эффективно группируйте результаты.

2. Фильтруйте на стороне сервера: Используйте параметры запроса для фильтрации на источнике, а не в коде приложения. Сокращает передачу данных.

3. Сортируйте на сервере: Запрашивайте отсортированные результаты из API. Сортировка на сервере эффективна при больших объемах.

4. Кэшируйте и используйте пагинацию: Кэшируйте результаты локально и используйте пагинацию для минимизации обращений к API.

5. Останавливайтесь при достижении цели: Не всегда загружайте все страницы. Останавливайтесь, когда данных достаточно для вашей задачи.

Узнать больше

Изучите полный справочник API для всех вариантов фильтрации и сортировки.

Смотреть справочник REST API
Начните бесплатно — 100 вызовов/день, без карты

Получайте данные о потоках китов, финансировании, открытом интересе и ончейн-данных с 3 бирж через один API. Бесплатный тариф, без кредитной карты, можно обновить в любое время.

Начать бесплатно →
Попробуйте консоль API в реальном времени → (аккаунт не требуется)
Получите API-ключ за 30 секунд

Готовы к разработке? Получите бесплатный API-ключ (100 вызовов/день, без карты) и начните получать данные о китах, финансировании и ончейн-данных в реальном времени.

Получить API-ключ →