Données API Kalshi

Données API Kalshi : Marchés, Carnets d'ordres, Chandeliers et Transactions

L’API publique de Kalshi retourne séries, événements, marchés, le carnet d’ordres actuel, chandeliers et transactions, et aucun de ces appels ne nécessite de clé API. Ce qu’elle ne retourne pas est le carnet d’ordres à un moment passé. Cette page cartographie chaque type de données Kalshi à son point de terminaison, montre les appels, et comble le vide avec 1.5 milliards de carnets enregistrés.

Les données API Kalshi sont les données de la bourse fournies par l'API Trade de Kalshi à https://external-api.kalshi.com/trade-api/v2. Les données publiques du marché couvrent les séries, événements, marchés, carnet d'ordres actuel, chandeliers et transactions ; les données réglées plus anciennes qu'un seuil publié passent aux points de terminaison /historical. Les données de compte (ordres, remplissages, positions) nécessitent des requêtes avec clé API signée RSA.

Parcourir les fichiers quotidiens Kalshi

Un carnet d'ordres Kalshi, tel qu'enregistré

Copié d'une observation BTC 15 minutes stockée dans l'archive DepthFeed. La réponse du carnet Kalshi porte les mêmes deux échelles d'ordres d'achat pour le moment actuel.

Oui, offresPas d’ordres d’achat0.326,6450.311,1290.301,0250.291,5350.67635.10.661,3510.652,6450.642,310
Taille au repos à chaque niveau de prix — KXBTC15M-26JUN211530 (Kalshi). La longueur de la barre ∝ taille.

Une offre oui au prix p est une offre non à 1 − p, donc le ask oui implicite est 1 − la meilleure offre non.: sondage REST en profondeur complète.

yes_dollars / yes_prices
Offres yes en attente sous forme de prix et nombre de contrats, meilleures en premier.
no_dollars / no_prices
Offres no en attente. Chacune est une offre yes à 1 − prix, ce qui donne la demande yes implicite (0.33 ici).
ticker
Le ticker exact du marché, strike inclus.
recv_ts_ms
Heure de réception DepthFeed en millisecondes epoch ; la réponse du carnet Kalshi n’a pas d’horodatage d’échange.

Données API Kalshi en un coup d'œil

URL de base
https://external-api.kalshi.com/trade-api/v2
Authentification des données de marché
Aucun pour séries, événements, marchés, carnet d'ordres, chandeliers et transactions
Authentification des données du compte
En-têtes de clé API signés RSA
Carnet d'ordres
Échelles d'achat oui et non actuelles ; ask = 1 − meilleure offre opposée
Périodes des chandeliers
1 minute · 1 heure · 1 jour
Données réglées plus anciennes
Points de terminaison /historical après la date limite publiée
Carnets d'ordres passés
Non servi par Kalshi ; DepthFeed les enregistre depuis 2026-01-08

Récupérer les données API Kalshi avec curl

Chaque appel ci-dessous est public. Remplacez les tickers par ceux de la première réponse ; les timestamps sont en secondes Unix.

Requête copiableshell
# Open markets in one series
curl -s "https://external-api.kalshi.com/trade-api/v2/markets?series_ticker=KXBTC15M&status=open&limit=5"

# The current order book for one exact market
curl -s "https://external-api.kalshi.com/trade-api/v2/markets/<market_ticker>/orderbook"

# Hourly candles for that market
curl -s "https://external-api.kalshi.com/trade-api/v2/series/KXBTC15M/markets/<market_ticker>/candlesticks?start_ts=1793232000&end_ts=1793318400&period_interval=60"

# Recent trades, then the cutoff for older ones
curl -s "https://external-api.kalshi.com/trade-api/v2/markets/trades?ticker=<market_ticker>&limit=100"
curl -s "https://external-api.kalshi.com/trade-api/v2/historical/cutoff"
  • Suivez le champ curseur jusqu’à ce qu’il revienne vide.
  • Lire la demande yes comme 1 − meilleure offre no ; le carnet n'a pas de tableau ask.
  • Les marchés réglés avant la coupure ne sont disponibles que sur les points de terminaison /historical.

Données API Kalshi

