Skip to main content
Logo
Explore APIsContact Us
  • Home
  • Match Preview
  • Tournament Preview
  • Virtual Stadium
  1. Resources
  2. Widgets
  3. BET Utility API

BET Utility API

The BET Utility API provides comprehensive sport entity information from Sportradar, including sports, tournaments, seasons, and fixtures. Use this data to:

  • Initialize BET widgets with accurate entity IDs
  • Create direct links to hosted solutions
  • Map between Sportradar and client sport entity IDs
  • Build custom sport data integrations
info

The BET Utility API is part of Sportradar's Sports API. For general information about authentication, pagination, and getting started, visit the Sportradar Developer Portal.

#Available APIs

Two APIs are currently available:

  • Coverage API - Sport entity data (sports, competitions, seasons, fixtures)
  • Mapping API - Match ID mapping between Sportradar and client systems

#Coverage API

The Coverage API provides sport entity data, including sport, competition, season, and fixture information. Use this data for:

  • BET product initialization
  • Generating hosted product links
  • Implementing entity ID mappings on the client side
note

This API replaces Sportradar's legacy MDP matchTree API.

#Sport Hierarchy Types

Sportradar uses two different sport hierarchy structures:

Competition → Season → Fixture

Most sports use this traditional hierarchy, including:

  • Soccer
  • Basketball
  • Tennis
  • Ice Hockey
  • Handball

These sports have isStage: false in the API response.

#Endpoints

#Sports

text
GET https://api.sportradar.com/bet-coverage/v1/en/sports.json

Returns a list of all available sports with their IDs and hierarchy types. Sport IDs are required for other endpoint requests.

View Request Example

text
https://api.sportradar.com/bet-coverage/v1/en/sports.json?api_key={apiKey}

View Response Example

json
{
    "generated_at": "2025-07-07T09:19:33+00:00",
    "sports": [
        {
            "id": "sr:sport:1",
            "name": "Soccer",
            "isStage": false
        },
        {
            "id": "sr:sport:2",
            "name": "Basketball",
            "isStage": false
        },
        {
            "id": "sr:sport:3",
            "name": "Baseball",
            "isStage": false
        },
        {
            "id": "sr:sport:4",
            "name": "Ice Hockey",
            "isStage": false
        },
        {
            "id": "sr:sport:5",
            "name": "Tennis",
            "isStage": false
        },
        {
            "id": "sr:sport:40",
            "name": "Formula 1",
            "isStage": true
        },
        {
            "id": "sr:sport:43",
            "name": "Alpine Skiing",
            "isStage": true
        },
        {
            "id": "sr:sport:48",
            "name": "Ski Jumping",
            "isStage": true
        },
        {
            "id": "sr:sport:67",
            "name": "MotoGP",
            "isStage": true
        }
    ]
}

#Tournaments

text
GET https://api.sportradar.com/bet-coverage/v1/en/sports/{sport_id}/tournaments.json

Returns all tournaments (competitions) for a specified sport ID.

Parameters:

  • sport_id - Sport ID from the Sports endpoint (e.g., sr:sport:1)

View Request Example

text
https://api.sportradar.com/bet-coverage/v1/en/sports/sr:sport:1/tournaments.json?api_key={apiKey}

View Response Example

json
{
    "generated_at": "2025-07-07T09:24:53+00:00",
    "sport_tournaments": [
        {
            "id": "sr:tournament:7",
            "name": "UEFA Champions League",
            "category": {
                "id": "sr:category:393",
                "name": "International Clubs"
            },
            "season": {
                "id": "sr:season:131129",
                "name": "UEFA Champions League 25/26",
                "startDate": "2025-07-08",
                "endDate": "2026-05-31",
                "year": "25/26"
            }
        },
        {
            "id": "sr:tournament:8",
            "name": "LaLiga",
            "category": {
                "id": "sr:category:32",
                "name": "Spain",
                "countryCode": "SPA"
            },
            "season": {
                "id": "sr:season:130805",
                "name": "LaLiga 25/26",
                "startDate": "2025-08-17",
                "endDate": "2026-05-24",
                "year": "25/26"
            }
        },
        {
            "id": "sr:tournament:17",
            "name": "Premier League",
            "category": {
                "id": "sr:category:1",
                "name": "England",
                "countryCode": "ENG"
            },
            "season": {
                "id": "sr:season:130281",
                "name": "Premier League 25/26",
                "startDate": "2025-08-15",
                "endDate": "2026-05-24",
                "year": "25/26"
            }
        },
        ...
    ]
}

#Daily Schedule

text
GET https://api.sportradar.com/bet-coverage/v1/en/sports/{sport_id}/schedules/{date}/schedule.json

Returns daily fixtures grouped by tournaments for a specific date and sport.

Parameters:

  • sport_id - Sport ID from the Sports endpoint
  • date - Date in YYYY-MM-DD format

