curl --request GET \
--url https://therundown.io/api/v2/events/{eventID}/markets \
--header 'X-TheRundown-Key: <api-key>'import requests
url = "https://therundown.io/api/v2/events/{eventID}/markets"
headers = {"X-TheRundown-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-TheRundown-Key': '<api-key>'}};
fetch('https://therundown.io/api/v2/events/{eventID}/markets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://therundown.io/api/v2/events/{eventID}/markets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-TheRundown-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://therundown.io/api/v2/events/{eventID}/markets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-TheRundown-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://therundown.io/api/v2/events/{eventID}/markets")
.header("X-TheRundown-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://therundown.io/api/v2/events/{eventID}/markets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-TheRundown-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": 1,
"name": "moneyline",
"line_value_is_participant": true,
"proposition": true,
"description": "Moneyline: To win outright",
"short_description": "Moneyline",
"period_id": 0,
"live_variant_id": 41
},
{
"id": 2,
"name": "handicap",
"line_value_is_participant": false,
"proposition": true,
"description": "Spread: Win or lose by margin of points",
"short_description": "Spread",
"period_id": 0,
"live_variant_id": 42
},
{
"id": 3,
"name": "totals",
"line_value_is_participant": false,
"proposition": true,
"description": "Totals: Total points",
"short_description": "Totals",
"period_id": 0,
"live_variant_id": 43
},
{
"id": 29,
"name": "points",
"line_value_is_participant": false,
"proposition": true,
"description": "Points: How many points will this player score?",
"short_description": "Points",
"period_id": 0,
"live_variant_id": 90
}
]Get available markets for an event
Returns the list of market definitions available for this event (not prices — use the event endpoint with market_ids for prices).
curl --request GET \
--url https://therundown.io/api/v2/events/{eventID}/markets \
--header 'X-TheRundown-Key: <api-key>'import requests
url = "https://therundown.io/api/v2/events/{eventID}/markets"
headers = {"X-TheRundown-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-TheRundown-Key': '<api-key>'}};
fetch('https://therundown.io/api/v2/events/{eventID}/markets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://therundown.io/api/v2/events/{eventID}/markets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-TheRundown-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://therundown.io/api/v2/events/{eventID}/markets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-TheRundown-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://therundown.io/api/v2/events/{eventID}/markets")
.header("X-TheRundown-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://therundown.io/api/v2/events/{eventID}/markets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-TheRundown-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": 1,
"name": "moneyline",
"line_value_is_participant": true,
"proposition": true,
"description": "Moneyline: To win outright",
"short_description": "Moneyline",
"period_id": 0,
"live_variant_id": 41
},
{
"id": 2,
"name": "handicap",
"line_value_is_participant": false,
"proposition": true,
"description": "Spread: Win or lose by margin of points",
"short_description": "Spread",
"period_id": 0,
"live_variant_id": 42
},
{
"id": 3,
"name": "totals",
"line_value_is_participant": false,
"proposition": true,
"description": "Totals: Total points",
"short_description": "Totals",
"period_id": 0,
"live_variant_id": 43
},
{
"id": 29,
"name": "points",
"line_value_is_participant": false,
"proposition": true,
"description": "Points: How many points will this player score?",
"short_description": "Points",
"period_id": 0,
"live_variant_id": 90
}
]Authorizations
Recommended API key request header for new integrations
Path Parameters
Canonical V2 event ID from the event_id field returned by event endpoints
Query Parameters
Comma-separated participant IDs to filter (max 99)
Filter participants by type
TYPE_TEAM, TYPE_PLAYER, TYPE_RESULT Response
Available markets
1
"Money Line"
If true, the selection is carried by the participant and line values may be placeholders or labels. If false, the line value is meaningful and should be displayed when present.
Whether this is a proposition/prop market
Associated period. 0=Full Game, 1=1st Half, 2=2nd Half, 3-6=Quarters/periods, 7=Live Full Game, 13-18=Live periods. For tennis, 3/4 represent prematch Set 1/Set 2 and 15/16 represent live Set 1/Set 2.
ID of the live/in-play variant of this market