How to get player props data via API

Published 8 July 2026

If you have ever tried to pull player props programmatically, you already know the problem: game lines are easy, props are a mess. Moneyline, spread and total are three tidy markets. Player props are dozens of separate markets per game — points, rebounds, assists, passing yards, shots on goal — each priced differently at each book, and each moving on its own. That is exactly why most odds APIs give you thin props coverage or none at all.

Where props actually live

Props don't sit in one place. Each sportsbook exposes them on its own event pages, in its own shape. DraftKings names a market one way, FanDuel another, and the same "Points" line for the same player can be +100 at one book and -115 at another. To use props, you first have to line up those books and normalize the names — otherwise you are comparing apples to slightly different apples.

What you're trying to end up with

The useful shape is one event, with a list of books, and under each book a list of prop markets with the player, the line and the price. Something like this:

GET /v1/props?league=NBA
{ "data": [ {
  "home_team": "Boston Celtics",
  "away_team": "New York Knicks",
  "books": [ { "book": "DraftKings", "markets": [
    { "market": "player_points", "outcome": "Jayson Tatum Over", "point": 27.5, "price": -110 }
  ]}]
}]}

Doing it yourself vs. an API

You can scrape each book, keep up with their site changes, and write the normalization layer. It works until a book ships a redesign at 6pm on a Sunday and your parser breaks mid-slate. The alternative is an API that already does the scraping and normalization and hands you the clean shape — which is the whole reason props-first APIs exist.

Getting props from propzapi

propzapi treats props as a first-class endpoint, not an afterthought. Grab a free key and call it:

curl -X POST https://api.propzapi.com/v1/register
curl "https://api.propzapi.com/v1/props?league=NBA" -H "X-API-Key: pk_live_…"

Props are the premium market, and the exact cost of each call comes back in a header so nothing surprises you. See the docs for the full reference.

Which sports have player props?
The deepest markets are NBA, NFL and MLB — points, rebounds, assists, passing and rushing yards, strikeouts. Soccer has shots, cards and goalscorer props. Coverage varies by book and by game.
Why are props harder to get than game lines?
Props are event-specific and there are dozens per game, each at a different book. Game lines are three markets you can pull in one shot; props are a long, changing list that few APIs bother to normalize.

Get a free key