Events API
Ended Events
GET
/v3/events/endedEvents that have finished, been postponed or been cancelled.
Parameters
Send every parameter in the query string, including token.
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | Required | Your API token. |
| sport_id | integer | Required | R-SportID. |
| league_id | string | Optional | Only return this league. |
| team_id | string | Optional | Only return this team's events. |
| cc | string | Optional | R-Countries, e.g. 'co' for Colombia. |
| day | string | Optional | Format YYYYMMDD, e.g. 20260911. |
| skip_esports | boolean | Optional | Skip Esoccer, Ebasketball etc. in the result. |
| page | integer | Optional | R-Pager. Maximum page is 100. |
Notes
Max page is 100. To walk through history, use the day parameter instead of paging.
Request
Call https://api.odds-data-api.com/v3/events/ended with your token. The examples read it from the ODDS_DATA_API_TOKEN environment variable.
curl "https://api.odds-data-api.com/v3/events/ended?sport_id=1&day=20260911&token=$ODDS_DATA_API_TOKEN"Response
JSON with success: 1 and results. Values are strings unless shown otherwise. See Response format and R-Pager.
application/json
{
"success": 1,
"pager": {
"page": 1,
"per_page": 50,
"total": 264
},
"results": [
{
"id": "8198402",
"sport_id": "1",
"time": "1789066800",
"time_status": "3",
"league": {
"id": "10041282",
"name": "England Premier League",
"cc": "gb"
},
"home": {
"id": "10200",
"name": "Arsenal",
"image_id": null,
"cc": "gb"
},
"away": {
"id": "10209",
"name": "Liverpool",
"image_id": null,
"cc": "gb"
},
"ss": "1-1",
"scores": {
"1": {
"home": "0",
"away": "1"
},
"2": {
"home": "1",
"away": "1"
}
},
"bet365_id": "158198402"
}
]
}Errors
A failed call returns success: 0 with an error code. This endpoint can return:
| error | Meaning |
|---|---|
| NOT_FOUND | 404 Not Found. |
| AUTHORIZE_FAILED | Token is not provided or is incorrect. |
| TOO_MANY_REQUESTS | API rate limit exceeded. See X-RateLimit-Reset. |
| PERMISSION_DENIED | Your plan does not include this call. Contact support if this is wrong. |
| PARAM_REQUIRED | A required param is missing. Check error_detail. |
| PARAM_INVALID | A param is invalid. Check error_detail. |
Failed call · application/json
{
"success": 0,
"error": "PARAM_REQUIRED",
"error_detail": "sport_id"
}Like every endpoint, it can also return INTERNAL_SERVER_ERROR, METHOD_NOT_ALLOWED and UNDER_MAINTENANCE. See R-Errors.
Try it
GET
https://api.odds-data-api.com/v3/events/ended?sport_id=1&day=20260911&token=YOUR-TOKEN- sport_id
- 1
- day
- 20260911
- token
- YOUR-TOKEN (from the dashboard)
Requests run with your own token and count toward your hourly limit.
