← Home ⚾ MLB API🏈 NFL API 🏀 NBA API🏒 NHL API 📖 Docs💳 Pricing Get API Key →
Getting Started

Overview

PropSports API is a REST API providing real-time sports data for MLB, NFL, NBA, and NHL. All responses are JSON. All endpoints use GET requests. No API key required on the free tier.

✅ The free tier (MLB, 1,000 req/day) requires no authentication. Just make requests directly.

Authentication

Pass your API key as a header on paid plans:

Request
# With API key (paid plans)
curl https://propsports-api.sales-fd3.workers.dev/mlb/schedule/today \
  -H "X-API-Key: your_api_key_here"

# Free tier — no auth needed
curl https://propsports-api.sales-fd3.workers.dev/mlb/schedule/today

Base URL

Base URL
https://propsports-api.sales-fd3.workers.dev
💡 All endpoints are prefixed by sport: /mlb/, /nfl/, /nba/, /nhl/

Rate Limits

PlanRequests/DaySports
Starter (Free)1,000MLB only
Pro Sport ($9)50,0001 sport
Full Bundle ($24)200,000All 4 sports
EnterpriseUnlimitedAll + custom

Error Handling

All errors return JSON with an error field:

Error Response
{
  "error": "park param required"
}

// HTTP Status Codes:
200 OK
400 Bad Request (missing param)
404 Not Found (endpoint doesn't exist)
429 Rate Limit Exceeded
500 Internal Server Error

⚾ MLB — Schedule

GET /mlb/schedule/today
fetch('https://propsports-api.sales-fd3.workers.dev/mlb/schedule/today')
  .then(r => r.json())
  .then(({ games }) => console.log(games))

Parameters — /mlb/schedule

ParamTypeRequiredDescription
datestringoptionalYYYY-MM-DD format. Defaults to today.

⚾ Statcast

GET /mlb/statcast/batters
fetch('https://propsports-api.sales-fd3.workers.dev/mlb/statcast/batters?days=14&level=MLB')
  .then(r => r.json())
  .then(({ batters }) => {
    const elite = batters.filter(b => b.barrelPct > 15)
    console.log(elite)
  })

Parameters

ParamTypeRequiredDescription
daysintegeroptionalRolling window in days. Default: 14.
levelstringoptionalMLB, AAA, or AA. Default: MLB.

Response Fields

FieldTypeDescription
avgEVfloatAverage exit velocity (mph)
l7EVfloatAverage EV last 7 days
evSpikefloatl7EV minus avgEV — positive = trending up
barrelPctfloatBarrel rate percentage
hardHitPctfloatHard hit rate (95+ mph) percentage
avgLAfloatAverage launch angle (degrees)
maxEVfloatMaximum exit velocity in period

⚾ Weather

GET /mlb/weather/all
fetch('https://propsports-api.sales-fd3.workers.dev/mlb/weather/all')
  .then(r => r.json())
  .then(({ games }) => {
    const windy = games.filter(g => g.weather.windSpeed > 12)
    console.log(windy)
  })

🏈 NFL — Schedule

GET /nfl/schedule
fetch('https://propsports-api.sales-fd3.workers.dev/nfl/schedule?week=1&season=2026')
  .then(r => r.json())

🏀 NBA — Leaders

GET /nba/leaders
fetch('https://propsports-api.sales-fd3.workers.dev/nba/leaders?stat=PTS')
  .then(r => r.json())
  .then(({ leaders }) => console.log(leaders))

Parameters

ParamValues
statPTS, REB, AST, BLK, STL, FG_PCT, FT_PCT, FG3_PCT

🏒 NHL — Standings

GET /nhl/standings
fetch('https://propsports-api.sales-fd3.workers.dev/nhl/standings')
  .then(r => r.json())
  .then(({ standings }) => console.log(standings))

Ready to build?

Get your free API key and start making requests in minutes.

Get Free API Key →