Base URL
https://api.sportsapipro.com/v2/football
For match-specific odds (pre-match, live, all markets), see Match Endpoints → Betting & Odds.
Endpoints
Featured Events with Odds
GET /api/odds/featured-events
Example response
Example response
Recorded 24 September 2026 from
GET /v2/football/odds/featured-events (lists trimmed to 2 items).{
"success": true,
"data": {
"featuredEvents": [
{
"eventState": {},
"tournament": {
"name": "Egyptian Second Division A",
"slug": "egyptian-second-division-a",
"category": {
"name": "Egypt",
"slug": "egypt",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"priority": 0,
"id": 305,
"flag": "egypt",
"alpha2": "EG",
"fieldTranslations": {
"nameTranslation": {
"ar": "مصر",
"ru": "Египет"
},
"shortNameTranslation": {}
}
},
"uniqueTournament": {
"name": "Egyptian Second Division A",
"slug": "egyptian-second-division-a",
"secondaryColorHex": "#ff0000",
"category": {
"name": "Egypt",
"slug": "egypt",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"priority": 0,
"id": 305,
"flag": "egypt",
"alpha2": "EG",
"fieldTranslations": {
"nameTranslation": {
"ar": "مصر",
"ru": "Египет"
},
"shortNameTranslation": {}
}
},
"userCount": 4446,
"liveActivityEnabled": false,
"id": 10536,
"displayInverseHomeAwayTeams": false,
"fieldTranslations": {
"nameTranslation": {
"ar": "الدوري المصري الدرجة الثانية (أ)",
"bn": "ইজিপ্টিয়ান সেকেন্ড ডিভিশন এ",
"hi": "इजिप्शियन सेकंड डिवीज़न ए",
"ru": "Второй дивизион A Египта"
},
"shortNameTranslation": {}
}
},
"priority": 0,
"isLive": false,
"id": 62018,
"fieldTranslations": {
"nameTranslation": {
"ar": "الدوري المصري الدرجة الثانية A",
"bn": "ইজিপ্টিয়ান 2nd ডিভিশন এ",
"hi": "इजिप्शियन सेकंड डिवीजन ए",
"ru": "Египетский Дивизион 2 A"
},
"shortNameTranslation": {}
}
},
"roundInfo": {
"round": 6
},
"customId": "cJWbsdJWb",
"status": {
"code": 6,
"description": "1st half",
"type": "inprogress"
},
"homeTeam": {
"name": "Ismailia Electricity Club",
"slug": "kahrabaa-ismailia-sc",
"shortName": "Ismailia EC",
"gender": "M",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"userCount": 5801,
"nameCode": "KIS",
"disabled": false,
"national": false,
"type": 0,
"id": 241702,
"teamColors": {
"primary": "#374df5",
"secondary": "#374df5",
"text": "#ffffff"
},
"fieldTranslations": {
"nameTranslation": {
"ar": "كهرباء الإسماعيلية ",
"ru": "Исмаилия Электричити Клуб"
},
"shortNameTranslation": {
"ar": "كهرباء الاسماعيلية",
"ru": "Исмаилия ЭК"
}
}
},
"awayTeam": {
"name": "Pharco FC",
"slug": "pharco-fc",
"shortName": "Pharco",
"gender": "M",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"userCount": 12427,
"nameCode": "PHA",
"disabled": false,
"national": false,
"type": 0,
"id": 241703,
"teamColors": {
"primary": "#014f9f",
"secondary": "#ffffff",
"text": "#ffffff"
},
"fieldTranslations": {
"nameTranslation": {
"ar": "فاركو",
"hi": "फार्को ऍफ़सी",
"ru": "Фарко ФК"
},
"shortNameTranslation": {
"ar": "فاركو",
"ru": "Фарко"
}
}
},
"homeScore": {
"current": 1,
"display": 1,
"period1": 1
},
"awayScore": {
"current": 1,
"display": 1,
"period1": 1
},
"id": 16601076,
"slug": "pharco-fc-ismailia-electricity-club",
"startTimestamp": 1790256600,
"finalResultOnly": false
}
]
}
}
Popular Events (Most Bet On)
GET /api/odds/popular-events
Example response
Example response
Recorded 24 September 2026 from
GET /v2/football/odds/popular-events (lists trimmed to 2 items).{
"success": true,
"data": {
"featuredEvents": [
{
"eventState": {},
"tournament": {
"name": "UEFA Nations League, League D, Gr. 1",
"slug": "uefa-nations-league-league-d-gr-1",
"category": {
"name": "Europe",
"slug": "europe",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"priority": 19,
"country": {},
"id": 1465,
"flag": "europe",
"fieldTranslations": {
"nameTranslation": {
"ar": "أوروبا",
"bn": "ইউরোপ",
"hi": "यूरोप",
"ru": "Европа"
},
"shortNameTranslation": {}
}
},
"uniqueTournament": {
"name": "UEFA Nations League",
"slug": "uefa-nations-league",
"primaryColorHex": "#3a4179",
"secondaryColorHex": "#e5a422",
"category": {
"name": "Europe",
"slug": "europe",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"priority": 19,
"country": {},
"id": 1465,
"flag": "europe",
"fieldTranslations": {
"nameTranslation": {
"ar": "أوروبا",
"bn": "ইউরোপ",
"hi": "यूरोप",
"ru": "Европа"
},
"shortNameTranslation": {}
}
},
"userCount": 282032,
"liveActivityEnabled": true,
"country": {},
"id": 10783,
"displayInverseHomeAwayTeams": false,
"fieldTranslations": {
"nameTranslation": {
"ar": "دوري أمم أوروبا",
"bn": "উয়েফা নেশনস লিগ",
"hi": "यूईएफए नेशंस लीग",
"ru": "Лига наций УЕФА"
},
"shortNameTranslation": {}
}
},
"priority": 758,
"isLive": false,
"id": 64378,
"fieldTranslations": {
"nameTranslation": {
"ar": "دوري الأمم الأوروبية، الدوري D، المجموعة 1",
"bn": "উয়েফা নেশনস লীগ, লীগ ডি, গ্র. 1",
"hi": "यूईएफए नेशंस लीग, लीग डी, ग्रेड 1",
"ru": "Лига наций УЕФА, Лига D, Группа 1"
},
"shortNameTranslation": {}
}
},
"roundInfo": {
"round": 1
},
"customId": "IObstWb",
"status": {
"code": 0,
"description": "Not started",
"type": "notstarted"
},
"homeTeam": {
"name": "Andorra",
"slug": "andorra",
"shortName": "Andorra",
"gender": "M",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"userCount": 16977,
"nameCode": "AND",
"ranking": 172,
"disabled": false,
"national": true,
"type": 0,
"country": {
"alpha2": "AD",
"alpha3": "AND",
"name": "Andorra",
"slug": "andorra"
},
"id": 4818,
"teamColors": {
"primary": "#cc0000",
"secondary": "#0054a9",
"text": "#0054a9"
},
"fieldTranslations": {
"nameTranslation": {
"ar": "أندورا",
"bn": "এন্ডোরা",
"hi": "एंडोरा",
"ru": "Андорра"
},
"shortNameTranslation": {}
}
},
"awayTeam": {
"name": "Malta",
"slug": "malta",
"shortName": "Malta",
"gender": "M",
"sport": {
"name": "Football",
"slug": "football",
"id": 1
},
"userCount": 22038,
"nameCode": "MLT",
"ranking": 161,
"disabled": false,
"national": true,
"type": 0,
"country": {
"alpha2": "MT",
"alpha3": "MLT",
"name": "Malta",
"slug": "malta"
},
"id": 4483,
"teamColors": {
"primary": "#ff0000",
"secondary": "#ffffff",
"text": "#ffffff"
},
"fieldTranslations": {
"nameTranslation": {
"ar": "مالطا",
"bn": "মাল্টা",
"hi": "माल्टा",
"ru": "Мальта"
},
"shortNameTranslation": {}
}
},
"homeScore": {},
"awayScore": {},
"id": 15537726,
"slug": "andorra-malta",
"startTimestamp": 1790265600,
"finalResultOnly": false
}
]
}
}
Odds Providers by Country
GET /api/odds/providers/{countryCode}
string
required
Two-letter country code in uppercase (e.g.,
GB, US, DE, NG).Example response
Example response
Recorded 24 September 2026 from
GET /v2/football/odds/providers/DE (lists trimmed to 2 items).{
"success": true,
"data": {
"providers": [
{
"provider": {
"name": "Letsbet Germany",
"slug": "letsbet-germany",
"defaultBetSlipLink": "https://letsbet.go.link/sports-betting/football?adj_t=24tcuqxw_24g58vp4&adj_campaign=match_detail&adj_adgroup=odds_logo&adj_creative=bulletin&adj_deep_link_i...",
"oddsFrom": {
"name": "bet365",
"slug": "bet365",
"defaultBetSlipLink": "https://www.bet365.com/hub/aff/open-account?affiliate=365_04034487",
"country": "international",
"id": 1,
"colors": {
"primary": "#017b5b"
},
"brandId": 1
},
"liveOddsFrom": {
"name": "bet365",
"slug": "bet365",
"defaultBetSlipLink": "https://www.bet365.com/hub/aff/open-account?affiliate=365_04034487",
"country": "international",
"id": 1,
"colors": {
"primary": "#017b5b"
},
"brandId": 1
},
"country": "DE",
"id": 2909,
"colors": {
"primary": "#316268"
},
"brandId": 644
},
"branded": true,
"weight": 100,
"featuredOddsType": "default",
"defaultBetSlipLink": "https://letsbet.go.link/sports-betting/football?adj_t=24tcuqxw_24g58vp4&adj_campaign=match_detail&adj_adgroup=odds_logo&adj_creative=bulletin&adj_deep_link_i...",
"betSlipLink": "https://letsbet.go.link/sports-betting/football?adj_t=24tcuqxw_24g58vp4&adj_campaign=match_detail&adj_adgroup=odds_logo&adj_creative=bulletin&adj_deep_link_i...",
"type": "web",
"campaignId": 3,
"fallbackProvider": {
"name": "bet365",
"slug": "bet365",
"defaultBetSlipLink": "https://www.bet365.com/hub/aff/open-account?affiliate=365_04034487",
"country": "international",
"id": 1,
"colors": {
"primary": "#017b5b"
},
"brandId": 1
},
"id": 31722,
"impressionCostEncrypted": "53mz2WFqJbXa37FTcY9VeNmxAD5JbJ8NjxU="
}
]
}
}
Featured Odds Providers
GET /api/odds/providers/{countryCode}/featured
Example response
Example response
Recorded 24 September 2026 from
GET /v2/football/odds/providers/DE/featured (lists trimmed to 2 items).{
"success": true,
"data": {
"providers": []
}
}
Web Odds Providers
GET /api/odds/providers/{countryCode}/odds
Example response
Example response
Recorded 24 September 2026 from
GET /v2/football/odds/providers/DE/odds (lists trimmed to 2 items).{
"success": true,
"data": {
"providers": [
{
"provider": {
"name": "Bwin Germany Affiliate",
"slug": "bwin-germany-affiliate",
"defaultBetSlipLink": "https://mediaserver.entainpartners.com/renderBanner.do?zoneId=2163316",
"oddsFrom": {
"name": "bet365",
"slug": "bet365",
"defaultBetSlipLink": "https://www.bet365.com/hub/aff/open-account?affiliate=365_04034487",
"country": "international",
"id": 1,
"colors": {
"primary": "#017b5b"
},
"brandId": 1
},
"liveOddsFrom": {
"name": "bet365",
"slug": "bet365",
"defaultBetSlipLink": "https://www.bet365.com/hub/aff/open-account?affiliate=365_04034487",
"country": "international",
"id": 1,
"colors": {
"primary": "#017b5b"
},
"brandId": 1
},
"country": "DE",
"id": 2319,
"colors": {
"primary": "#202024"
},
"brandId": 119
},
"branded": true,
"weight": 100,
"featuredOddsType": "default",
"defaultBetSlipLink": "https://mediaserver.entainpartners.com/renderBanner.do?zoneId=2163316",
"betSlipLink": "https://mediaserver.entainpartners.com/renderBanner.do?zoneId=2163316",
"type": "web-odds",
"campaignId": 4,
"fallbackProvider": {
"name": "bet365",
"slug": "bet365",
"defaultBetSlipLink": "https://www.bet365.com/hub/aff/open-account?affiliate=365_04034487",
"country": "international",
"id": 1,
"colors": {
"primary": "#017b5b"
},
"brandId": 1
},
"id": 26102,
"impressionCostEncrypted": "5mG72X9qJfP1xpneTaW/rjzWmDJldrs="
}
]
}
}
Example Requests
curl -X GET "https://api.sportsapipro.com/v2/football/odds/featured-events" \
-H "x-api-key: YOUR_API_KEY"
const featured = await fetch(
'https://api.sportsapipro.com/v2/football/odds/featured-events',
{ headers: { 'x-api-key': 'YOUR_API_KEY' } }
).then(r => r.json());
import requests
featured = requests.get(
'https://api.sportsapipro.com/v2/football/odds/featured-events',
headers={'x-api-key': 'YOUR_API_KEY'}
).json()
Example responses
Real responses recorded on 24 September 2026 from the Bundesliga (tournament35, season 97464), match SC Paderborn 07 3-1 TSG Hoffenheim (16434052). Long lists are shortened to the first items; field names and structure are unchanged.
Featured odds
Featured odds
curl -H "x-api-key: YOUR_API_KEY" "https://api.sportsapipro.com/v2/football/match/16434052/odds"
{
"success": true,
"matchId": 16434052,
"endpoint": "odds/1/featured",
"data": {
"featured": {
"default": {
"sourceId": 200550969,
"structureType": 1,
"marketId": 1,
"marketName": "Full time",
"isLive": false,
"fid": 200550969,
"suspended": false,
"id": 412186335,
"marketGroup": "1X2",
"marketPeriod": "Full-time",
"choices": [
{
"initialFractionalValue": "10/3",
"fractionalValue": "29/10",
"sourceId": 2042909934,
"name": "1",
"winning": true,
"change": -1
},
{
"initialFractionalValue": "31/10",
"fractionalValue": "16/5",
"sourceId": 2042909939,
"name": "X",
"winning": false,
"change": 1
}
]
},
"asian": {
"sourceId": 200550969,
"structureType": 1,
"marketId": 17,
"marketName": "Asian handicap",
"isLive": false,
"fid": 200550970,
"suspended": false,
"id": 418568122,
"marketGroup": "Asian Handicap",
"marketPeriod": "Full-time",
"choices": [
{
"initialFractionalValue": "41/40",
"fractionalValue": "7/8",
"sourceId": 2042909962,
"name": "(0.75) SC Paderborn 07",
"slipContent": "/?bs=200550970-2042909962~7/8~10",
"change": -1
},
{
"initialFractionalValue": "33/40",
"fractionalValue": "39/40",
"sourceId": 2042909970,
"name": "(-0.75) TSG Hoffenheim",
"slipContent": "/?bs=200550970-2042909970~39/40~10",
"change": 1
}
]
},
"fullTime": {
"sourceId": 200550969,
"structureType": 1,
"marketId": 1,
"marketName": "Full time",
"isLive": false,
"fid": 200550969,
"suspended": false,
"id": 412186335,
"marketGroup": "1X2",
"marketPeriod": "Full-time",
"choices": [
{
"initialFractionalValue": "10/3",
"fractionalValue": "29/10",
"sourceId": 2042909934,
"name": "1",
"winning": true,
"change": -1
},
{
"initialFractionalValue": "31/10",
"fractionalValue": "16/5",
"sourceId": 2042909939,
"name": "X",
"winning": false,
"change": 1
}
]
}
},
"hasMoreOdds": true,
"liveStreamUrl": null
},
"source": "live",
"cacheHit": true,
"timezone": {
"name": "Europe/Amsterdam",
"utcOffset": "+02:00",
"source": "auto",
"country": "NL"
}
}