Как использовать Polymarket API: полное руководство для разработчиков (2026)
Создавайте приложения для рынков предсказаний с REST и WebSocket API Polymarket
Начните создавать с Hypereal AI
Получите доступ к Kling, Flux, Sora, Veo и другим через единый API. Бесплатные кредиты для начала, масштабирование до миллионов.
Кредитная карта не требуется • 100k+ разработчиков • Готовность к корпоративному использованию
Как использовать Polymarket API: полное руководство для разработчиков (2026)
Polymarket — крупнейшая платформа рынков предсказаний, позволяющая пользователям торговать на исходах реальных событий. Хотите ли вы создать дашборд, автоматизировать торговые стратегии или получить рыночные данные в своё приложение — Polymarket API даёт программный доступ ко всему на платформе.
Это руководство проведёт вас через полную настройку Polymarket API: от аутентификации до размещения первой сделки, с рабочими примерами кода на Python и JavaScript.
Обзор Polymarket API
Polymarket предоставляет два основных API:
| API | Назначение | Аутентификация | Лимит запросов |
|---|---|---|---|
| CLOB API | Торговля, размещение ордеров, рыночные данные | API-ключ + секрет | 100 запр/мин |
| Gamma API | Публичные рыночные данные, события, метаданные | Нет (публичный) | 300 запр/мин |
CLOB (Central Limit Order Book) API необходим для торговли. Gamma API — это read-only REST API для получения рыночной информации, деталей событий и исторических данных без аутентификации.
Шаг 1: Получите API-ключ Polymarket
Для использования CLOB API нужен API-ключ, привязанный к вашему кошельку Polymarket.
- Перейдите на polymarket.com и подключите кошелёк или создайте аккаунт.
- Перейдите в настройки аккаунта и найдите раздел API.
- Сгенерируйте новый API-ключ и секрет. Сохраните их надёжно — секрет вы больше не увидите.
Для Gamma API аутентификация не требуется. Можно сразу делать запросы.
Шаг 2: Получите рыночные данные с Gamma API
Gamma API — самый простой способ начать. Он возвращает структурированные данные обо всех активных рынках.
Список всех активных рынков
import requests
# Получаем активные рынки из Polymarket Gamma API
response = requests.get(
"https://gamma-api.polymarket.com/markets",
params={
"active": "true",
"limit": 10,
"order": "volume24hr",
"ascending": "false"
}
)
markets = response.json()
for market in markets:
print(f"Question: {market['question']}")
print(f"Volume (24h): ${market.get('volume24hr', 0):,.2f}")
print(f"Liquidity: ${market.get('liquidity', 0):,.2f}")
print("---")
// Node.js / fetch пример
const response = await fetch(
"https://gamma-api.polymarket.com/markets?" +
new URLSearchParams({
active: "true",
limit: "10",
order: "volume24hr",
ascending: "false"
})
);
const markets = await response.json();
markets.forEach(market => {
console.log(`Question: ${market.question}`);
console.log(`Volume (24h): $${Number(market.volume24hr || 0).toLocaleString()}`);
console.log(`Liquidity: $${Number(market.liquidity || 0).toLocaleString()}`);
console.log("---");
});
Получите конкретный рынок по ID
import requests
market_id = "0x1234..." # Замените на реальный condition ID
response = requests.get(
f"https://gamma-api.polymarket.com/markets/{market_id}"
)
market = response.json()
print(f"Question: {market['question']}")
print(f"Description: {market['description']}")
print(f"End Date: {market['endDate']}")
Поиск рынков по ключевому слову
import requests
response = requests.get(
"https://gamma-api.polymarket.com/markets",
params={
"tag": "politics",
"active": "true",
"limit": 5
}
)
markets = response.json()
for m in markets:
print(f"{m['question']} — Volume: ${m.get('volume24hr', 0):,.0f}")
Шаг 3: Подключитесь к CLOB API для торговли
CLOB API позволяет размещать ордера и управлять ими. Требует криптографической аутентификации с использованием ваших API-учётных данных.
Установите Python-клиент
pip install py-clob-client
Инициализируйте клиент
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import ApiCreds
# Ваши учётные данные
host = "https://clob.polymarket.com"
chain_id = 137 # Polygon mainnet
private_key = "0xYOUR_PRIVATE_KEY"
# Инициализируйте клиент
client = ClobClient(
host,
key=private_key,
chain_id=chain_id
)
# Получите API-учётные данные
api_creds = client.create_or_derive_api_creds()
client.set_api_creds(api_creds)
print("Connected to Polymarket CLOB API")
Получите данные книги ордеров
# Получите книгу ордеров для конкретного рынка
token_id = "71321045..." # Token ID для конкретного исхода
order_book = client.get_order_book(token_id)
print("Bids:")
for bid in order_book.bids[:5]:
print(f" Price: {bid.price} | Size: {bid.size}")
print("Asks:")
for ask in order_book.asks[:5]:
print(f" Price: {ask.price} | Size: {ask.size}")
Разместите лимитный ордер
from py_clob_client.order_builder.constants import BUY
# Создайте и подпишите лимитный ордер
order_args = {
"token_id": "71321045...",
"price": 0.55, # Цена в USDC (0.55 = 55 центов = 55% вероятность)
"size": 100, # Количество акций
"side": BUY,
"fee_rate_bps": 0, # Комиссия в базисных пунктах
}
signed_order = client.create_and_post_order(order_args)
print(f"Order placed: {signed_order}")
Отмените ордер
# Отмените конкретный ордер
order_id = "0xABC123..."
result = client.cancel(order_id)
print(f"Order cancelled: {result}")
# Отмените все открытые ордера
result = client.cancel_all()
print(f"All orders cancelled: {result}")
Шаг 4: Получайте данные в реальном времени через WebSocket
Polymarket предлагает WebSocket-соединения для обновлений цен и изменений книги ордеров в режиме реального времени.
import asyncio
import websockets
import json
async def stream_market_data():
uri = "wss://ws-subscriptions-clob.polymarket.com/ws/market"
async with websockets.connect(uri) as ws:
# Подпишитесь на рынок
subscribe_msg = {
"type": "subscribe",
"market": "71321045...", # Token ID
"channel": "price"
}
await ws.send(json.dumps(subscribe_msg))
print("Subscribed to price updates")
async for message in ws:
data = json.loads(message)
print(f"Price update: {data}")
asyncio.run(stream_market_data())
Шаг 5: Создайте простой дашборд рынков
Вот практический пример, который получает топовые рынки и отображает их в форматированной таблице.
import requests
from tabulate import tabulate
def get_top_markets(limit=10):
response = requests.get(
"https://gamma-api.polymarket.com/markets",
params={
"active": "true",
"limit": limit,
"order": "volume24hr",
"ascending": "false"
}
)
return response.json()
def format_market_table(markets):
rows = []
for m in markets:
rows.append([
m["question"][:60],
f"${float(m.get('volume24hr', 0)):,.0f}",
f"${float(m.get('liquidity', 0)):,.0f}",
m.get("endDate", "N/A")[:10]
])
headers = ["Market", "24h Volume", "Liquidity", "End Date"]
return tabulate(rows, headers=headers, tablefmt="grid")
markets = get_top_markets()
print(format_market_table(markets))
Лимиты запросов и лучшие практики Polymarket API
| Эндпоинт | Лимит запросов | Рекомендуемый интервал |
|---|---|---|
| Gamma API (публичный) | 300 запр/мин | 200 мс между запросами |
| CLOB REST API | 100 запр/мин | 600 мс между запросами |
| WebSocket | Без жёсткого лимита | Пинги каждые 30 сек |
| Размещение ордеров | 10 ордеров/сек | Группируйте по возможности |
Лучшие практики
- Кешируйте рыночные данные. Метаданные рынка меняются нечасто. Кешируйте локально и обновляйте каждые 5–10 минут.
- Используйте WebSocket для данных в реальном времени. Опрос REST API расходует лимиты. Используйте WebSocket-подписки для live-обновлений цен.
- Обрабатывайте 429-ошибки корректно. Применяйте экспоненциальный откат при достижении лимитов запросов.
- Храните API-ключи в переменных окружения. Никогда не хардкодируйте приватные ключи или API-секреты в коде.
import os
# Загрузка из переменных окружения
api_key = os.environ.get("POLYMARKET_API_KEY")
api_secret = os.environ.get("POLYMARKET_API_SECRET")
private_key = os.environ.get("POLYMARKET_PRIVATE_KEY")
Распространённые коды ответов API
| Код | Значение | Действие |
|---|---|---|
| 200 | Успех | Обработайте ответ |
| 400 | Неверный запрос | Проверьте параметры |
| 401 | Не авторизован | Проверьте API-учётные данные |
| 404 | Не найдено | Проверьте ID рынка/ордера |
| 429 | Превышен лимит запросов | Откат и повтор |
| 500 | Ошибка сервера | Повтор после задержки |
Часто задаваемые вопросы
Polymarket API бесплатный? Да. Gamma API полностью бесплатен и не требует аутентификации. CLOB API бесплатен в использовании, но для размещения сделок нужен пополненный аккаунт Polymarket.
Какой блокчейн использует Polymarket? Polymarket работает на Polygon (chain ID 137). Для торговли нужен USDC на Polygon.
Можно ли использовать API для автоматических торговых ботов? Да. CLOB API создан для программной торговли. Многие пользователи запускают автоматические стратегии. Помните об условиях обслуживания относительно манипуляции рынком.
Есть ли песочница или тестнет? Polymarket иногда предоставляет тестовые окружения для разработчиков. Проверьте их Discord и документацию для актуальной информации.
Какие языки программирования поддерживаются?
Официальная клиентская библиотека — на Python (py-clob-client). REST и WebSocket API работают с любым языком, поддерживающим HTTP-запросы.
Итог
Polymarket API — один из самых доступных API рынков предсказаний. Публичный Gamma API не требует никакой настройки для чтения рыночных данных, а CLOB API даёт полные возможности торговли с поддержкой Python-клиента.
Если вы создаёте ИИ-приложения, включающие данные рынков предсказаний или любую генерацию медиа, попробуйте Hypereal AI бесплатно — 35 кредитов, карта не нужна. Hypereal предоставляет простые API для генерации изображений, видео и аватаров, хорошо сочетающиеся с приложениями на основе данных. Принимаются карты российских банков без VPN.
Похожие статьи
Download Hypereal Agent
Run a local AI media workspace for image generation, video prompts, model selection, credit tracking, and saved artifacts.