View Request Example

text
https://api.sportradar.com/bet-coverage/v1/en/sports/sr:sport:1/schedules/2025-04-12/schedule.json?api_key={apiKey}

View Response Example

json
{
    "generated_at": "2025-07-07T09:56:35+00:00",
    "sport_schedule_tournaments": [
        {
            "id": "sr:tournament:23",
            "name": "Serie A",
            "category": {
                "id": "sr:category:31",
                "name": "Italy",
                "countryCode": "ITA"
            },
            "season": {
                "id": "sr:season:130971",
                "name": "Serie A 25/26",
                "startDate": "2025-08-23",
                "endDate": "2026-05-25",
                "year": "25/26"
            },
            "matches": [
                {
                    "id": "sr:match:51273445",
                    "startTime": "2025-04-12 13:00:00",
                    "homeTeamId": "sr:competitor:2688",
                    "homeTeamName": "VENEZIA FC",
                    "betradarHomeTeamId": "sr:simple_team:32869",
                    "awayTeamId": "sr:competitor:2729",
                    "awayTeamName": "AC MONZA",
                    "betradarAwayTeamId": "sr:simple_team:16183030",
                    "simpleTournamentId": "sr:simple_tournament:33",
                    "coverage": {
                        "lmt": 4,
                        "insights": true
                    }
                },
                ...
            ]
        },
        {
            "id": "sr:tournament:35",
            "name": "Bundesliga",
            "category": {
                "id": "sr:category:30",
                "name": "Germany",
                "countryCode": "GER"
            },
            "season": {
                "id": "sr:season:130571",
                "name": "Bundesliga 25/26",
                "startDate": "2025-08-22",
                "endDate": "2026-05-26",
                "year": "25/26"
            },
            "matches": [
                {
                    "id": "sr:match:51269515",
                    "startTime": "2025-04-12 13:30:00",
                    "homeTeamId": "sr:competitor:2681",
                    "homeTeamName": "BAYER LEVERKUSEN",
                    "betradarHomeTeamId": "sr:simple_team:5089",
                    "awayTeamId": "sr:competitor:2547",
                    "awayTeamName": "UNION BERLIN",
                    "betradarAwayTeamId": "sr:simple_team:7114236",
                    "simpleTournamentId": "sr:simple_tournament:42",
                    "coverage": {
                        "lmt": 4,
                        "insights": true
                    }
                },
                ...
            ]
        },
        ...
    ]
}

#Tournament Schedule

text
GET https://api.sportradar.com/bet-coverage/v1/en/tournaments/{tournament_id}/schedule.json

Returns the complete schedule for a specific tournament.

Parameters:

  • tournament_id - Tournament ID from the Tournaments endpoint
tip

This endpoint is particularly useful for stage sports like Formula 1, where you need the full event hierarchy.

View Request Example

text
https://api.sportradar.com/bet-coverage/v1/en/sports/sr:sport:40/stages.json?api_key={apiKey}

View Response Example

json
{
    "generated_at": "2025-07-07T10:29:47+00:00",
    "stages": [
        {
            "category": {
                "id": "sr:category:36",
                "name": "Formula 1"
            },
            "stages": [
                {
                    "id": "sr:stage:1189125",
                    "name": "Australian Grand Prix 2025",
                    "type": "event",
                    "startTime": "2025-03-14 01:30:00",
                    "stages": [
                        {
                            "id": "sr:stage:1189127",
                            "name": "Practice 1",
                            "type": "practice",
                            "startTime": "2025-03-14 01:30:00"
                        },
                        {
                            "id": "sr:stage:1189129",
                            "name": "Practice 2",
                            "type": "practice",
                            "startTime": "2025-03-14 05:00:00"
                        },
                        {
                            "id": "sr:stage:1189131",
                            "name": "Practice 3",
                            "type": "practice",
                            "startTime": "2025-03-15 01:30:00"
                        },
                        {
                            "id": "sr:stage:1189133",
                            "name": "Qualification",
                            "type": "qualifying",
                            "startTime": "2025-03-15 05:00:00"
                        },
                        {
                            "id": "sr:stage:1189139",
                            "name": "Race",
                            "type": "race",
                            "startTime": "2025-03-16 04:00:00"
                        }
                    ]
                }
            ]
        },
        ...
    ]
}

#Sport Stages

text
GET https://api.sportradar.com/bet-coverage/v1/en/sports/{sport_id}/stages.json

Returns all stages for a stage-based sport (sports with isStage: true).

Parameters:

  • sport_id - Stage sport ID from the Sports endpoint (e.g., sr:sport:40 for Formula 1)
warning

This endpoint only works for stage sports (Formula 1, MotoGP, Alpine Skiing, etc.). Use the Daily Schedule endpoint for classic sports.

View Request Example

