Does PrizePicks Have an API? How to Get PrizePicks Lines
PrizePicks has no public API. The SmartStake Odds API serves PrizePicks lines next to sportsbook props in one schema, so you can price every pick in code.

PrizePicks does not have a public API. There is no developer portal, no API key and no documentation for its lines, and its Terms of Service bar the scrapers people build instead.
The SmartStake Odds API is the cleanest way to get PrizePicks lines as of November 2026: every player line under the book key prizepicks, in the same schema as the sportsbook props you price them against, from 85+ sportsbooks, exchanges, prediction markets and pick'em apps.
Here is what one request returns. Pick a prop and a side, change FanDuel's prices, and choose the slip you plan to play.
A PrizePicks line next to a sportsbook, from one request
curl --compressed \ -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \ "https://api.server.smartstake.ca/v1/odds?event_id=evt_01KZCTK5WDFG6R6TWYDZV61GV2&book=prizepicks&book=fanduel&market=football_player_receptions&alternate=false"
{
"data": [
{
"quote_id": "m~evt_01KZCTK5WDFG6R6TWYDZV61GV2~football_player_receptions~none~43576~3.5~over~prizepicks",
"book": "prizepicks",
"label": "Cade Otton Over 3.5",
"side": "over",
"line": 3.5
},
{
"quote_id": "m~evt_01KZCTK5WDFG6R6TWYDZV61GV2~football_player_receptions~none~43576~3.5~over~fanduel",
"book": "fanduel",
"label": "Cade Otton Over 3.5",
"side": "over",
"line": 3.5,
"odds": -135
},
{
"quote_id": "m~evt_01KZCTK5WDFG6R6TWYDZV61GV2~football_player_receptions~none~43576~3.5~under~fanduel",
"book": "fanduel",
"label": "Cade Otton Under 3.5",
"side": "under",
"line": 3.5,
"odds": 105
}
]
}Illustrative, not a live quote. The request is the documented /v1/odds call, and the response is abridged to a few fields of the documented quote object. The fair chance removes FanDuel's margin with the power method, and the break even is the per pick win rate at which the slip's payout table returns your entry on average.
One call returns the PrizePicks line next to FanDuel's over and under on the same number, and the shared line id tells you they match. In this illustrative example, FanDuel's −135 and +105 put the over at a 54.47% fair chance once the margin is removed, just above the 54.21% a 6 Pick Flex needs per pick. On a 2 Pick Power, which needs 57.74%, the same pick falls short. That comparison is what most PrizePicks API searches are really after.
Does PrizePicks Have an API?
No. As of November 2026, PrizePicks publishes no public API for its lines or its contests. No PrizePicks page issues a developer key or documents a feed.
What does exist is the plumbing behind PrizePicks' own app.
The app loads its board from internal JSON endpoints, and that is what every "PrizePicks API" tutorial and scraper listing points you at. Those endpoints are not an API in any useful sense:
- Undocumented. No contract fixes the paths, parameters or response shape. When PrizePicks changes its app, your parser breaks without warning.
- Against the terms. PrizePicks' Terms of Service prohibit using "any robot, spider, or other automatic device, process, or means to access the Site or App for any purpose, including monitoring or copying any of the material on the Site or App".1
- Lines without a reference. A PrizePicks line has no price. On its own it cannot tell you whether a pick clears a slip's break even, so you need sportsbook props on the same line anyway.
- One app. A PrizePicks scraper gives you PrizePicks. Comparing it with Underdog, Sleeper or a sportsbook means a scraper per source.
Three Ways to Get PrizePicks Lines
| Route | What you get | The catch |
|---|---|---|
| Scrape the app | PrizePicks only, in its own shape | Breaks the terms, breaks on app changes |
| Scraper marketplaces | A hosted scraper's output, often on a schedule | Same source and same terms problem, plus polling delay |
| An odds API | PrizePicks with sportsbooks and other pick'em apps, one schema | A monthly plan |
For anything you plan to keep running, an odds API is the only route with a contract behind it. The rest of this guide uses the SmartStake Odds API.
Pulling PrizePicks Lines with SmartStake
Every request needs your key as a bearer token and Accept-Encoding: gzip, which curl sends with --compressed. The API docs cover every endpoint and parameter.
1. Confirm PrizePicks is on your key
curl --compressed -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \
"https://api.server.smartstake.ca/v1/books"
PrizePicks is prizepicks. The list is exactly what your key can see, so check it before you hard-code any other pick'em app.
2. Find the event and the market
curl --compressed -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \
"https://api.server.smartstake.ca/v1/events?league=nfl"
curl --compressed -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \
"https://api.server.smartstake.ca/v1/markets?league=nfl"
Each event has an id, starts_at, home, away and live. Market keys such as football_player_receptions are the same for PrizePicks and every sportsbook.
3. Pull PrizePicks next to a sportsbook
curl --compressed -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \
"https://api.server.smartstake.ca/v1/odds?event_id=evt_01KZCTK5WDFG6R6TWYDZV61GV2&book=prizepicks&book=fanduel&market=football_player_receptions&alternate=false"
Drop market to get every line PrizePicks has posted for the game. A request takes up to 5 events and 5 books, so add book=pinnacle or book=draftkings when you want more than one reference price on each prop.
Read a PrizePicks quote for its line and side. PrizePicks pays a multiplier per slip rather than a price per pick, so the number to compare is the sportsbook's fair chance against your slip's break even, as the widget above does.
Pricing PrizePicks lines in Python
This script pulls PrizePicks and FanDuel on the next NFL game, groups quotes by line, removes FanDuel's margin from each over and under pair, and prints every PrizePicks pick whose fair chance clears a 6 Pick Flex break even. It uses only the Python standard library.
import gzip, json, os, urllib.parse, urllib.request
API = "https://api.server.smartstake.ca"
HEADERS = {
"Authorization": f"Bearer {os.environ['SMARTSTAKE_API_KEY']}",
"Accept-Encoding": "gzip",
}
OPPOSITE = {"over": "under", "under": "over"}
BREAK_EVEN = 0.5421 # 6 Pick Flex, per pick
def get(path, params):
url = f"{API}{path}?{urllib.parse.urlencode(params)}"
with urllib.request.urlopen(urllib.request.Request(url, headers=HEADERS), timeout=30) as response:
body = response.read()
if response.headers.get("Content-Encoding") == "gzip":
body = gzip.decompress(body)
return json.loads(body)["data"]
event = get("/v1/events", {"league": "nfl"})[0]
quotes = get("/v1/odds", [("event_id", event["id"]), ("book", "prizepicks"), ("book", "fanduel"), ("alternate", "false"), ("format", "decimal")])
lines = {}
for quote in quotes:
line_id = quote["quote_id"].rsplit("~", 2)[0]
lines.setdefault(line_id, {})[(quote["book"], quote["side"])] = quote
for sides in lines.values():
for (book, side), pick in sides.items():
if book != "prizepicks" or side not in OPPOSITE:
continue
same = sides.get(("fanduel", side))
other = sides.get(("fanduel", OPPOSITE[side]))
if same is None or other is None:
continue
implied_same, implied_other = 1 / float(same["odds"]), 1 / float(other["odds"])
fair = implied_same / (implied_same + implied_other)
if fair > BREAK_EVEN:
print(f'{pick["label"]:<36} fair {fair:.2%} margin {100 * (fair - BREAK_EVEN):+.2f} pts')
The line id is the quote_id without its last two segments, side and book, so every source's quote on the same player, market and line shares it. That one string replaces the player name and stat matching a scraper leaves you to write. The script removes the margin proportionally to keep it short; the widget uses the power method, which leans a little harder on the favourite.
If you would rather not build it, SmartStake's Fantasy tool runs the same comparison across the pick'em apps, as the PrizePicks optimizer guide shows.
Keeping PrizePicks lines live
A REST call is a snapshot. To hold a current PrizePicks board, open the stream first, then pull, then apply each change by quote_id:
curl -N --compressed -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \
"https://api.server.smartstake.ca/v1/stream/football?league=nfl&book=prizepicks&book=fanduel"
Changes arrive over Server-Sent Events in 250 ms batches. A line PrizePicks pulls disappears from the board, so drop a quote when the stream removes it.
PrizePicks lines reach the stream in under 60 seconds pregame and under 5 seconds live, as listed on the update frequency page. FanDuel is real-time, so a sportsbook move can reach you before the PrizePicks line changes, which is the window a pick'em player cares about.
PrizePicks closing lines
Closing odds are each book's last pregame quote before the start, back to August 7, 2026. For PrizePicks, pull the sportsbooks' closing over and under on the same line id, and you can grade every pick you played against the close, as the closing line value guide explains.
curl --compressed -H "Authorization: Bearer $SMARTSTAKE_API_KEY" \
"https://api.server.smartstake.ca/v1/closing-odds?event_id=evt_01M0EAWVYT4JS0R7FVXMK3CT9D&book=prizepicks&book=fanduel&market=football_player_receptions&alternate=false"
Closing odds usually arrive within an hour of the start and come with the Pregame + Live and Full Stream plans.
When Scraping PrizePicks Still Comes Up
An odds API does not replace every scraper. Three jobs sit outside it:
- Your own account. Entries, balances and results belong to the account holder's session, not to any odds feed. SmartStake reads lines; it does not place entries.
- Payout tables and promos. Slip multipliers and promotions are PrizePicks' own pages, not quotes. The Flex vs Power Play guide lays out the standard tables.
- Lines before August 7, 2026. Closing odds start there. For older history, you need another source.
If the job is PrizePicks lines, next to the sportsbooks that price them, kept current, one key beats a scraper you rebuild every season.
For the math behind picking against a slip, see how to beat PrizePicks and how PrizePicks makes money. For sportsbook feeds, the DraftKings API guide and the FanDuel API guide cover the two biggest books, and player props explained covers the markets themselves.
FAQ
Does PrizePicks have an API?
No. PrizePicks does not have a public API: there is no developer portal, no API key and no documentation for its lines. The SmartStake Odds API serves PrizePicks lines under the book key prizepicks, in the same schema as sportsbook player props.
Is there a free PrizePicks API?
No official one exists, free or paid. The endpoints the PrizePicks app reads are undocumented, and its Terms of Service bar robots and other automated means of accessing the site or app. The SmartStake Odds API is a paid monthly plan, from $399 a month.
Can I scrape PrizePicks?
PrizePicks' Terms of Service prohibit using any robot, spider or other automatic device, process or means to access the site or app, including monitoring or copying its material. A scraper also breaks whenever the app changes.
Does a PrizePicks line come with odds?
No. PrizePicks pays a fixed multiplier per slip, not a price per pick, so read a PrizePicks quote for its line and side. To judge a pick, compare the fair chance from a sportsbook's over and under with the slip's per pick break even.
How do I match a PrizePicks line to a sportsbook prop?
Remove the last two segments of each quote_id, side and book. Quotes on the same player, market and line share what is left, so a PrizePicks line and a FanDuel prop on the same number group together without any name matching.
Which other pick'em apps does the API cover?
The Odds API covers pick'em and fantasy apps such as Underdog, Sleeper, Betr, Dabble and DraftKings Pick6 alongside PrizePicks. Call /v1/books to see exactly which ones your key can access.
Can I show PrizePicks lines to users of my product?
The monthly plans are for personal and internal use. Showing lines to the members of your product needs an Enterprise licence, so write to SmartStake with what you are building.
Get an API Key
The SmartStake Odds API has monthly plans from $399: Pregame and Pregame + Live cover five leagues you pick, and Full Stream covers every league. Live lines and closing odds come with Pregame + Live and Full Stream.
Choose a plan, and your key appears under API keys in SmartStake as soon as payment goes through.
Footnotes
-
PrizePicks Terms of Service, section 16, Rules and Prohibited Conduct, item (l), last updated October 19, 2026, read November 10, 2026. ↩
Get the next guide in your inbox
Practical betting guides, new tools, and product updates from the SmartStake team. Unsubscribe in one click, any time.
By providing your email, you are consenting to receive communications from SmartStake. Visit our Privacy Policy for more info


