/v1/markets
Contract directory
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/kalshi-api/v1/markets" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/kalshi-api/v1/markets", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/kalshi-api/v1/markets");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/kalshi-api/v1/markets",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"count": 50,
"source": "Kalshi",
"markets": [
{
"title": "yes Korea Republic,yes Canada,yes USA,yes Switzerland,yes Germany,yes Spain,yes Argentina,yes Portugal,yes Colombia,yes Brazil,yes Ecuador,yes Belgium,yes Japan,yes France,yes Switzerland",
"status": "active",
"ticker": "KXMVESPORTSMULTIGAMEEXTENDED-S2026E0FFC9EFB95-D066B69639D",
"open_time": "2026-06-12T01:41:11Z",
"close_time": "2026-06-26T02:00:00Z",
"event_ticker": "KXMVESPORTSMULTIGAMEEXTENDED-S2026E0FFC9EFB95",
"yes_sub_title": "yes Korea Republic,yes Canada,yes USA,yes Switzerland,yes Germany,yes Spain,yes Argentina,yes Portugal,yes Colombia,yes Brazil,yes Ecuador,yes Belgium,yes Japan,yes France,yes Switzerland",
"can_close_early": true,
"expiration_time": "2026-06-26T02:00:00Z"
},
{
"title": "yes Los Angeles D wins by over 2.5 runs,no Republic of Korea wins by over 2.5 goals,no Over 3.5 goals scored,yes New York wins by over 5.5 points,no Dallas wins by over 3.5 points",
"status": "active",
"ticker": "KXMVESPORTSMULTIGAMEEXTENDED-S20262347818E8FB-928FF93F346",
"open_time": "2026-06-12T01:41:11Z",
"close_time": "2026-06-14T22:40:00Z",
"event_ticker": "KXMVESPORTSMULTIGAMEEXTENDED-S20262347818E8FB",
"yes_sub_title": "yes Los Angeles D wins by over 2.5 runs,no Republic of Korea wins by over 2.5 goals,no Over 3.5 goals scored,yes New York wins by over 5.5 points,no Dallas wins by over 3.5 points",
"can_close_early": true,
"expiration_time": "2026-06-14T22:40:00Z"
},
{
"title": "no Vegas wins by over 1.5 goals,yes Over 4.5 goals scored,no Czechia wins by over 1.5 goals,yes Over 1.5 goals scored",
"status": "active",
"ticker": "KXMVESPORTSMULTIGAMEEXTENDED-S202630553A6766F-5E2E7ECEAF2",
"open_time": "2026-06-12T01:41:11Z",
"close_time": "2026-06-26T00:00:00Z",
"event_ticker": "KXMVESPORTSMULTIGAMEEXTENDED-S202630553A6766F",
"yes_sub_title": "no Vegas wins by over 1.5 goals,yes Over 4.5 goals scored,no Czechia wins by over 1.5 goals,yes Over 1.5 goals scored",
"can_close_early": true,
"expiration_time": "2026-06-26T00:00:00Z"
},
{
"title": "yes Brazil,yes Ecuador,yes Germany,yes Netherlands,yes Belgium,yes Spain,yes Uruguay,yes France,yes Norway",
"status": "active",
"ticker": "KXMVECROSSCATEGORY-S20263E119514F88-A4350DA7066",
"open_time": "2026-06-12T01:41:11Z",
"close_time": "2026-06-27T22:00:00Z",
"event_ticker": "KXMVECROSSCATEGORY-S20263E11951
…