MLB player props by sportsbook, from 2023
MLB player prop lines by sportsbook since May 2023, opening and closing, with each player's history against his line. REST or MCP.
FastballAPI serves MLB player prop lines by sportsbook for the games The Odds API's archive holds, which starts May 3 2023: hits, home runs, total bases, runs batted in, pitcher strikeouts and pitcher outs recorded, each with the book's line and its over and under prices.
It is built for backtesting props models. One call returns every player's props for a game; another returns one player's lines across a date range; and get_prop_history sets a player's closing line beside what he actually recorded, game by game, with the over rate. Lines carry our MLB player id where the name matches a player in that game's batting and pitching lines. The table below is read from the database.
Coverage by season
Counted from the database on October 10, 2026: finished regular-season and playoff games.
| Season | Games | Covered | Prop lines |
|---|---|---|---|
| 2026 | 2,453 | 93% | 605,926 |
| 2025 | 2,477 | 93% | 937,369 |
| 2024 | 2,472 | 95% | 1,085,645 |
| 2023 | 2,471 | 78% | 646,058 |
How to get it
get_player_props, 10 credits a call. A full 2024 season is 2,354 calls and 23,540 credits, which fits in one month of Pro ($49/mo).
curl -X POST https://mcp.fastballapi.com/v1/get_player_props \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"game_id": "401569531",
"market": "batter_hits"
}'What comes back
| snapshot_type | |
| games | |
| props[] | List of objects |
| props[].game_id | |
| props[].game_date | |
| props[].player_name | |
| props[].player_id | |
| props[].market | |
| props[].bookmaker | |
| props[].line | |
| props[].over_odds | |
| props[].under_odds | |
| props[].captured_at | |
| props[].source |
Every field and a real response: get_player_props docs.
Questions
How far back do the MLB player props go?
The archive starts May 3 2023, so nothing is earlier, and it holds the games it holds: the table on this page is the live coverage by season, counted from the database.
Which sportsbooks and markets?
Markets: hits, home runs, total bases, runs batted in, pitcher strikeouts and pitcher outs recorded. Books: DraftKings, FanDuel, BetMGM, ESPN BET, Pinnacle, BetOnline, MyBookie and Bovada, where the archive has them for a game. Pass bookmaker to filter to one.
Opening or closing line?
get_player_props returns the closing line by default, the last one captured before the game starts, or the opening line with snapshot_type: opening. For past games the archive was sampled once near the start, so the two are usually the same capture; an earlier capture exists only where one was taken.
What does it cost?
Priced per game returned: one game's props for every player, or one player's props for each game in a date range, at the credits a call shows above, and get_prop_history is a fixed price a call. estimate_only returns the price of any call before you run it. Every account starts with 500 free credits.
Can I match props to what actually happened?
Yes. get_prop_history takes a player id and a market and returns each game's closing line, what he recorded, and over, under or push. The same id works in the box score tools, so a game's result is one call away.
Can I use it from Claude or ChatGPT?
Yes. FastballAPI is an MCP server as well as a REST API: add one URL to Claude, Cursor or any MCP client and ask for a player's props in plain English.
What it will not do
- The markets above only: no alternate lines, no futures, no live in-game props and no fantasy-score props.
- Pre-game lines only. A capture at or after the start of the game is never served.
- A line carries a player id only when its name matches a player in that game's batting and pitching lines; otherwise the name is still served, without one.
- Nothing before May 3 2023. For past games the opening and closing line are usually one capture, as the archive was sampled once near the start.
Works with
Start with 500 free credits
No card. REST or MCP.