The data others gate. Free.
Per-shot xG with coordinates. Ball trajectories every 5 seconds. Goal build-up sequences. Minute-by-minute momentum. 14 bookmakers + Polymarket in one call. An MCP server that drops into Claude, ChatGPT, Gemini. No tier locks any of it.
$ curl "/api/v2/events/live/" // → 200 OK · 4 live { "count": 4, "events": [{ "home_team": "Avaí", "away_team": "Goiás", "current_minute": 84, "home_score": 0, "away_score": 2, "live_websocket": true }] }
4 matches in progress
Three surfaces — REST, WebSocket, MCP — on the same spatial-grade feed.
Per-shot coordinates, live ball trajectories, build-up sequences, momentum, prediction markets — features that elsewhere live behind enterprise tiers, request caps, or "contact sales". Here they're on a free token.
Ball trajectories every 5 seconds.
Each livedata frame carries a ball trail with up to 4 (x,y) points, the side controlling it, and the situation: attack, dangerous, shotontarget, corner, freekick, throwin, penalty, substitution, more.
Live consensus, on change.
30s tick, dedup'd against the previous payload. No frame fires while the line is flat.
Per-bookmaker, on change.
Subscribe with bookmaker_slug and get only that book's quotes, only when they move.
14 stats per side, every 30 seconds.
Possession · total/on-target shots · corners · cards · fouls · cumulative xG · attack count · dangerous attacks · ball-safe phases — plus attack_pct, dangerous_attack_pct, ball_safe_pct. Score, period, status, kickoff timestamp on every tick.
Per-shot xG with coordinates.
Every shot: (x, y), xg, body_part, situation, assist chain, scorer.
Goal build-up sequences.
Every touch leading to the goal — not just the scorer.
Average position per player.
One (x, y) per player. Drop into your own pitch chart, post-match.
Minute-by-minute momentum.
Pressure index from −100 (away dominance) to +100 (home dominance), one value per minute. Plot it on a chart and you see exactly when the game shifted.
14 top books + Polymarket, side-by-side.
Line movement on every row.
Each quote carries the previous price + an is_max_quote flag, so you see the latest move without a history call.
Best price, automatic.
Per-outcome best across the books, updated every 3 min for live + imminent kickoffs.
8 calibrated CatBoost markets.
Match result, expected goals, over/under 1.5/2.5/3.5, BTTS, most-likely score. Probabilities calibrated against market implied — not raw model output.
AI lineups before kickoff.
11 + subs predicted from recent form, rest, suspensions.
Match previews, written.
Twitter-style preview generated by Haiku 4.5 on every fixture.
Plug it into Claude, ChatGPT, or Gemini.
One config block, an /mcp endpoint and a free token. The LLM gets 24 typed tools (search matches, get shotmap, compare odds, predict lineups, …) and can answer in plain English.
$0. Forever.
No daily quota. No credit card. No locked endpoints. The shotmap is on the same token as the score.
Five lines. Real data.
Pick your stack. Each snippet hits a live endpoint with a real token — copy, paste, $ python, done.
# Live matches with ball-trajectory-ready event IDs curl -H "Authorization: Token YOUR_TOKEN" \ "https://sports.bzzoiro.com/api/v2/events/live/"
53 leagues, every match.
Top European competitions plus continental cups, internationals, and the cup runs of the bigger nations.