AltSportsData
API ReferenceData API (Sports Data)Competitions

Competition Details

Get detailed information about a competition including matches

Competition Details

Get detailed information about a competition including matches

Endpoint

GET /api/v1/data/competitions/{competitionId}

Authentication

Required. Use x-api-key header.

Path Parameters

ParameterTypeRequiredDescription
competitionIdstringYesCompetition identifier

Query Parameters

ParameterTypeRequiredDescription
datestringNoFilter by date (YYYY-MM-DD)
divisionstringNoFilter by division: men, women, or mixed

Example Request

curl -X GET "https://api.altsportsdata.com/api/v1/data/competitions/comp-001?division=men" \
  -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/data/competitions/comp-001?division=men',
    headers=headers
)

data = response.json()
print(data)
const response = await fetch('https://api.altsportsdata.com/api/v1/data/competitions/comp-001?division=men', {
  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/data/competitions/comp-001?division=men', {
  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/data/competitions/comp-001?division=men')

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/data/competitions/comp-001?division=men"
    
    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/data/competitions/comp-001?division=men");
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/data/competitions/comp-001?division=men";
        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": {
    "id": "comp-001",
    "name": "Event 1",
    "date": "2026-01-15",
    "matches": [
      {"id": "match-001", "round": 1, "teamA": "Team 1", "teamB": "Team 2", "status": "completed", "scoreA": 8, "scoreB": 5}
    ]
  }
}

Response Fields

FieldTypeDescription
idstringCompetition identifier
namestringCompetition name
datestringCompetition date
matchesarrayArray of match objects

Rate Limit: 10 requests per second per API key

On this page