
All of Bet365's pre-match markets for one upcoming game by its Bet365 id (FI), grouped in sections (main, asian_lines, goals, half, corners... depending on the sport): each market has a name and its outcomes with decimal odds, a header (1, Draw, 2, Over, Under) and a handicap or line. 1 request a game.
1 live route on Web / SEO, from $0.00 per call. Every route below answered our last live test on 2026-10-22; the gateway re-tests them daily.
The upstream price you are metered at, cheapest first. A route without a published price says so.
| Provider | Endpoint | Price |
|---|---|---|
betsapi2RapidAPI listing | Bet365 PreMatch OddsGET v3/bet365/prematch | $0.00$0.0e+00 / 1k calls |
From a real call to the route: betsapi2.
results[].main.spthe main markets keyed by market (full_time_result, goals_over_under, correct_score...)results[].main.sp.full_time_result.odds[].oddsdecimal oddsresults[].main.sp.full_time_result.odds[].nameoutcome: 1, Draw, 2results[].asian_lines.spAsian handicap and goal line marketsresults[].main.updated_atwhen the section's odds last changed, unix secondsHTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
| Parameter | Type | Notes | |
|---|---|---|---|
| FI | number · query | required | e.g. 203346577 |
curl "https://fetchapi.co/api/gw/rapidapi-betsapi2/v3/bet365/prematch?FI=203346577" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-betsapi2.bet365_prematch_odds", {"FI": "203346577"}){
"results": [
{
"FI": "203346577",
"main": {
"sp": {
"draw_no_bet": {
"id": "10544",
"name": "Draw No Bet",
"odds": [
"…",
"…"
]
},
"correct_score": {
"id": "43",
"name": "Correct Score",
"odds": [
"…",
"…",
"… 2 more"
]
},
"double_chance": {
"id": "10114",
"name": "Double Chance",
"odds": []
},
"full_time_result": {
"id": "40",
"name": "Full Time Result",
"odds": [
"…",
"…",
"… 1 more"
]
},
"goals_over_under": {
"id": "981",
"name": "Goals Over/Under",
"odds": [
"…",
"…"
]
}
},
"key": "#AC#B1#C1#D8#E203346577#F3#I1#",
"updated_at": "1792694097"
},
"result": {
"sp": {
"draw_no_bet": {
"id": "10544",
"name": "Draw No Bet",
"odds": [
"…",
"…"
]
},
"correct_score": {
"id": "43",
"name": "Correct Score",
"odds": [
"…",
"…",
"… 2 more"
]
},
"double_chance": {
"id": "10114",
"name": "Double Chance",
"odds": []
},
"full_time_result": {
"id": "40",
"name": "Full Time Result",
"odds": [
"…",
"…",
"… 1 more"
]
}
},
"key": "#AC#B1#C1#D8#E203346577#F3#I18#",
"updated_at": "1792692512"
},
"event_id": "13339816",
"schedule": {
"sp": {
"main": [
{
"id": "…",
"odds": "…"
},
{
"id": "…",
"odds": "…"
},
"… 1 more"
]
},
"key": "#AC#B1#C1#D8#E203346577#F3#I1#",
"updated_at": "1792694640"
},
"sport_id": "1",
"asian_lines": {
"sp": {
"goal_line": {
"id": "10143",
"name": "Goal Line",
"odds": [
"…",
"…"
]
},
"asian_handicap": {
"id": "938",
"name": "Asian Handicap",
"odds": [
"…",
"…"
]
},
"1st_half_goal_line": {
"id": "50136",
"name": "1st Half Goal Line",
"odds": []
},
"1st_half_asian_handicap": {
"id": "50137",
"name": "1st Half Asian Handicap",
"odds": []
}
},
"key": "#AC#B1#C1#D8#E203346577#F3#I3#",
"updated_at": "1792691208"
}
}
],
"success": 1
}Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.