Behind every chart on a match page there is a table of numbers. You can download it as JSON or CSV from the NBA, football and tennis match analysis pages and use it wherever you like.
This guide shows what the files contain and four practical ways to use them.
Where to find the download
Every NBA, football and tennis match analysis page has this bar:
Sign in with Google, then click JSON or CSV. The free account includes 200 downloads a month.
What is in the file
Each file holds every prediction we published for that match. A real example, Alcaraz vs Sinner at the 2026 Monte Carlo Masters:
{
"sport": "tennis",
"match": {
"player_one": "Carlos Alcaraz",
"player_two": "Jannik Sinner",
"player_one_rank": 1,
"player_two_rank": 2,
"tournament": "monte_carlo",
"surface": "clay",
"tournament_type": "masters_1000"
},
"predictions": {
"player_one_win_probability": 0.4648,
"player_two_win_probability": 0.5352,
"predicted_winner": "Jannik Sinner"
},
"distributions": {
"total_games": {
"expected_value": 23.1,
"mode": 23,
"pdf": { 12: 0.44, 13: 0.79, ... probability for each outcome },
"cdf": { 12: 0.86, 13: 1.65, ... cumulative under probability },
"cdf_over": { 12: 99.14, 13: 98.35, ... probability of going over }
},
"games_spread_p1_minus_p2": { ... same structure },
"aces": { ... same structure },
"double_faults": { ... same structure }
},
"source": "predixsport.com",
"exported_at": "2026-04-13T17:09:23Z"
}
Each distribution comes in three forms, all in percent: pdf (the chance of each exact result), cdf (the chance of that result or fewer) and cdf_over (the chance of more). These are the same numbers the charts on the match page draw.
- NBA: win probability, total points and spread, plus points, rebounds, assists and 3-pointers for each projected starter
- Football: home, draw and away probabilities, over/under 2.5 goals, both teams to score, and distributions for corners and shots
- Tennis (ATP and WTA): win and tiebreak probabilities, and distributions for total games, games spread, aces and double faults
Four ways to use the data
1 Fantasy research with an AI assistant
Fantasy players already look at matchups and projected stats. The file adds the full range for every projected starter: not only 22 expected points, but how likely 15 or 30 are.
It takes a couple of minutes:
Step 1: Download
Open an NBA match analysis page and download the JSON or CSV. It includes points, rebounds, assists and 3-pointers for each projected starter, each with its distribution.
Step 2: Upload to ChatGPT, Claude, Gemini, or Perplexity
Attach the file to a conversation, on desktop or mobile.
Step 3: Ask what you need
The assistant reads the distributions and answers specific questions. Paste in anything else you know (injury news, last night's box scores) and it will take it into account.
"I uploaded today's NBA prediction data from Predixsport. For the Lakers vs Celtics game: which player has the widest distribution for points? Who has the highest probability of exceeding 25 points? Cross-reference with the latest injury reports."
The same approach works for daily lineups, season-long rosters, or a quick look at tonight's games.
2 Comparing with prediction markets
Prediction markets such as Polymarket publish crowd probabilities for sports events. Our file is an independent model estimate of the same events, so you can set the two side by side. When they disagree a lot, the interesting part is finding out why.
How to use it
Attach the match file to an assistant with web browsing turned on and ask it to look up the market's current probability for the same event, then compare the two.
"Here's Predixsport's prediction data for tonight's NBA games. Our model gives the Celtics a 71.2% win probability. Check the current Polymarket prices for this game. How big is the gap? What might explain it: injuries, public sentiment, something else?"
Because the file holds the full distributions, the comparison can go beyond the winner, for example to totals.
3 Agents and daily pipelines
If you build with agent frameworks such as OpenClaw, OpenAI Agents or LangChain, the files can be a daily data source: the agent reads the new predictions, checks whatever else you give it access to, and sends you a short summary.
Example: daily briefing agent
Every morning the agent reads today's predictions, compares them with yesterday's, checks for late injury news, and flags games where the model is unusually sure or unsure. Then it sends you the three most interesting findings by Slack or email.
# Runs daily. Adapt to OpenClaw, OpenAI Agents, LangChain, etc. 1. Fetch → Download today's match predictions (JSON) 2. Parse → Read probability distributions (PDF, CDF, CDF-over) 3. Compare → Check against external sources (markets, news, stats) 4. Filter → Keep games with high confidence or unusual patterns 5. Notify → Send daily briefing via Slack, email, or Telegram
Every JSON file has the same top-level layout (match, predictions,
distributions), so one parser covers every sport. The fields inside
predictions depend on the sport.
4 Features for your own models
If you build your own models, our distributions can be inputs to them. You use our output instead of rebuilding our training data. In machine learning this is called model stacking.
What you get as features
Expected values, the most likely result, the full distribution (from which you can compute standard deviation, skew or any other summary) and the under/over chance at any threshold.
The CSV loads directly with pandas.read_csv(): one row per outcome per distribution,
with the columns probability, prob_under and prob_over.
import pandas as pd # Load, ready to use as-is df = pd.read_csv("predixsport-lakers_vs_celtics.csv") # Filter to total points distribution total_pts = df[df["distribution"] == "total_points"] # Extract what you need expected = total_pts["expected_value"].iloc[0] pdf = total_pts[["outcome", "probability"]] # Use as features in your model features["px_total_pts_ev"] = expected features["px_total_pts_std"] = compute_std(pdf)
The JSON loads just as easily with Python's json module.
Getting started
Open an NBA, football or tennis match analysis page, sign in with Google and pick JSON or CSV. Then attach it to an assistant, feed it to a pipeline, set it next to a market, or use it in your own model.
Download your first file
Free account, 200 files a month.
Get daily predictions straight to your phone
Join Our Telegram Channel