API Overview
The Scottfree Sports API provides programmatic access to the same sports model data used by the Scottfree Sports web app: predictions, current odds, historical results, model summaries, team form, visualization payloads, account usage, and Sports Data refresh downloads.
Production base URL:
https://sports-api.scottfreellc.com
Production OpenAPI schema:
https://sports-api.scottfreellc.com/openapi.json
Who Can Use It
| Product | REST API access | CLI | MCP |
|---|---|---|---|
| Scottfree Sports Data | Sports Data refresh endpoints only | No | No |
| Scottfree Sports Basic | Yes | No | No |
| Scottfree Sports Premium | Yes | Yes | Yes |
Basic and Premium include the web app and REST API. Premium adds the Python CLI and MCP server for assistant workflows.
Quick Start
Set your key:
export SFS_API_KEY="sk_alphapysports_PASTE_YOUR_KEY"
List sports and model types:
curl -H "X-API-Key: $SFS_API_KEY" \
https://sports-api.scottfreellc.com/api/v1/sports
Get MLB moneyline predictions:
curl -H "X-API-Key: $SFS_API_KEY" \
https://sports-api.scottfreellc.com/api/v1/predictions/mlb/won_on_points
Get recent results:
curl -H "X-API-Key: $SFS_API_KEY" \
"https://sports-api.scottfreellc.com/api/v1/results/mlb/won_on_points?limit=25"
Check usage:
curl -H "X-API-Key: $SFS_API_KEY" \
https://sports-api.scottfreellc.com/api/v1/customers/me/usage
Supported Leagues
| Code | League |
|---|---|
mlb | Major League Baseball |
nba | National Basketball Association |
nfl | National Football League |
nhl | National Hockey League |
ncaaf | NCAA Football |
ncaab | NCAA Basketball |
Supported Markets
| Model type | Market | Axis |
|---|---|---|
over_under | Total | Over vs. under |
won_on_points | Moneyline | Home vs. away |
won_on_spread | Spread | Home spread vs. away spread |
For moneyline and spread, probabilities are home-team relative. For totals, probabilities are over-relative.
Main Endpoint Groups
| Group | Path family | Purpose |
|---|---|---|
| Discovery | /api/v1/sports | Supported sports and model types |
| Predictions | /api/v1/predictions/{sport}/{model_type} | Current slate model probabilities and line data |
| Free website ML predictions | /api/v1/public/ml-picks/{sport}/{market} | Public ML table feed, unauthenticated |
| Odds | /api/v1/odds/{sport} | Current odds |
| Results | /api/v1/results/{sport}/{model_type} | Recent graded results |
| Results visualizations | /api/v1/results/{sport}/{model_type}/rolling, /density, /team-form | App chart payloads |
| Summary | /api/v1/summary/{sport}/{model_type} | Model summary tables |
| Account | /api/v1/customers/me, /usage, /api-keys | Customer account and key management |
| Sports Data | /api/v1/scottfree-sports-data/status, /refresh | Historical dataset refresh downloads |
The older /picks/* and /edge-picks/* endpoints remain for compatibility, but they return explicit empty payloads because no validated betting selector is active.
Rate Limits
| Plan | Monthly API quota | Per-second limit |
|---|---|---|
| Basic | 50,000 requests | 5 requests/second |
| Premium | 200,000 requests | 50 requests/second |
Sports Data has a separate refresh quota: 8 historical dataset refreshes per calendar month.
Sports Docs