Skip to main content
GET
/
leagues
Get Leagues
curl --request GET \
  --url https://api.odds-api.io/v3/leagues
import requests

url = "https://api.odds-api.io/v3/leagues"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://api.odds-api.io/v3/leagues', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.odds-api.io/v3/leagues",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

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

func main() {

url := "https://api.odds-api.io/v3/leagues"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.odds-api.io/v3/leagues")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.odds-api.io/v3/leagues")

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

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
[
  {
    "eventsCount": 32,
    "name": "England - Premier League",
    "slug": "england-premier-league"
  }
]
{
"error": "Error message"
}
{
"error": "Error message"
}
{
"error": "Error message"
}
{
"error": "Error message"
}
{
"error": "Error message"
}

Query Parameters

apiKey
string
required

API key for authentication

sport
string
required

Sport slug (e.g. football, basketball)

all
boolean

If true, include leagues without active events

Response

OK

eventsCount
integer
Example:

32

name
string
Example:

"England - Premier League"

slug
string
Example:

"england-premier-league"