PrizePicks Player Props Scraper
Pricing
from $1.00 / 1,000 player props
PrizePicks Player Props Scraper
Scrape live PrizePicks player props across NBA, NFL, MLB, NHL, soccer, esports and every active league. Returns line, odds tier (standard/goblin/demon), player, team, matchup, status, and promo flags. HTTP-only, cookieless, MCP-ready.
Pricing
from $1.00 / 1,000 player props
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Pass a league such as MLB, NBA, or NFL and get live PrizePicks player props — line score, odds tier (standard / goblin / demon), player, team, opponent, status, and promo flags. Each dataset row is one public board projection. Designed for DFS research, line monitoring, and AI agents that need structured props without reverse-engineering the board API.
This Actor reads the public PrizePicks partner API over HTTP. It does not log into user accounts and does not return private portfolios.
PrizePicks is a trademark of its respective owner. This independent Actor is not affiliated with, associated with, endorsed by, or sponsored by PrizePicks.
Best fit for this Actor
- You need a capped snapshot of one or more live PrizePicks boards for modeling or research.
- You want Goblin / Demon tier filters, promo-only rows, or live/in-game status filters in one run.
- You are calling this from Apify API, schedules, or MCP and need flat JSON plus a stable
OUTPUT.outcome. - For sportsbook odds outside PrizePicks, continue with the DraftKings sibling Actor linked below.
MLB slate check for a DFS model
A DFS analyst is refreshing an MLB model before lock. They pass leagues: ["MLB"] and maxResults: 25. The dataset returns up to 25 projection rows with playerName, statType, lineScore, oddsType, and opponent. They keep scrapedAt as the observation time, then raise maxResults only when they need a fuller board.
Quick start input
{"mode": "projections","leagues": ["MLB"],"maxResults": 25,"singleStat": true}
maxResults is the run-wide cost ceiling. Use mode: "leagues" first when you only need live league ids.
Input reference
| Field | Type | What it controls |
|---|---|---|
mode | enum | projections (default), league (requires leagues or leagueIds), or leagues catalog. |
leagues / leagueIds | array | Board scope such as NBA, MLB, or id 7. Prefill is MLB. |
players / teams / statTypes | array | Optional case-insensitive substring filters. |
oddsTypes | array | standard, goblin, and/or demon. |
promoOnly / liveOnly / status | boolean / enum | Promo and live board filters. |
maxResults | integer | Hard cap on billed rows (1–20000). Prefill 25. |
What data you receive
One dataset item is one player prop (or one league catalog row in leagues mode).
{"recordType": "player-prop","projectionId": "13957673","playerName": "Shohei Ohtani","team": "LAD","league": "MLB","statType": "Home Runs","lineScore": 1.5,"oddsType": "standard","status": "pre_game","isPromo": false,"opponent": "SEA","startTime": "2026-09-16T02:10:00.000-04:00","scrapedAt": "2026-09-16T00:00:00.000Z","source": "prizepicks"}
Real-world use cases
1. MLB capped board snapshot
{"mode": "projections","leagues": ["MLB"],"maxResults": 25,"singleStat": true}
2. Live leagues catalog
{"mode": "leagues","maxResults": 10}
3. Goblin-only MLB lines
{"mode": "projections","leagues": ["MLB"],"oddsTypes": ["goblin"],"maxResults": 25}
4. Promo / flash-sale props
{"mode": "projections","leagues": ["MLB"],"promoOnly": true,"maxResults": 25}
5. Two-league research pull
{"mode": "projections","leagues": ["MLB", "NBA"],"maxResults": 50}
Why agents choose this Actor
- Flat keys (
playerName,statType,lineScore,oddsType,scrapedAt) instead of nested JSON:API payloads. maxResultsis a hard cost ceiling. Unknown league ids finish asINVALID_INPUTinstead of a hollow success.- Terminal
OUTPUT.outcomevalues (COMPLETE,PARTIAL,VALID_EMPTY,INVALID_INPUT,UPSTREAM_FAILED) are stable enough to branch on. - No PrizePicks login. Public partner-api board data only.
Agent checklist
- Pass league names or numeric
leagueIds. Usemode: "leagues"when you need current ids. - Set
maxResultsto the number of rows you can bill. - After the run, read
OUTPUT.outcome, then the dataset. Zero rows withVALID_EMPTYmeans the filters matched nothing on the live board. - Keep
scrapedAtandsourceas provenance. Lines move; treat each run as a point-in-time snapshot. - Prefer one league and a small cap in agent loops so cost stays forecastable.
Use through the API
curl "https://api.apify.com/v2/acts/khadinakbar~prizepicks-player-props-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "projections","leagues": ["MLB"],"maxResults": 25,"singleStat": true}'
When the Actor completes, read dataset items from the default dataset and the OUTPUT record from the default key-value store.
Use with AI agents through Apify MCP
Scrape live MLB PrizePicks player props capped at 25 rows. Return playerName, statType, lineScore, oddsType, opponent, and scrapedAt. Then inspect OUTPUT.outcome before summarizing.
Connect through https://mcp.apify.com. After the tool call, read the dataset and the OUTPUT / RUN_SUMMARY records.
Pricing
This Actor uses Pay per event plus Apify platform usage. Open the live Pricing tab for current event details, and use Apify's run cost controls to keep the workflow aligned with your budget.
The named result event is player-prop (one persisted prop or league-catalog row) plus apify-actor-start. Invalid input and fully empty unmatched queries stay unbilled for the named result charge.
Outcome vocabulary
These values live in the key-value store records OUTPUT and RUN_SUMMARY, not on each dataset row.
| Outcome | Meaning |
|---|---|
COMPLETE | Requested boards were processed and useful rows were saved without hitting the cap early. |
PARTIAL | Useful rows were saved, but filters, empty boards, or maxResults stopped the run short of a full complete board. |
VALID_EMPTY | The request was valid and the live board had no matching props. |
INVALID_INPUT | League mode lacked leagues/ids, or requested league ids could not be resolved. No prop events are charged. |
UPSTREAM_FAILED | The PrizePicks partner API did not return usable board data after the recovery ladder. |
Connect the workflow
- When you also need sportsbook odds and player props from DraftKings for the same slate, continue with DraftKings Odds + Player Props after you finish the PrizePicks board snapshot.
- Prefer this Actor when the job is PrizePicks DFS lines specifically; route non-PrizePicks sportsbook work to the DraftKings sibling instead of stretching this contract.
Best results
- Start with one league and a small
maxResultswhile testing. - Use
mode: "leagues"to discover live ids before a multi-league pull. - Empty boards or filters with no matches finish as truthful
VALID_EMPTY(no hollow rows). - Set an explicit
maxResultson busy slates so billed volume stays predictable.
Builder's note
I built this after confirming that api.prizepicks.com is DataDome-walled from datacenter and many residential exits, while partner-api.prizepicks.com serves the same /leagues and /projections JSON:API without a login. In my testing, inventing targets for unknown league ids produced misleading scrapes, so unresolved ids now finish as INVALID_INPUT. I also removed a silent schema default for leagues so empty league mode stays an explicit validation path rather than quietly injecting MLB.
FAQ
Do I need a PrizePicks account? No. The Actor reads the public partner API board data.
What are Goblin and Demon? PrizePicks odds tiers: Goblin is typically an easier line with lower payout; Demon is a harder line with higher payout. Standard is the normal board line.
Can an AI agent use this?
Yes. Pass leagues or filters, then read one row per prop and inspect OUTPUT.outcome.
Why did I get INVALID_INPUT?
mode: "league" requires leagues or leagueIds, and numeric ids must exist in the live catalog.
Responsible use
This Actor returns publicly exposed PrizePicks board projections for research, modeling, and automation you are authorized to run. Treat outputs as point-in-time board snapshots, keep request volume courteous, and comply with PrizePicks terms, local gambling laws, and your own data-use policies. Stay within public board data and authorized research workflows; account login and age or geo circumvention are outside this Actor's contract.
PrizePicks is a trademark of its respective owner. This independent Actor is not affiliated with, associated with, endorsed by, or sponsored by PrizePicks.