API ReferenceLeagues
Compare Leagues
Compare two leagues side-by-side across multiple dimensions
Compare Leagues
Compare two leagues side-by-side across key metrics, valuation, readiness, and commercial factors.
Endpoint
GET /v1/leagues/{league_id}/compare/{other_id}Authentication
Required. Use Bearer token or X-API-Key header.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
league_id | string | Yes | First league identifier (e.g., "formula-1") |
other_id | string | Yes | Second league identifier (e.g., "nascar") |
Example Request
import { AltSportsData } from 'altsportsdata';
const client = new AltSportsData({ apiKey: 'YOUR_API_KEY' });
const comparison = await client.leagues.compare('formula-1', 'nascar');
console.log(comparison.data);from altsportsdata import AltSportsData
client = AltSportsData(api_key='YOUR_API_KEY')
comparison = client.leagues.compare('formula-1', 'nascar')
print(comparison.data)curl -X GET "https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch("https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar", {
headers: {
"Authorization": "Bearer YOUR_API_KEY"
}
});
const comparison = await response.json();
console.log(comparison.data);require 'net/http'
require 'json'
uri = URI('https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
response = http.request(request)
data = JSON.parse(response.body)<?php
$url = 'https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_API_KEY'
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
?>using System;
using System.Net.Http;
using System.Threading.Tasks;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
var url = "https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar";
var response = await client.GetStringAsync(url);
Console.WriteLine(response);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
client := &http.Client{}
url := "https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class CompareLeagues {
public static void main(String[] args) throws Exception {
String urlString = "https://api.altsportsdata.com/v1/leagues/formula-1/compare/nascar";
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer 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": {
"league_a": {
"id": "formula-1",
"name": "Formula 1 World Championship",
"tier": "T1",
"tier_score": 945,
"readiness_score": 932,
"valuation_acv": 250000,
"events_per_season": 23,
"global_reach": "worldwide",
"avg_viewership": 87000000
},
"league_b": {
"id": "nascar",
"name": "NASCAR Cup Series",
"tier": "T1",
"tier_score": 887,
"readiness_score": 895,
"valuation_acv": 180000,
"events_per_season": 36,
"global_reach": "primarily_north_america",
"avg_viewership": 4200000
},
"comparison": {
"tier_difference": 0,
"score_difference": 58,
"acv_difference": 70000,
"common_sport_bucket": "motorsport",
"similarity_score": 0.78,
"key_differences": [
"Formula 1 has significantly higher global viewership",
"NASCAR has more events per season",
"Formula 1 commands higher commercial value",
"Both are T1 elite motorsport properties"
],
"common_strengths": [
"Excellent data infrastructure",
"Strong commercial viability",
"High fan engagement",
"Established betting markets"
]
},
"recommendation": "Both leagues represent premium motorsport properties with strong commercial appeal. Formula 1 offers higher global reach and valuation, while NASCAR provides more frequent event opportunities."
},
"meta": {
"total": 1,
"page": 1,
"limit": 1,
"has_more": false,
"api_version": "v1",
"timestamp": "2026-03-07T06:38:00Z"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
league_a | object | First league summary |
league_b | object | Second league summary |
league_*.id | string | League identifier |
league_*.name | string | League name |
league_*.tier | string | Tier classification |
league_*.tier_score | integer | Tier score (0-1000) |
league_*.readiness_score | integer | Readiness score (0-1000) |
league_*.valuation_acv | integer | Annual contract value (USD) |
league_*.events_per_season | integer | Average events per season |
league_*.global_reach | string | Geographic reach |
league_*.avg_viewership | integer | Average viewership per event |
comparison.tier_difference | integer | Difference in tier levels |
comparison.score_difference | integer | Difference in tier scores |
comparison.acv_difference | integer | Difference in valuation (USD) |
comparison.common_sport_bucket | string | Shared sport category |
comparison.similarity_score | number | Similarity coefficient (0-1) |
comparison.key_differences | array | Key differentiating factors |
comparison.common_strengths | array | Shared strengths |
recommendation | string | Comparative recommendation |