API de BetTune
BetTune API
Documentación interactiva de la API externa de BetTune: descubrir partidos, leer filtros de predicción y gestionar cuotas de predicción.
Descargar esquema OpenAPIURL base de la API pública
https://ovaccess.com/bet-tune-api/v1Token API
Puedes crear o regenerar tu token API en la página Settings de BetTune.
Abrir Settings de BetTuneSolo suscripción PRO
La API de BetTune está disponible solo para usuarios con una suscripción PRO activa.
Autenticación
Authorization: Bearer tu_bettune_api_tokenEndpoints
Abre un endpoint para ver parámetros, body, respuestas, ejemplos y esquemas.
get/sportsList available sports
Sports
get
/sportsList available sports
Respuestas
200 Available sports.
object
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 1
namerequerido
string
ejemplo: "football"
{
"count": 1,
"items": [
{
"id": 1,
"name": "football"
}
]
}401 Missing or invalid API token.
object
coderequerido
string
messagerequerido
string
{
"code": "missing_token",
"message": "No token provided"
}429 Rate limit exceeded.
object
coderequerido
string
messagerequerido
string
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Window
get/matchesList matches for one UTC date
Matches
get
/matchesList matches for one UTC date
Parámetros
| Nombre | En | Requerido | Tipo | Descripción |
|---|---|---|---|---|
| date | query | Sí | string:date | UTC date in `YYYY-MM-DD` format. |
| sport | query | Sí | integer | Sport id. Currently only football is exposed by `/sports`. |
Respuestas
200 Matches for the requested UTC date.
object
daterequerido
string:date
ejemplo: "2026-06-06"
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 1611243
daterequerido
string:date-time
ejemplo: "2026-06-06T18:00:00+00:00"
finishedrequerido
boolean
ejemplo: false
scorerequerido
object
countryrequerido
object
tournamentrequerido
object
seasonrequerido
object
homerequerido
object
awayrequerido
object
400 Invalid query parameters.
object
coderequerido
string
messagerequerido
string
{
"code": "date_invalid",
"message": "Invalid or missing date. Expected format: YYYY-MM-DD"
}401 Missing or invalid API token.
object
coderequerido
string
messagerequerido
string
{
"code": "missing_token",
"message": "No token provided"
}429 Rate limit exceeded.
object
coderequerido
string
messagerequerido
string
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Window
get/prediction-filtersList prediction filters
Prediction Filters
get
/prediction-filtersList prediction filters
Respuestas
200 Prediction-based filters for the current API token user.
object
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 11583
namerequerido
string
ejemplo: "Manual football"
sportrequerido
object
betTyperequerido
string
ejemplo: "Home"
statusrequerido
string
ejemplo: "approved"
enum: disabled, approved
401 Missing or invalid API token.
object
coderequerido
string
messagerequerido
string
{
"code": "missing_token",
"message": "No token provided"
}429 Rate limit exceeded.
object
coderequerido
string
messagerequerido
string
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Window
post/predictions/searchSearch existing predictions
Predictions
post
/predictions/searchSearch existing predictions
Body de la petición
object
filterIdrequerido
integer
ejemplo: 11583
matchIdsrequerido
array<integer>
ejemplo: [1611243,1611244]
{
"filterId": 11583,
"matchIds": [
1611243,
1611244
]
}Respuestas
200 Existing predictions for requested matches.
object
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 10
filterIdrequerido
integer
ejemplo: 11583
matchIdrequerido
integer
ejemplo: 1611243
oddsrequerido
string
ejemplo: "2.150000"
sourcerequerido
string
ejemplo: "api"
enum: api, ui
createdAtrequerido
string:date-time
ejemplo: "2026-06-06T12:00:00+00:00"
updatedAtrequerido
string:date-time
ejemplo: "2026-06-06T12:05:00+00:00"
400 Validation error.
object
coderequerido
string
messagerequerido
string
{
"code": "invalid_json_body",
"message": "Invalid JSON body"
}401 Missing or invalid API token.
object
coderequerido
string
messagerequerido
string
{
"code": "missing_token",
"message": "No token provided"
}403 The current user cannot access this resource.
object
coderequerido
string
messagerequerido
string
{
"code": "pro_subscription_required",
"message": "Prediction-based filters are available only for PRO subscription"
}404 Filter or match not found.
object
coderequerido
string
messagerequerido
string
{
"code": "filter_not_found",
"message": "Filter not found"
}429 Rate limit exceeded.
object
coderequerido
string
messagerequerido
string
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Window
put/prediction-filters/{filterId}/matches/{matchId}/predictionCreate or update prediction odds
Predictions
put
/prediction-filters/{filterId}/matches/{matchId}/predictionCreate or update prediction odds
Parámetros
| Nombre | En | Requerido | Tipo | Descripción |
|---|---|---|---|---|
| filterId | path | Sí | integer | - |
| matchId | path | Sí | integer | - |
Body de la petición
object
oddsrequerido
string | number
ejemplo: "2.15"
{
"odds": "2.15"
}Respuestas
200 Created or updated prediction.
object
idrequerido
integer
ejemplo: 10
filterIdrequerido
integer
ejemplo: 11583
matchIdrequerido
integer
ejemplo: 1611243
oddsrequerido
string
ejemplo: "2.150000"
sourcerequerido
string
ejemplo: "api"
enum: api, ui
createdAtrequerido
string:date-time
ejemplo: "2026-06-06T12:00:00+00:00"
updatedAtrequerido
string:date-time
ejemplo: "2026-06-06T12:05:00+00:00"
400 Validation error.
object
coderequerido
string
messagerequerido
string
{
"code": "invalid_json_body",
"message": "Invalid JSON body"
}401 Missing or invalid API token.
object
coderequerido
string
messagerequerido
string
{
"code": "missing_token",
"message": "No token provided"
}403 The current user cannot access this resource.
object
coderequerido
string
messagerequerido
string
{
"code": "pro_subscription_required",
"message": "Prediction-based filters are available only for PRO subscription"
}404 Filter or match not found.
object
coderequerido
string
messagerequerido
string
{
"code": "filter_not_found",
"message": "Filter not found"
}429 Rate limit exceeded.
object
coderequerido
string
messagerequerido
string
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Window
delete/prediction-filters/{filterId}/matches/{matchId}/predictionDelete prediction
Predictions
delete
/prediction-filters/{filterId}/matches/{matchId}/predictionDelete prediction
Parámetros
| Nombre | En | Requerido | Tipo | Descripción |
|---|---|---|---|---|
| filterId | path | Sí | integer | - |
| matchId | path | Sí | integer | - |
Respuestas
204 Prediction deleted. The endpoint is idempotent.
400 Validation error.
object
coderequerido
string
messagerequerido
string
{
"code": "invalid_json_body",
"message": "Invalid JSON body"
}401 Missing or invalid API token.
object
coderequerido
string
messagerequerido
string
{
"code": "missing_token",
"message": "No token provided"
}403 The current user cannot access this resource.
object
coderequerido
string
messagerequerido
string
{
"code": "pro_subscription_required",
"message": "Prediction-based filters are available only for PRO subscription"
}404 Filter or match not found.
object
coderequerido
string
messagerequerido
string
{
"code": "filter_not_found",
"message": "Filter not found"
}429 Rate limit exceeded.
object
coderequerido
string
messagerequerido
string
{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded"
}Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Window
Esquemas
ErrorResponse
object
coderequerido
string
messagerequerido
string
SportsResponse
object
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 1
namerequerido
string
ejemplo: "football"
Sport
object
idrequerido
integer
ejemplo: 1
namerequerido
string
ejemplo: "football"
MatchesResponse
object
daterequerido
string:date
ejemplo: "2026-06-06"
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 1611243
daterequerido
string:date-time
ejemplo: "2026-06-06T18:00:00+00:00"
finishedrequerido
boolean
ejemplo: false
scorerequerido
object
countryrequerido
object
tournamentrequerido
object
seasonrequerido
object
homerequerido
object
awayrequerido
object
Match
object
idrequerido
integer
ejemplo: 1611243
daterequerido
string:date-time
ejemplo: "2026-06-06T18:00:00+00:00"
finishedrequerido
boolean
ejemplo: false
scorerequerido
object
countryrequerido
object
tournamentrequerido
object
seasonrequerido
object
homerequerido
object
awayrequerido
object
Score
object
homerequerido
integer
ejemplo: null
awayrequerido
integer
ejemplo: null
IdName
object
idrequerido
integer
namerequerido
string
PredictionFiltersResponse
object
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 11583
namerequerido
string
ejemplo: "Manual football"
sportrequerido
object
betTyperequerido
string
ejemplo: "Home"
statusrequerido
string
ejemplo: "approved"
enum: disabled, approved
PredictionFilter
object
idrequerido
integer
ejemplo: 11583
namerequerido
string
ejemplo: "Manual football"
sportrequerido
object
betTyperequerido
string
ejemplo: "Home"
statusrequerido
string
ejemplo: "approved"
enum: disabled, approved
SearchPredictionsRequest
object
filterIdrequerido
integer
ejemplo: 11583
matchIdsrequerido
array<integer>
ejemplo: [1611243,1611244]
PutPredictionRequest
object
oddsrequerido
string | number
ejemplo: "2.15"
PredictionsResponse
object
countrequerido
integer
itemsrequerido
array<object>
object
idrequerido
integer
ejemplo: 10
filterIdrequerido
integer
ejemplo: 11583
matchIdrequerido
integer
ejemplo: 1611243
oddsrequerido
string
ejemplo: "2.150000"
sourcerequerido
string
ejemplo: "api"
enum: api, ui
createdAtrequerido
string:date-time
ejemplo: "2026-06-06T12:00:00+00:00"
updatedAtrequerido
string:date-time
ejemplo: "2026-06-06T12:05:00+00:00"
Prediction
object
idrequerido
integer
ejemplo: 10
filterIdrequerido
integer
ejemplo: 11583
matchIdrequerido
integer
ejemplo: 1611243
oddsrequerido
string
ejemplo: "2.150000"
sourcerequerido
string
ejemplo: "api"
enum: api, ui
createdAtrequerido
string:date-time
ejemplo: "2026-06-06T12:00:00+00:00"
updatedAtrequerido
string:date-time
ejemplo: "2026-06-06T12:05:00+00:00"