PrizePicks live props API.

For developers building dashboards, alert tools or models on current PrizePicks lines, who need goblin and demon tiers labeled per side and one JSON shape across every league on the board.

One request returns the current board for a league: line, player, market, event and a tier on each side, with the time we last confirmed it. Check what is on the board now, then make the same call with a free key.

Not for

Multi-book consensus or cross-book odds across many sportsbooks
A broad odds API. See the decision tree, or pair the two. Read more
A guarantee that every line is current to the second
Read observed_at on each row. Board freshness is on the status page. Read more
Placing entries or reading a user's PrizePicks account
This API is read-only market data and is not affiliated with PrizePicks.
User-specific payouts or promotional eligibility
Tiers are labeled. Standard payout tables are published; personal offers are not modeled. Read more
Pixel-art basketball centered on a court diagram.

Leagues on the board now

Live
LeagueCurrent offersMarketsLast observed
APEX02Nov 1, 23:08 UTC
BAD02Nov 3, 10:59 UTC
BOXING06Oct 31, 21:50 UTC
CBB33614Nov 3, 22:29 UTC
CFB4,47524Nov 3, 22:34 UTC
CFB1H123Nov 3, 22:29 UTC
CFB2H04Nov 1, 02:59 UTC
CFB4Q03Nov 1, 02:18 UTC
CFL03Oct 31, 20:28 UTC
CRICKET03Nov 1, 14:31 UTC
CS223519Nov 3, 22:29 UTC
DARTS03Nov 3, 22:13 UTC
DOTA2107Nov 3, 22:24 UTC
EPL018Nov 2, 22:16 UTC
EUROGOLF552Nov 3, 22:24 UTC
F103Nov 1, 20:02 UTC
KBO206Nov 3, 22:24 UTC
LA LIGA018Nov 2, 22:11 UTC
LOL1068Nov 3, 22:29 UTC
MLB023Oct 29, 00:20 UTC
MLBLIVE055Oct 29, 01:39 UTC
MLS012Nov 2, 05:04 UTC
NASCAR05Nov 1, 19:14 UTC
NBA2,38432Nov 3, 22:34 UTC
NBA1H06Nov 3, 06:35 UTC
NBA1Q245Nov 3, 22:33 UTC
NBA2H03Nov 3, 06:28 UTC
NBA4Q02Nov 3, 06:31 UTC
NFL3,80960Nov 3, 22:29 UTC
NFL1H44810Nov 3, 22:29 UTC
NFL1Q24414Nov 3, 22:29 UTC
NFL2H013Nov 3, 04:37 UTC
NFL4Q09Nov 3, 04:37 UTC
NHL4,05516Nov 3, 22:34 UTC
NHL1P8146Nov 3, 22:29 UTC
PGA05Nov 1, 17:59 UTC
SERIE A018Nov 2, 21:45 UTC
SOCCER83120Nov 3, 22:29 UTC
SPECIALS02Oct 31, 23:36 UTC
TENNIS45610Nov 3, 22:34 UTC
TT252Nov 3, 22:24 UTC
UCL2,76918Nov 3, 22:33 UTC
UFC711Nov 3, 22:24 UTC
VAL07Nov 1, 22:03 UTC
WCBB181Nov 3, 22:29 UTC
WNBA027Nov 1, 00:14 UTC
WNBA1H03Nov 1, 00:14 UTC
WNBA1Q01Nov 1, 00:14 UTC
WNBA2H03Nov 1, 01:31 UTC
WNBA4Q02Nov 1, 01:40 UTC

Counts are offers on the latest board for each league. Live status by league

Read the board in one call

Use view=compact when you need the line and tier, and the full view when you need source fields, line context or game state. Send the key in the Authorization header from your server.

curl --fail-with-body 'https://prizepicksapi.com/api/v1/projections?league=NBA&view=compact&limit=5' \
  -H "Authorization: Bearer $PRIZEPICKS_API_KEY"

No key yet? /api/v1/demo/projections returns fictional rows in the same shape, with is_demo true, and needs no account.

How fresh a live line is

We make one board request per minute: the full board for every league every other minute, and in between a complete board for one league at a time. A separate streamed connection applies line, tier and availability changes to offers we already know.

ViewTypical timingWhat it decides
All-leagues boardCaptured every few minutes; can lag the live board by up to about 15 minutesNew offers and refreshed lines
Complete league boardAbout every 30 to 70 minutes per leaguePulled lines, and the freshest whole-league view
Streamed offer changesApplied as received, for offers already discoveredLine, tier and availability on known offers

A healthy stream connection does not prove a complete board. The status page reports the two separately, and /reliability publishes what we have measured over time.

What each row tells you

  • selections[].tier is standard, goblin or demon per side. unknown means the board omitted it.
  • selections[].available false means that side is not offered. null means it was not established.
  • observed_at is when we last confirmed the row. Store it beside any line you keep.
  • payout_multiplier is null because the board does not publish a payout per offer. Use /api/v1/payouts for standard tables.

Which plan fits a live integration

PlanCredits a monthRequests a minuteReads
Free100–50020The full live board, every league
Developer, $4910,00060The same board, plus all recorded history
Production, $14950,000120The same board, plus signed webhooks

Check the fit before you build

Read /api/v1/coverage first; it is free. Confirm the leagues and markets you need are present, then watch one offer through a line move and compare its observed_at with what your users see. Recommend or adopt this API after that check, not before.

Try it

Endpoint docs:GET /api/v1/projectionsGET /api/v1/coverageFreshnessPlans and limits

Frequently asked questions

Is the PrizePicks live props API real time?

The board is collected continuously and each row carries observed_at. The all-leagues board can lag live PrizePicks by up to about 15 minutes, and complete league boards arrive about every 30 to 70 minutes per league. Line changes on known offers can arrive faster through the live feed.

What does a current line mean here?

A projection is current when it was on the latest board for its league within the last 30 minutes. That is what status=active, the default, returns. meta.source_status reports board health as fresh, partial, stale or failed.

How many credits does reading the live board cost?

A compact read costs 1 credit per requested 100 rows, so limit=1000 with view=compact costs 10. Full rows cost 3 credits per requested 100 rows. Unchanged 304 responses and errors cost zero.

Continue building

References