BetMines APIbetmines.com ↗
Access daily football draw predictions from BetMines. Filter by date and minimum draw probability. Returns team names, league, odds, and live scores.
What is the BetMines API?
The BetMines API exposes one endpoint — get_daily_draw_predictions — that returns football matches ranked by their statistical likelihood of ending in a draw. Each response includes up to 9 data fields per match: team names, league, home/draw/away probabilities, betting odds, and live score data when available. You can query any date in YYYY-MM-DD format and filter results by a minimum draw probability threshold.
curl -X GET 'https://api.parse.bot/scraper/3bb03505-19cd-420c-ba26-bdf644a6dfe3/get_daily_draw_predictions?date=2026-09-03' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace betmines-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: BetMines draw predictions — fetch today's likely draws."""
from parse_apis.betmines_com_api import BetMines, InvalidDateFormat
client = BetMines()
# Fetch today's draw predictions with a higher-than-default threshold.
try:
prediction = client.predictions.get(min_draw_probability=30)
except InvalidDateFormat:
raise SystemExit("Invalid date format — use YYYY-MM-DD.")
print(f"{prediction.date}: {prediction.total_matches} matches above {prediction.min_draw_probability}% draw probability")
# Walk the top-5 matches (already sorted by draw probability descending).
for match in prediction.matches[:5]:
print(
f" {match.home_team} vs {match.away_team} ({match.league_name})"
f" — draw {match.draw_probability}% home {match.home_probability}% away {match.away_probability}%"
)
if match.draw_odds is not None:
print(f" odds: draw {match.draw_odds} home {match.home_odds} away {match.away_odds}")
print("exercised: predictions.get")
Returns football matches for a given date that are predicted to end in a draw, sorted by draw probability (highest first). Each match includes team names, league, prediction probabilities (home/draw/away), odds, and live score data when available. By default returns today's matches with draw probability >= 25%. The upstream API returns all matches for the day and the scraper filters to those meeting the minimum draw probability threshold.
| Param | Type | Description |
|---|---|---|
| date | string | Date to fetch draw predictions for, in ISO YYYY-MM-DD format (e.g. 2026-09-03). When omitted, defaults to today's date (UTC). |
| min_draw_probability | integer | Minimum draw probability percentage (0-100) to include a match. Matches with draw probability below this threshold are excluded. |
{
"type": "object",
"fields": {
"date": "string — the date queried in YYYY-MM-DD format",
"matches": "array of match objects sorted by draw probability descending",
"total_matches": "integer — number of matches meeting the draw probability threshold",
"min_draw_probability": "integer — the minimum draw probability filter applied"
},
"sample": {
"data": {
"date": "2026-09-03",
"matches": [
{
"minute": null,
"away_odds": null,
"away_team": "Tormenta",
"date_time": "2026-09-03T00:30:00Z",
"draw_odds": null,
"home_odds": null,
"home_team": "Corpus Christi",
"league_id": 1607,
"away_score": null,
"fixture_id": 19622810,
"home_score": null,
"prediction": "U25",
"league_name": "USL League One",
"away_team_id": 150514,
"home_team_id": 150508,
"match_status": "CANCL",
"away_team_logo": "https://cdn.sportmonks.com/images/soccer/team_placeholder.png",
"home_team_logo": "https://cdn.sportmonks.com/images/soccer/teams/12/150508.png",
"away_probability": 29,
"draw_probability": 43,
"home_probability": 28
}
],
"total_matches": 8,
"min_draw_probability": 30
},
"status": "success"
}
}About the BetMines API
What the API Returns
The get_daily_draw_predictions endpoint returns a list of football matches for a given date, ordered from highest to lowest draw probability. The top-level response includes the queried date, a total_matches count, and the min_draw_probability filter that was applied. Each object in the matches array carries team names, the competition or league, and a probability breakdown across three outcomes: home win, draw, and away win.
Filtering and Date Selection
The date parameter accepts ISO-format strings (e.g. 2026-09-03). When omitted, the endpoint defaults to today's date. The min_draw_probability parameter takes an integer between 0 and 100 and removes any match whose draw probability falls below that value. For example, setting it to 50 limits results to matches where BetMines estimates a coin-flip or better chance of a draw. Both parameters are optional and independent.
Odds and Live Data
Beyond probabilities, each match object includes betting odds for all three outcomes. When a match is in progress, the response also surfaces live score data. This makes the endpoint usable both for pre-match analysis and for monitoring ongoing fixtures that were originally flagged as draw candidates.
Data Scope
BetMines covers football (soccer) matches across multiple leagues and competitions globally. The statistical model is refreshed daily, so predictions for a given date reflect the analysis available at the time of the request. Historical dates are also queryable via the date parameter.
The BetMines API is a managed, monitored endpoint for betmines.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when betmines.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official betmines.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a daily draw betting digest that shows only matches with draw probability above a chosen threshold
- Compare BetMines draw probabilities against bookmaker odds to identify value bets
- Track whether high-draw-probability matches actually end in draws by logging predictions alongside live score data
- Populate a football analytics dashboard with per-match home/draw/away probability breakdowns
- Alert users when a live match was originally flagged as a high-probability draw and is currently in progress
- Aggregate draw predictions across multiple dates to study probability calibration over a season
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does BetMines have an official public developer API?+
What does the `min_draw_probability` parameter actually filter on?+
matches array. The applied filter value is echoed back in the response as min_draw_probability, and total_matches reflects the count after filtering.When is live score data available in the response?+
Does the API cover other prediction types beyond draws, such as both-teams-to-score or over/under goals?+
How far back can historical date queries go?+
date parameter accepts any past date in YYYY-MM-DD format, but coverage depends on what BetMines has retained in its historical data. Very old dates may return empty or partial results. Querying recent dates — within the current season — is the most reliable use case.