AltSportsData
API ReferencePublic API (Betting & Odds)Futures

Futures Odds

Get odds for a specific futures market

Futures Odds

Get odds for a specific futures market

Endpoint

GET /api/v1/public/futures/{sportType}/tour/{tourId}/odds/{futureType}

Authentication

Required. Use X-API-KEY header.

Path Parameters

ParameterTypeRequiredDescription
sportTypestringYesSport type code
tourIdstringYesTour/season identifier
futureTypestringYesFuture type: winner, top2, top3, top5, top10, makeCut, makePlayOdds

Example Request

curl -X GET "https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner" \
  -H "X-API-KEY: YOUR_API_KEY"
import requests

headers = {'X-API-KEY': 'YOUR_API_KEY'}

response = requests.get(
    'https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner',
    headers=headers
)

data = response.json()
print(data)
const response = await fetch('https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner', {
  method: 'GET',
  headers: {
    'X-API-KEY': 'YOUR_API_KEY'
  }
});

const data = await response.json();
console.log(data);
const response = await fetch('https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner', {
  method: 'GET',
  headers: {
    'X-API-KEY': 'YOUR_API_KEY'
  }
});

const data: any = await response.json();
console.log(data);
require 'net/http'
require 'json'

uri = URI('https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner')

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri)
request['X-API-KEY'] = 'YOUR_API_KEY'

response = http.request(request)
data = JSON.parse(response.body)
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    client := &http.Client{}
    url := "https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner"
    
    req, _ := http.NewRequest("GET", url, nil)
    req.Header.Set("X-API-KEY", "YOUR_API_KEY")

    resp, _ := client.Do(req)
    defer resp.Body.Close()
    
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-KEY", "YOUR_API_KEY");

var response = await client.GetAsync("https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ApiRequest {
    public static void main(String[] args) throws Exception {
        String urlString = "https://api.altsportsdata.com/api/v1/public/futures/f1/tour/2026/odds/winner";
        URL url = new URL(urlString);
        
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("X-API-KEY", "YOUR_API_KEY");

        BufferedReader in = new BufferedReader(
            new InputStreamReader(conn.getInputStream())
        );
        
        String line;
        StringBuilder response = new StringBuilder();
        while ((line = in.readLine()) != null) {
            response.append(line);
        }
        in.close();
        
        System.out.println(response.toString());
    }
}

Example Response

{
  "data": [
    {"participant": "Max Verstappen", "odds": 2.10, "lastUpdated": "2026-03-07T10:00:00Z"},
    {"participant": "Lewis Hamilton", "odds": 4.50, "lastUpdated": "2026-03-07T10:00:00Z"}
  ]
}

Response Fields

FieldTypeDescription
participantstringDriver/athlete name
oddsnumberDecimal odds
lastUpdatedstringLast update timestamp

On this page