Base URL
https://v2.football.sportsapipro.com
All match endpoints use the pattern /api/match/{matchId}/...
Finding Match IDs: Use /api/live for current matches, /api/schedule/{date} for scheduled matches, or /api/search?q=team to find matches by team name. Match IDs are numeric (e.g., 14025056).
Core Match Data
Get Match Details
Returns full match details including scores, teams, venue, status, timestamps, and entity IDs for players, referees, and venues.
Numeric match ID. Discover via /api/live, /api/schedule/{date}, or /api/search.
Get Lineups
GET /api/match/{matchId}/lineups
Returns confirmed starting lineups for both teams, including formation, player positions, jersey numbers, and substitutes.
Availability: Only available once lineups are confirmed — typically 30–60 minutes before kick-off. Returns empty for matches further in the future.
Get Statistics
GET /api/match/{matchId}/statistics
Returns match statistics: possession, shots (on/off target), passes, fouls, corners, offsides, and more. Broken down by period (1st half, 2nd half, total).
Availability: Available during live matches and after full-time. Not available for pre-match.
Get Incidents
GET /api/match/{matchId}/incidents
Returns all match events in chronological order: goals, cards (yellow/red), substitutions, VAR decisions, penalty shootout events.
Get Scores
GET /api/match/{matchId}/scores
Returns detailed score breakdown including period scores (1st half, 2nd half), extra time, penalty shootout results, and aggregate scores for two-legged ties.
Get Referee
GET /api/match/{matchId}/referee
Returns referee details assigned to the match. Use the returned referee.id to call referee-specific endpoints.
Get Venue
GET /api/match/{matchId}/venue
Returns venue information: name, city, country, capacity, and coordinates. Use the returned venue.id for venue-specific endpoints.
Advanced Analytics
Shotmap
GET /api/match/{matchId}/shotmap
Returns shot map data with xG (expected goals) values for each shot, including coordinates, player, shot type (foot/header), and outcome (goal/saved/blocked/off-target).
Availability: Available during live matches (updates in real-time) and after full-time. Not available pre-match.
Momentum Graph
GET /api/match/{matchId}/graph
Returns match momentum/pressure graph data over time. Each data point represents the attacking pressure at a given minute.
Average Positions
GET /api/match/{matchId}/average-positions
Returns average player positions on the pitch for both teams. Useful for tactical analysis and formation visualization.
Availability: Available during live matches and after full-time only.
AI Insights
GET /api/match/{matchId}/ai-insights?lang={lang}
Returns AI-generated post-match analysis with key talking points, tactical observations, and performance summaries.
Language code for the analysis (e.g., en, es, de, fr, pt).
Availability: Post-match only. Not available for all matches — primarily top-tier competitions. Returns 404 for matches without AI analysis.
Team Heatmap
GET /api/match/{matchId}/heatmap/{teamId}
Returns team heatmap data for the match, showing areas of the pitch where the team was most active.
Numeric team ID. Get from the match details response (homeTeam.id or awayTeam.id).
Player-Specific
Best Players / MOTM
GET /api/match/{matchId}/best-players
Returns the best-performing players from the match with ratings and key statistics.
Award Details
GET /api/match/{matchId}/award
Returns official man-of-the-match award details.
All Player Statistics
GET /api/match/{matchId}/player-statistics
Returns comprehensive statistics for all players in the match: passes, tackles, shots, dribbles, duels, and ratings.
Specific Player Statistics
GET /api/match/{matchId}/player/{playerId}/statistics
Returns detailed statistics for a specific player in the match.
Numeric player ID. Get from lineups or match details.
Player Shotmap
GET /api/match/{matchId}/player/{playerId}/shotmap
Returns shot map data for a specific player in the match, with xG values and shot outcomes.
Betting & Odds
Featured Odds
GET /api/match/{matchId}/odds?scope={scope}&provider={provider}
Returns odds for the match from a specific provider.
featured for main markets or all for all available markets.
Odds provider ID. Use /api/odds/providers/{countryCode} to list available providers.
All Odds
GET /api/match/{matchId}/odds/all
Returns odds from all available providers and markets.
Pre-Match Odds
GET /api/match/{matchId}/odds/pre-match
Returns pre-match odds snapshot. Available before kick-off.
Availability: Pre-match only. Returns 404 after the match has ended.
Live Odds
GET /api/match/{matchId}/odds/live
Returns live in-play odds that update during the match.
Availability: Live matches only. Returns 404 for pre-match or finished matches.
Winning Odds
GET /api/match/{matchId}/winning-odds
Returns the winning odds movement for the match.
Team Streaks
GET /api/match/{matchId}/streaks
Returns recent streak data for both teams (e.g., “5 wins in a row”, “unbeaten in 10”).
Streaks with Odds
GET /api/match/{matchId}/streaks/odds
Returns streak data combined with relevant odds markets.
Pre-Match Data
The following endpoints are pre-match only. They return 404 for live or finished matches.
Head to Head
GET /api/match/{matchId}/h2h
Returns head-to-head history between the two teams: previous meetings, results, and statistics.
GET /api/match/{matchId}/pregame-form
Returns recent form for both teams going into the match (last 5–10 results).
Predicted Lineups
GET /api/match/{matchId}/predicted-lineups
Returns AI-predicted lineups before the official lineups are announced.
Predicted lineups are replaced by confirmed lineups once available (typically 30–60 min before kick-off).
Missing Players
GET /api/match/{matchId}/missing-players
Returns injured and suspended players for both teams, including injury type and expected return date.
Highlights
GET /api/match/{matchId}/highlights
Returns video highlight links for the match (when available).
GET /api/match/{matchId}/media
Returns media content associated with the match (photos, videos).
GET /api/match/{matchId}/media-summary?country={country}
Returns a localized media summary of the match.
Country code for localized content (e.g., GB, US, INT for international).
GET /api/match/{matchId}/tweets
Returns tweets related to the match from official team and league accounts.
GET /api/match/{matchId}/comments
Returns user comments/discussions about the match.
Fan Votes
GET /api/match/{matchId}/votes
Returns fan voting results (e.g., player of the match polls).
Other
Managers
GET /api/match/{matchId}/managers
Returns manager/head coach details for both teams. Use the returned manager.id for manager-specific endpoints.
Penalties
GET /api/match/{matchId}/penalties
Returns penalty shootout details: order, takers, outcomes, and scores after each kick.
Only available for matches that went to a penalty shootout.
TV Channels
GET /api/match/{matchId}/channels
Returns TV broadcast channels organized by country, including channel names and broadcast times.
Jerseys
GET /api/match/{matchId}/jerseys
Returns home and away jersey details for both teams: colors, patterns, and goalkeeper kit.
Fantasy
GET /api/match/{matchId}/fantasy
Returns fantasy-relevant data for the match: points, bonuses, and player ownership.
Example Requests
curl -X GET "https://v2.football.sportsapipro.com/api/match/14025056/statistics" \
-H "x-api-key: YOUR_API_KEY"