AltSportsData
API ReferencePublic API (Betting & Odds)Same Game Parlay

Calculate Same Game Parlay

Calculate combined probability for same game parlay bets

Calculate Same Game Parlay

Calculate combined probability for same game parlay bets

Endpoint

POST /api/v1/public/events/{eventId}/sgp

Authentication

Required. Use X-API-KEY header.

Path Parameters

ParameterTypeRequiredDescription
eventIdstringYesEvent identifier

Request Body

Array of odd IDs to combine in the parlay. Send as JSON: {"oddIds": ["odd-1", "odd-2", "odd-3"]}

Example Request

curl -X POST "https://api.altsportsdata.com/api/v1/public/events/f1-bahrain-gp-2026/sgp" \
  -H "X-API-KEY: YOUR_API_KEY"
import requests

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

response = requests.post(
    'https://api.altsportsdata.com/api/v1/public/events/f1-bahrain-gp-2026/sgp',
    headers=headers
)

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

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

request = Net::HTTP::Post.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/sgp"
    
    req, _ := http.NewRequest("POST", 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.PostAsync("https://api.altsportsdata.com/api/v1/public/events/f1-bahrain-gp-2026/sgp");
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/sgp";
        URL url = new URL(urlString);
        
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        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": {
    "combinedOdds": 8.45,
    "combinedProbability": 0.118,
    "correlationAdjustment": 0.92,
    "legs": 3
  }
}

Response Fields

FieldTypeDescription
combinedOddsnumberCombined decimal odds
combinedProbabilitynumberAdjusted probability
correlationAdjustmentnumberCorrelation factor applied
legsintegerNumber of bet legs

On this page