Ce que l'API Kalshi retourne, et d'où

  1. Séries, événements et marchés : la hiérarchie

    Une série est une question récurrente (KXBTC15M est Bitcoin toutes les 15 minutes), un événement est une instance de celle-ci, et un marché est un contrat oui/non négociable à l'intérieur de l'événement, avec son strike dans le ticker. GET /series/{series_ticker}, GET /events/{event_ticker} et GET /markets?series_ticker=… les renvoient. Utilisez le ticker de marché complet comme clé de jointure : un ticker d'événement nomme plusieurs marchés avec des prix très différents.

  2. Données de marché sans clé API

    Kalshi documente ses points de terminaison de données de marché comme publics : aucune clé API n'est nécessaire pour séries, événements, marchés, carnet d'ordres, chandeliers ou transactions. L'URL de base de production est https://external-api.kalshi.com/trade-api/v2; l'ancien hôte api.elections.kalshi.com sert les mêmes marchés, pas seulement les élections. Les clés sont nécessaires pour le côté compte (ordres, remplissages, positions) et pour le flux WebSocket.

  3. Le carnet d’ordres : offres uniquement, et uniquement actuelles

    GET /markets/{ticker}/orderbook retourne deux échelles d’ordres d’achat, oui et non, en prix dollars avec nombre de contrats (orderbook_fp.yes_dollars et no_dollars). Il n’y a pas de tableau ask : un ordre no à p est une offre yes à 1 − p, donc dans l’échantillon enregistré sur cette page le meilleur ordre yes est 0.32, le meilleur ordre no 0.67 et l’ask yes implicite 0.33. La réponse est le carnet actuel ; l’appeler plus tard ne vous dira pas ce qu’il était.

  4. Chandeliers : 1 minute, horaire ou quotidien

    GET /series/{series_ticker}/markets/{ticker}/candlesticks prend start_ts, end_ts et period_interval de 1, 60 ou 1440 minutes. Chaque chandelier porte open, high, low et close pour le bid yes, l’ask yes et le prix échangé, plus volume et open interest. C’est le moyen le moins cher de tracer un marché, mais il enregistre ce qui a été échangé et où le haut du carnet a clôturé, pas la taille disponible.

  5. Transactions, et où les anciennes données se déplacent

    GET /markets/trades liste les transactions exécutées avec pagination par curseur. Kalshi divise les données en niveaux live et historiques : une fois qu’un marché est réglé avant la coupure publiée à GET /historical/cutoff, lui et ses chandeliers sont servis depuis GET /historical/markets et /historical/markets/{ticker}/candlesticks, et les transactions plus anciennes depuis GET /historical/trades. Lisez la coupure pour chaque type de données avant de supposer qu’un point de terminaison live contient tout.

  6. Limites de taux et sondage

    Les limites de Kalshi sont des budgets de jetons par niveau, avec des compartiments séparés lecture et écriture, plutôt qu’un nombre de requêtes par seconde. Interroger le point de terminaison du carnet d’ordres pour chaque marché ouvert utilise rapidement le budget de lecture. Répondez à un 429 avec un backoff exponentiel, paginez avec le curseur jusqu’à ce qu’il soit vide, et utilisez le WebSocket authentifié quand vous avez besoin de chaque changement de carnet en direct.

  7. Ce que l'API Kalshi ne peut pas vous donner

    Aucun point de terminaison Kalshi ne retourne les échelles oui et non telles qu’elles étaient il y a une heure, une semaine ou un mois. Un backtest qui a besoin de l’écart et de la taille au repos aux temps de décision passés nécessite des carnets enregistrés en direct. DepthFeed a sondé les carnets Kalshi en pleine profondeur depuis janvier 2026 : 1.5 milliard d’instantanés sur plus de 2,600,000 marchés au 21 juin 2026, servis par REST ou sous forme de 197 fichiers Parquet journaliers scellés.

Ajoutez les carnets d'ordres que l'API de Kalshi ne conserve pas

L’API publique de Kalshi vous donne marchés, chandeliers et transactions gratuitement. Quand un backtest a besoin des ladders oui et non au repos à un moment passé, interrogez les carnets enregistrés de DepthFeed avec une clé gratuite ou achetez des jours UTC entiers en Parquet.

Obtenez une clé API gratuite · Parcourir les fichiers quotidiens Kalshi

Plus sur les données KalshiPlus sur les données Kalshi

Questions, réponses.

Commencer le backtesting sur une profondeur réelle.