Player Props API
Real-time player prop lines from major sportsbooks via a simple REST API — pitcher strikeouts, player points, goalscorer odds, and 60+ markets. And the part other APIs skip: every prop is graded won / lost / push against the real box score, so you know whether it actually hit.
What is a player props API?
A player props API provides programmatic access to player-level betting lines from sportsbooks. Instead of manually checking odds on betting sites, developers can pull structured data for individual player markets — like how many strikeouts a pitcher will throw, how many points a basketball player will score, or whether a hockey player will score a goal.
PropLine's API delivers this data in real time, refreshing every 60 seconds (30s for in-progress games), in a clean JSON format that's compatible with the-odds-api. This makes it easy to build betting tools, analytics dashboards, line shopping apps, and prop betting models.
Supported sports and markets
⚾ MLB Player Props
Full coverage of baseball player props including pitching and batting markets.
🏀 NBA Player Props
Individual player performance markets for basketball.
🏒 NHL Player Props
Hockey player props including goalscorer and goalie markets.
🏈 NFL
NFL player props available when the season starts in September. Game lines available year-round.
🎾 Tennis
Match-level betting markets for ATP, WTA, and challenger events.
⛳ Golf
Tournament winner odds, placement props, and matchup markets.
🏀 College Sports
College basketball (NCAAB) has full player props — same markets as NBA (points, rebounds, assists, threes, combos). College football (NCAAF) has game lines with player props when in season.
⚽ Soccer
27 leagues: EPL, La Liga, Serie A, Bundesliga, Ligue 1, MLS, Championship, Eredivisie, Liga MX, Primeira Liga, Brasileirão, Argentine Liga Profesional, Scottish Premiership, Saudi Pro, Eliteserien, J1, Süper Lig, Belgian Pro League, Allsvenskan, Greek Super League, Swiss Super League, A-League, UEFA Champions League, UEFA Europa League, UEFA Conference League, Copa Libertadores, and Copa Sudamericana. Player and match-level betting markets.
🥊 UFC
MMA fight props for all UFC events.
🥊 Boxing
Fight-level betting markets for major boxing events.
Prop resolution — did the bet win?
PropLine is the only player props API that tells you whether each prop bet won, lost, or pushed. After games complete, we automatically cross-reference actual player stats from official box scores against every recorded prop line.
This means you can build backtesting tools, track betting records, identify profitable trends, and verify results — all from a single API. No more manually checking box scores or maintaining your own stats database.
{
"key": "pitcher_strikeouts",
"description": "Total Strikeouts - Tarik Skubal (DET)",
"outcomes": [
{
"name": "Over",
"description": "Tarik Skubal (DET)",
"point": 6.5,
"resolution": "won",
"actual_value": 7.0
}
]
}Prop resolution is a paid feature starting at the Hobby tier ($9/mo) via the /results endpoint.
How it works
Get your API key
Enter your email below. No credit card, no signup form. You get a key instantly with 1,000 requests/day.
Make API requests
Call our REST endpoints to get events, odds, and player props. Use the Python or Node SDK, or any HTTP client.
Build your product
Use the data to power betting tools, analytics dashboards, line shopping apps, or prop betting models.
Quick example
Get MLB pitcher strikeout props with a single request:
curl "https://api.prop-line.com/v1/sports/baseball_mlb/events/{EVENT_ID}/odds?apiKey=YOUR_API_KEY&markets=pitcher_strikeouts"{
"id": "16",
"sport_key": "baseball_mlb",
"home_team": "Detroit Tigers",
"away_team": "St. Louis Cardinals",
"bookmakers": [
{
"key": "bovada",
"markets": [{
"key": "pitcher_strikeouts",
"outcomes": [
{"name": "Over", "description": "Tarik Skubal (DET)",
"price": -150, "point": 6.5},
{"name": "Under", "description": "Tarik Skubal (DET)",
"price": 120, "point": 6.5}
]
}]
},
{
"key": "draftkings",
"markets": [{
"key": "pitcher_strikeouts",
"outcomes": [
{"name": "Over", "description": "Tarik Skubal",
"price": -145, "point": 6.5},
{"name": "Under", "description": "Tarik Skubal",
"price": 115, "point": 6.5}
]
}]
},
{
"key": "fanduel",
"markets": [{
"key": "pitcher_strikeouts",
"outcomes": [
{"name": "Over", "description": "Tarik Skubal",
"price": -155, "point": 6.5},
{"name": "Under", "description": "Tarik Skubal",
"price": 125, "point": 6.5}
]
}]
}
]
}Official SDKs
Install the official client and start pulling props in 5 lines of code.
Python
pip install proplinefrom propline import PropLine
client = PropLine("your_api_key")
events = client.get_events("basketball_nba")
odds = client.get_odds("basketball_nba",
event_id=events[0]["id"],
markets=["player_points", "player_rebounds"])Node / TypeScript
npm install proplineimport { PropLine } from "propline";
const client = new PropLine("your_api_key");
const events = await client.getEvents("basketball_nba");
const odds = await client.getOdds("basketball_nba", {
eventId: events[0].id,
markets: ["player_points", "player_rebounds"],
});PropLine vs the-odds-api
| PropLine | the-odds-api | |
|---|---|---|
| Free tier | 1,000 requests/day | 500 requests/month |
| Prop resolution | Yes — won/lost/push per outcome | No |
| Player props focus | Yes — 60+ prop markets | Limited |
| Update frequency | Every 60 seconds (30s live) | Varies |
| API format | the-odds-api compatible | — |
| Python SDK | pip install propline | pip install the-odds-api |
| Node / TS SDK | npm install propline | Community only |
| Historical odds | Hobby ($9/mo) | 10x credit cost |
| Sports | 38 (MLB, NBA, NHL, NFL, soccer, UFC, boxing, tennis, golf, college) | 30+ sports |
Frequently asked questions
Is the player props API free?
Yes. The free tier gives you 1,000 requests per day across all sports with no credit card required. That's enough to poll every game many times per day.
What format is the data in?
JSON via REST API. The response format is compatible with the-odds-api, so if you have an existing integration, you can switch with minimal code changes.
How often are odds updated?
Every 60 seconds for pre-game lines, every 30 seconds for in-progress games. We poll sportsbooks continuously and update our database in real time. The last_update timestamp on each market tells you exactly when the odds were last refreshed; live per-book staleness is visible at /freshness.
Do you have historical odds data?
Yes — paid subscribers (from the Hobby tier, $9/mo) can access historical line movement data via the /odds/history endpoint. We record a snapshot every time odds change, starting from April 2026.
What sportsbooks do you cover?
We source odds from 16 books — 9 sportsbooks (BetMGM, BetRivers, Bovada, DraftKings, FanDuel, Pinnacle, Unibet, 1xBet, TAB AU) + 2 DFS (PrizePicks, Underdog Fantasy) + 3 betting exchanges (Matchbook, Smarkets, Novig) + 2 prediction markets (Kalshi, Polymarket). MLB / NBA / NHL get the deepest coverage with player props from BetMGM + BetRivers + Bovada + DraftKings + FanDuel + Novig + Underdog + PrizePicks plus game lines from Pinnacle / Unibet / 1xBet / TAB AU / Kalshi / Polymarket / Matchbook / Smarkets. The 27 soccer leagues run Bovada + Pinnacle as the baseline, with the major Big-5 + MLS + Championship + Eredivisie + Liga MX adding BetRivers / DraftKings / FanDuel / Underdog / Polymarket coverage and Kalshi covering EPL / La Liga / Serie A / Bundesliga / Ligue 1 / Scottish Premiership. Every response includes a bookmakers array so you can compare lines across all of them in a single request.
Can I use this for commercial projects?
Yes. Both free and paid tiers can be used in commercial applications. Historical data is available from the Hobby tier ($9/month); the Pro tier at $19/month gives you 25,000 requests/day.
Start using the player props API
Get your free API key and start pulling live player props in under a minute.
Free tier includes 1,000 requests/day. Upgrade anytime.