text
https://api.sportradar.com/bet-coverage/v1/en/sports/sr:sport:40/stages.json?api_key={apiKey}

View Response Example

json
{
    "generated_at": "2025-07-07T10:29:47+00:00",
    "stages": [
        {
            "category": {
                "id": "sr:category:36",
                "name": "Formula 1"
            },
            "stages": [
                {
                    "id": "sr:stage:1189125",
                    "name": "Australian Grand Prix 2025",
                    "type": "event",
                    "startTime": "2025-03-14 01:30:00",
                    "stages": [
                        {
                            "id": "sr:stage:1189127",
                            "name": "Practice 1",
                            "type": "practice",
                            "startTime": "2025-03-14 01:30:00"
                        },
                        {
                            "id": "sr:stage:1189129",
                            "name": "Practice 2",
                            "type": "practice",
                            "startTime": "2025-03-14 05:00:00"
                        },
                        {
                            "id": "sr:stage:1189131",
                            "name": "Practice 3",
                            "type": "practice",
                            "startTime": "2025-03-15 01:30:00"
                        },
                        {
                            "id": "sr:stage:1189133",
                            "name": "Qualification",
                            "type": "qualifying",
                            "startTime": "2025-03-15 05:00:00"
                        },
                        {
                            "id": "sr:stage:1189139",
                            "name": "Race",
                            "type": "race",
                            "startTime": "2025-03-16 04:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

#Stage Daily Schedule

text
GET https://api.sportradar.com/bet-coverage/v1/en/sports/{sport_id}/schedules/{date}/stage_schedule.json

Returns daily stage events for a stage-based sport on a specific date.

Parameters:

  • sport_id - Stage sport ID from the Sports endpoint
  • date - Date in YYYY-MM-DD format

View Request Example

text
https://api.sportradar.com/bet-coverage/v1/en/sports/sr:sport:40/schedules/2025-03-14/stage_schedule.json?api_key={apiKey}

View Response Example

json
{
    "generated_at": "2025-07-07T10:51:21+00:00",
    "stages": [
        {
            "category": {
                "id": "sr:category:36",
                "name": "Formula 1"
            },
            "stages": [
                {
                    "id": "sr:stage:1189125",
                    "name": "Australian Grand Prix 2025",
                    "type": "event",
                    "startTime": "2025-03-14 01:30:00",
                    "stages": [
                        {
                            "id": "sr:stage:1189127",
                            "name": "Practice 1",
                            "type": "practice",
                            "startTime": "2025-03-14 01:30:00"
                        },
                        {
                            "id": "sr:stage:1189129",
                            "name": "Practice 2",
                            "type": "practice",
                            "startTime": "2025-03-14 05:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

#Mapping API

The Mapping API provides match ID mappings between Sportradar's match IDs and your client's match IDs.

#How It Works

  1. Client fixtures are ingested into Sportradar's mapping system via automated crawlers
  2. System comparison matches client fixtures with Sportradar's fixture database
  3. Mappings generated and made available through the API
  4. Real-time updates as new matches are added or updated
note

This API replaces Sportradar's legacy SourceJoin service with improved performance and reliability.

#Endpoint

#Match ID Mappings

text
GET https://api.sportradar.com/bet-mapping/v1/en/match_mappings/{client_mapping_id}/entities.json

Returns Sportradar-to-client match ID mappings.

Parameters:

  • client_mapping_id - Your client mapping identifier
  • start (optional) - Offset for pagination (default: 0)
Pagination

This endpoint returns a maximum of 100 entities per request. Pagination information is provided in response headers:

  • X-Offset - Current offset
  • X-Result - Number of results in current response
  • X-Max-Results - Total available results

View Request Example

text
https://api.sportradar.com/bet-mapping/v1/en/match_mappings/{client_mapping_id}/entities.json?api_key={apiKey}&start=100

View Response Example

json
{
    "generated_at": "2025-07-07T11:19:02+00:00",
    "match_mappings": [
        {
            "sportradarId": "58244491",
            "externalId": "1024185935",
            "lastUpdated": "2025-07-07 01:41:00"
        },
        {
            "sportradarId": "58244933",
            "externalId": "1024132454",
            "lastUpdated": "2025-07-06 21:25:59"
        },
        {
            "sportradarId": "58245303",
            "externalId": "1024185936",
            "lastUpdated": "2025-07-06 21:25:59"
        },
        {
            "sportradarId": "58315137",
            "externalId": "1022949212",
            "lastUpdated": "2025-07-02 00:07:44"
        }
    ]
}
Last updated 2 months ago
Is this site helpful?
Widgets, Engagement Tools
Global SIR APIJSON Web Token (JWT)
On this page
  • Available APIs
  • Coverage API
  • Sport Hierarchy Types
  • Endpoints
  • Mapping API
  • How It Works
  • Endpoint