AltSportsData
API ReferencePublic API (Betting & Odds)Events

Event Odds

Get betting odds for an event by odd type

Event Odds

Get betting odds for an event by odd type

Endpoint

GET /api/v1/public/events/{eventId}/{oddType}

Authentication

Required. Use X-API-KEY header.

Path Parameters

ParameterTypeRequiredDescription
eventIdstringYesEvent identifier
oddTypestringYesOdd type: eventWinner, headToHead, podiums, propBets, etc.

Query Parameters

ParameterTypeRequiredDescription
exactasTypeintegerNoExactas type: 2, 3, or 4
overUnderSubMarketTypestringNoFor overUnder: finishingPosition, points, or gapToLeaders

Example Request

curl -X GET "https://api.altsportsdata.com/api/v1/public/events/f1-bahrain-gp-2026/eventWinner" \
  -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/events/f1-bahrain-gp-2026/eventWinner',
    headers=headers
)

data = response.json()
print(data)
const response = await fetch('https://api.altsportsdata.com/api/v1/public/events/f1-bahrain-gp-2026/eventWinner', {
  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/events/f1-bahrain-gp-2026/eventWinner', {
  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/events/f1-bahrain-gp-2026/eventWinner')

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/events/f1-bahrain-gp-2026/eventWinner"
    
    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/events/f1-bahrain-gp-2026/eventWinner");
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/events/f1-bahrain-gp-2026/eventWinner";
        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": 1.85, "probability": 0.54},
    {"participant": "Lewis Hamilton", "odds": 3.20, "probability": 0.31}
  ]
}

Response Fields

FieldTypeDescription
participantstringParticipant name
oddsnumberDecimal odds
probabilitynumberImplied probability

Available Odd Types

fastestLap, eventWinner, secondPlace, heatWinner, overUnder, multiOverUnder, headToHead, shows, podiums, propBets, dreamTeam, eventExacta, heatExacta, raceTop10, raceTop5, raceTop3

On this page