Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API Kalshi Рынки

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

Ищите рынки Kalshi по ключевому слову в названии и статусу, задавая порядок сортировки. Для каждого рынка возвращаются последняя цена, цены заявок на покупку и продажу для исходов Yes и No, объём, открытый интерес, правила, результат и временные метки.

Цена: $6.81 за 1 000 запросов ($0.006806 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra Kalshi Рынки (kalshi/markets).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: kalshi и action: markets, а параметры передайте в params.
- Обязательных параметров нет.
- Необязательные параметры:
  - event_ticker: Только рынки одного события Kalshi, например KXBTC2026200-27JAN01, из поля event_ticker записи.
  - keyword: Слова для поиска в названиях рынков, не короче 3 символов, например bitcoin или fed; без этого параметра рынки выводятся в выбранном порядке.
  - sort: volume (по умолчанию, число проторгованных контрактов), open_interest, price_desc, price_asc или close_time. (допустимые значения: close_time / open_interest / price_asc / price_desc / volume)
  - status: open (по умолчанию, торги ещё идут) или closed (завершён или рассчитан). (допустимые значения: closed / open)
  - limit: Максимальное число записей в этом вызове, целое число от 1 до 100. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. (по умолчанию: 20)
- Возвращает список записей. Основные поля каждой записи: ticker (Тикер рынка в том виде, в каком он указ…), event_ticker (Тикер родительского события), series_ticker (Тикер родительской серии), title, event_title (Название родительского события), yes_subtitle (Описание стороны Yes, например Above $2…), no_subtitle (Описание стороны No), status (Статус рынка в том виде, в каком его во…), result (Итог расчёта: yes или no), last_price (Цена последней сделки в долларах (от 0…), yes_bid (Текущая цена заявки на покупку Yes в до…), yes_ask (Текущая цена заявки на продажу Yes в до…); всего полей: 27, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=kalshi.
- Пример тела запроса:
{
  "platform": "kalshi",
  "action": "markets",
  "params": {}
}
- Цена: $6.81 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.

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

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
platformbodystringДаkalshiИдентификатор платформы, фиксированное значение.
actionbodystringДаmarketsИдентификатор возможности, фиксированное значение.
event_tickerbody.paramsstringНет-Только рынки одного события Kalshi, например KXBTC2026200-27JAN01, из поля event_ticker записи.
keywordbody.paramsstringНет-Слова для поиска в названиях рынков, не короче 3 символов, например bitcoin или fed; без этого параметра рынки выводятся в выбранном порядке.
sortbody.paramsstring (enum)Нет-volume (по умолчанию, число проторгованных контрактов), open_interest, price_desc, price_asc или close_time.Допустимые значенияclose_timeopen_interestprice_ascprice_descvolume
statusbody.paramsstring (enum)Нет-open (по умолчанию, торги ещё идут) или closed (завершён или рассчитан).Допустимые значенияclosedopen
limitbody.paramsinteger (1–100)Нет20Максимальное число записей в этом вызове, целое число от 1 до 100. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 422 до списания средств.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "kalshi",
  "action": "markets",
  "params": {}
}'

Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.

Пример ответа

Предпросмотр полей

Для этих параметров пока нет примера ответа. Здесь показаны структура ответа и поля из описания API, а … служит заполнителем; это не результат реального вызова.

json
{
  "id": "req_…",
  "platform": "kalshi",
  "action": "markets",
  "results": [
    {
      "ticker": …,
      "event_ticker": …,
      "series_ticker": …,
      "title": …,
      "event_title": …,
      "yes_subtitle": …,
      "no_subtitle": …,
      "status": …,
      "result": …,
      "last_price": …,
      "yes_bid": …,
      "yes_ask": …,
      "no_bid": …,
      "no_ask": …,
      "volume": …,
      "open_interest": …,
      "dollar_volume": …,
      "dollar_open_interest": …,
      "strike_type": …,
      "floor_strike": …,
      "cap_strike": …,
      "rules": …,
      "settlement_sources": …,
      "open_at": …,
      "close_at": …,
      "settled_at": …,
      "can_close_early": …,
      "platform": …
    }
  ],
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.

ПолеЗначение
tickerТикер рынка в том виде, в каком он указан в Kalshi.
event_tickerТикер родительского события; передайте его в event_ticker, чтобы получить список других рынков этого события.
series_tickerТикер родительской серии.
titleЗаголовок. null, если на платформе нет заголовков (например, у текстовых постов).
event_titleНазвание родительского события.
yes_subtitleОписание стороны Yes, например Above $200000.
no_subtitleОписание стороны No.
statusСтатус рынка в том виде, в каком его возвращает Kalshi, например open, closed или settled.
resultИтог расчёта: yes или no; до расчёта поле отсутствует.
last_priceЦена последней сделки в долларах (от 0 до 1; контракт выплачивает 1 доллар при победе выбранной стороны, поэтому цену можно интерпретировать как вероятность).
yes_bidТекущая цена заявки на покупку Yes в долларах.
yes_askТекущая цена заявки на продажу Yes в долларах.
no_bidТекущая цена заявки на покупку No в долларах.
no_askТекущая цена заявки на продажу No в долларах.
volumeОбщий объём торгов в контрактах.
open_interestКоличество открытых контрактов.
dollar_volumeОбщий объём торгов в долларах.
dollar_open_interestОткрытый интерес в долларах.
strike_typeТип страйка в том виде, в каком его возвращает Kalshi, например greater, less или between; отсутствует у рынков без числового страйка.
floor_strikeНижний страйк; отсутствует, если его нет.
cap_strikeВерхний страйк; отсутствует, если его нет.
rulesОсновное правило расчёта в исходной формулировке.
settlement_sourcesНазвания источников, по данным которых определяется результат рынка.
open_atВремя открытия, ISO 8601 UTC.
close_atВремя закрытия, ISO 8601 UTC.
settled_atВремя расчёта, ISO 8601 UTC; до расчёта отсутствует.
can_close_earlyМожет ли рынок закрыться досрочно, когда его условие выполнено.
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

Ошибки и оплата

401
Ключ отсутствует или недействителен.
402
Недостаточно средств на балансе. Сначала пополните баланс.
422
Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
429
Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
503
Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
200 (пусто)
Нет данных. Без списания.

Ошибки

Официальные источники

Используются только для проверки объектов и терминов. Они не означают, что платформа разрешила или одобрила работу EveryInfra.

  • Документация Kalshi API: глоссарий серий, событий и рынков ↗

    В официальной документации Kalshi сказано, что каждое событие относится к одной серии (series_ticker), а каждый рынок — к одному событию (event_ticker); поэтому `event_ticker` возвращает список рынков одного события. Цены и объёмы — собственные данные Kalshi.

    Проверено 2026-11-01