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 · 9 live { "count": 9, "events": [{ "home_team": "Boca Juniors", "away_team": "Vélez Sarsfield", "current_minute": 72, "home_score": 1, "away_score": 1, "live_websocket": true }] }
The season never sleeps.
World Cup finale, an open transfer window, pre-season friendlies, 9 live matches right now — and every block below is a live API response, not a screenshot.
94 friendlies today
Written from the data.
Results, transfers, previews and the numbers behind them — fresh stories through the day, each one straight from the feed.
González converts two half-chances as Górnik take three points in Radom
Peter González scored twice from 0.42 xG to inspire Górnik Zabrze to a 3-1 away win at Radomiak Radom.
J1 League delivers seven-per-game spectacle as global friendlies flood the slate
Two fixtures in Japan's top flight averaged seven goals apiece on a day when club friendlies dominated the calendar with 68 strikes across 23 contests.
Chelsea pay €138m to land Rogers as summer spending explodes past €500m
The Blues smash their transfer record to sign Morgan Rogers from Aston Villa, headlining a frenzied week that saw eight major deals cross the €40m mark.
Algeria, Japan and Atlético Goianiense construct five-match defensive walls
Three sides have posted five consecutive clean sheets across international and domestic competition, with Algeria allowing just 0.23 expected goals per outing.
The best XI, by the numbers.
Every finished match from Tue 4 Aug to Tue 11 Aug (68 games), ranked by our per-match player rating. A 4-4-2 of the top performers.
9 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/"
66 leagues, every match.
Top European competitions plus continental cups, internationals, and the cup runs of the bigger nations.