Structured live sports data with a fixed public contract. Every response returns the same seven sections: match, teams, intel, injuries, opening lines, market, and metadata.
Each section is always present and returned in the same order. The public v1 contract is schema-checked and release-gated.
Match ID, kickoff time, venue, status, period, and clock. The anchor for everything else in the response.
Team names, abbreviations, records, and logo URLs. Both sides, every call.
Rolling scoring averages, recent form, and trending directions. The context layer behind the line.
Who's out, who's questionable, and a summary of the expected impact on the game.
Opening spread, total, and moneyline. The reference point for measuring where the market has moved.
Current spread, total, and moneyline from the consensus feed. Updated each refresh cycle.
API version, response time, and a coverage map showing which sections resolved for this match.
Abbreviated for readability. Full payload in the docs.
// GET /api/match-context?match_id={match_id} { // 1. match "match": { "id": "b193b51f-cbed-4398-a297-237dd3322607", "home_team": "Arsenal", "away_team": "Man City", "league": "eng.1", "status": "scheduled", "kickoff": "2026-03-15T16:30:00Z" }, // 2. teams "teams": { "home": { "name": "Arsenal", "record": "22-4-3", "logo": "https://..." }, "away": { "name": "Man City", "record": "18-6-5", "logo": "https://..." } }, // 3. intel "intel": { "home_avg_total": 2.8, "away_avg_total": 3.1, "sample": 10 }, // 4. injuries "injuries": [ { "player": "Saka", "status": "questionable", "detail": "hamstring" } ], // 5. opening_lines "opening_lines": { "spread": -0.5, "total": 2.5, "moneyline_home": -120 }, // 6. market "market": { "spread": -0.25, "total": 2.5, "moneyline_home": -110 }, // 7. metadata "metadata": { "api_version": "v1", "response_ms": 182, "coverage": { "intel": true, "injuries": true, "market": true } } }
| Sport | Leagues | Status |
|---|---|---|
| Basketball | NBA, NCAAB | Live |
| Football | NFL | Live |
| Baseball | MLB | Live |
| Hockey | NHL | Live |
| Soccer | EPL, La Liga, Serie A, Bundesliga, Ligue 1, MLS + 8 more | Live |
No per-league pricing. No upsells to unlock endpoints. Every plan gets the full payload shape across every league.
First call takes under a minute.