Every match. Every rank. Free.
ATP & WTA matches with set-by-set scores, serve stats, and ML predictions. Live polling, weekly rankings, and an MCP server that drops into Claude, ChatGPT, Gemini. No credit card. No daily quota.
$ curl "/tennis/api/v2/matches/live/" // → 200 OK · 7 live [{ "player1": {"name": "Omar Rhazali"}, "player2": {"name": "Alexander Baez"}, "player1_sets": 0, "player2_sets": 1, "current_point": "30-40" }]
7 matches streaming
Match data, rankings, and ML predictions on a single token.
Every ATP/WTA match with set-by-set scores, serve stats, point-by-point progress on live ones, weekly rankings for both tours, and calibrated ML predictions on every upcoming match.
Live tennis, score and serve in real time.
Each live match returns the current_set, current_game_p1/p2, current_point (e.g. "40-30"), and is_serving_p1. Cached 30 seconds.
Per-match serve stats.
Aces, double faults, first serve %, points won on first/second serve. Both players, on the same response.
Per-set game scores.
Full breakdown of every set as [{p1, p2}, …], plus the running score on a live match.
Grand Slams to Challengers — every tier covered.
Filter by circuit=ATP|WTA, category (grand_slam, masters_1000, atp_500, wta_1000, …), or surface (hard, clay, grass).
Hard, clay, grass.
Surface stored on the tournament — useful for surface-conditioned models or filters.
ATP/WTA points awarded.
Ranking points up for grabs at each event, so you can model "must-win" weeks vs. low-stakes ones.
ATP & WTA, weekly snapshots.
Position, points, week-over-week delta, career best — both tours.
Movement, on every row.
Each ranking entry carries last week's position and points — see who's climbing and who's sliding.
Career bests on file.
Each player's all-time best ranking, persisted on the ranking row.
Calibrated XGBoost predictions on every upcoming match.
Match winner probability, expected total sets, expected total games, P(over 20.5/21.5/22.5 games), P(player 1 wins first set). Probabilities calibrated against historical accuracy.
Self-rated confidence.
Each prediction reports its confidence on a 0–100 scale, so you can filter for the model's strongest signals.
Totals, not just 1×2.
Markets beyond match winner: P(over 20.5 / 21.5 / 22.5 games), P(over 2.5 sets), P(player 1 wins first set).
Plug it into Claude, ChatGPT, or Gemini.
One config block, an /tennis/mcp/ endpoint and a free token. The LLM gets typed tools (list tournaments, search players, get rankings, predictions, …) and can answer in plain English.
$0. Forever.
No daily quota. No credit card. The whole API is on the same token as the rankings.
Five lines. Real data.
Pick your stack. Each snippet hits a live tennis endpoint with a real token — copy, paste, $ python, done.
# Live tennis matches with set-by-set scores curl -H "Authorization: Token YOUR_TOKEN" \ "https://sports.bzzoiro.com/tennis/api/v2/matches/live/"
Player profile, rotating daily
408 active tournaments — every tour, every surface.
Grand Slams, Masters 1000s, ATP/WTA 500s and 250s, Challengers, ITFs. Every match, every round, every score.