PrizePicks Player Props Scraper - Real-Time Lines
Pricing
from $0.05 / 1,000 projections
PrizePicks Player Props Scraper - Real-Time Lines
Extract real-time player prop lines from PrizePicks across 29 leagues. Get over/under lines, odds tiers, player stats, team matchups, and game schedules. NBA, MLB, NHL, Soccer, Tennis, and esports. Filter by league or player name. 51 fields per prop. JSON, CSV, Excel export.
Pricing
from $0.05 / 1,000 projections
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
4
Bookmarked
414
Total users
61
Monthly active users
0.61 hours
Issues response
2 days ago
Last modified
Categories
Share
PrizePicks Player Props Scraper — Real-Time Lines Across 44 Leagues
🆕 New: Bet365 Player Props API. Line-shop these picks against the live Bet365 sportsbook line, decimal, American, and fractional odds on every prop.
| 20,000 player props in under 5 seconds — real-time over/under lines with 77 fields across 44 leagues. |
2026-09-05 — 77 fields per prop, up from 51, and player names are never blank again.
2026-07-28 — 13 more leagues in the dropdown, including WNBA, NFL and College Football. Season-long markets are live only while PrizePicks offers them, so they can be empty mid-season.
Earlier updates are in the Changelog tab.
| Zen Studio Sports Betting • Real-time odds across every major sportsbook | |||
|
Global odds, live scores |
Lines, props, SGP |
Lines and odds |
➤ You are here |
Get every active player prop from PrizePicks as structured JSON.
Each result is one prop: a player, a stat, and an over/under line with the odds tier.
Filter by league, player name, or fetch the entire board in one call.
- 77 fields per prop — player profile, team colors, game matchup, odds tier, timestamps
- Every active league — MLB, WNBA, NBA, NFL, NHL, Soccer, Tennis, College Basketball, College Football, CS2 (Counter-Strike), League of Legends, Valorant, Dota 2, Rocket League, Call of Duty, Cricket, AFL, and more. Seasonal events appear automatically; enable List available leagues to see what's live right now
- Real-time data — lines update every few minutes on PrizePicks
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
zen-studio/prizepicks-player-props on Apify. Call: ApifyClient("TOKEN").actor("zen-studio/prizepicks-player-props").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: leagues (string[], defaults to ["MLB","World Cup"]: "All"|"Esports"|"NBA"|"WNBA"|"NFL"|"MLB"|"NHL"|"Soccer"|"Tennis"|etc), extraLeagues (string, comma-separated league names not in the dropdown, e.g. "World Cup"), listLeagues (boolean, outputs the leagues live right now then stops), playerNames (string, comma-separated), statTypes (string, comma-separated stat names like "Points, PRA, Goals"), oddsTiers (string[], "standard"|"demon"|"goblin"), teams (string, comma-separated team names/abbreviations). Filters combine with AND logic, filtered rows not billed. Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/zen-studio~prizepicks-player-props/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: pay-per-event, $0.05/run start, $0.00005/projection. Get token: https://console.apify.com/account/integrations
How It Works
|
|
|
|
|
|
|
What Data Can You Extract from PrizePicks?
Every result includes:
- Player name, full name, team, position, market, jersey number, headshot URL
- Stat category and short name (Points, PRA, SOT, Goals, etc.)
- Over/under line score with odds tier (standard, demon, goblin)
- Wager direction: whether a line takes both sides or is over-only
- Game matchup with home/away teams, full team names, markets, logos, and primary, secondary and tertiary brand colours
- Game start time, live status, and schedule
- Projection timestamps (board time, last updated, game created and updated)
- Flash sale lines, discount name and percentage, promo flags, refundable status
- Trending count: how many entries a line is currently appearing in
- Duration (Full, 1st Half, 1st Quarter, 1st Period)
- Stable IDs throughout for projection, player, game, league and both teams, so results join cleanly across runs and against your own data
Odds Tiers
PrizePicks offers the same stat at different difficulty levels:
| Tier | Meaning | Example |
|---|---|---|
| Standard | Normal line | Jokic PRA 50.5 |
| Demon | Harder to hit, higher payout | Jokic PRA 56.5 |
| Goblin | Easier to hit, lower payout | Jokic PRA 48.5 |
How to Scrape PrizePicks Player Props
Discover what's available right now
{"listLeagues": true}
Returns one row per league with its prop count and full league profile (21 fields), then stops. Use the names you see here in leagues or extraLeagues.
Basic — single league
{"leagues": ["MLB"]}
A league not in the dropdown
{"extraLeagues": "World Cup"}
Multiple Leagues
{"leagues": ["MLB", "Tennis", "World Cup"]}
Filter by Player Name
{"leagues": ["NBA"],"playerNames": "Jokic, LeBron, Curry"}
Filter by Stat Type
{"leagues": ["NBA"],"statTypes": "Points, PRA, Rebounds"}
Only Demon Lines (higher payout)
{"leagues": ["NBA", "MLB"],"oddsTiers": ["demon"]}
Filter by Team
{"leagues": ["NBA"],"teams": "Lakers, Celtics"}
Combine Filters (AND logic)
{"leagues": ["NBA"],"statTypes": "PRA","oddsTiers": ["demon"],"teams": "Lakers"}
Everything at Once
{"leagues": ["All"]}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
leagues | array | ["MLB", "World Cup"] | One or more leagues. Select "All" for every available league, or "Esports" for all 6 esports titles |
extraLeagues | string | — | Comma-separated league names not in the dropdown (e.g. World Cup). Type the name as it appears on PrizePicks. Combined with leagues |
listLeagues | boolean | false | Output the leagues currently offering props (name + count), then stop. Use it to discover what to request. Ignores all other inputs |
playerNames | string | — | Comma-separated player names. Case-insensitive, diacritic-insensitive (Jokic matches Jokić). Partial matching |
statTypes | string | — | Comma-separated stat types. Accepts full names or abbreviations (PRA, Points, Goals, SOT). Exact match, case-insensitive |
oddsTiers | array | — | One or more tiers: standard, demon, goblin. Leave empty for all tiers |
teams | string | — | Comma-separated team names or abbreviations (Lakers, LAL). Matches player's team or either side of matchup |
All filters are optional and combine with AND logic. Filtered-out projections are not billed.
More Zen Studio scrapers for sports betting
🏟️ Sportsbook odds
FanDuel
DraftKings
BetMGM
Bet365
🎯 Daily fantasy & player props
Underdog Fantasy
Sleeper
DraftKings Pick6
Bet365
Supported Leagues
Select individual leagues or use All to fetch every projection at once. Use Esports to get all 6 esports titles in one pick.
Leagues are matched live, so seasonal events (like the World Cup) work as soon as PrizePicks lists them. If a league isn't in the dropdown, add its name under Other leagues (extraLeagues). Not sure what's running? Enable List available leagues for a quick listing.
| Category | Leagues |
|---|---|
| Major Sports | NBA, WNBA, NFL, MLB, NHL, Soccer, Tennis, College Basketball (CBB), College Football (CFB) |
| Seasonal Events | World Cup, World Cup 1st Half |
| Esports | CS2 (Counter-Strike), League of Legends, Valorant, Dota 2, Rocket League, Call of Duty |
| Golf & Motorsport | PGA, LIV Golf, NASCAR |
| Combat & Other US | UFC (MMA), CFL (Canadian Football), BIG3 Basketball, TBT (The Basketball Tournament) |
| Sub-game Props | NBA 1st Quarter, WNBA 1st Quarter, WNBA 1st Half, NHL 1st Period, College Basketball 1st Half |
| Live In-Game | MLB Live |
| Season & Futures | NFL Season Props, NBA Season Props, WNBA Season Props, MLB Season Props, NHL Season Props, MLB Spring Training |
| International | Cricket, AFL (Australian Football), KBO (Korean Baseball), Big Bash League, Argentinian Basketball, South American College Basketball |
| Other | Bowling, Badminton |
Stat Types by League
Pass these as comma-separated values in statTypes. Both the abbreviated form (PRA) and the long form (Pts+Rebs+Asts) work.
| League | Available Stat Types |
|---|---|
| NBA / WNBA / CBB | Points, Rebounds, Assists, 3PTM, Steals, Blocks, Turnovers, PRA, Pts+Rebs, Pts+Asts, Rebs+Asts, Blks+Stls, Dunks, Double-Double, Triple-Double, Plus/Minus, Fantasy Score |
| MLB | Hits, Runs, RBIs, Home Runs, Total Bases (TB), Doubles, Triples, Singles, Walks, Stolen Bases (SB), Hits+Runs+RBIs, Pitcher Strikeouts (Ks), Hitter Strikeouts, Pitching Outs (PO), Earned Runs Allowed, Hits Allowed, Walks Allowed, Hitter Fantasy Score, Pitcher Fantasy Score |
| NHL | Points, Goals, Assists, Shots On Goal (SOG), Blocked Shots, Power Play Points, Goalie Saves, Plus/Minus |
| Soccer | Goals, Assists, Goal + Assist, Shots, Shots On Target (SOT), Shots Assisted, Attempted Dribbles, Passes Attempted, Tackles, Clearances, Fouls, Goalie Saves |
| Tennis | Aces, Double Faults, Break Points Won, Total Games, Total Games Won, Total Sets, Total Tie Breaks, Fantasy Score |
| NFL | Pass Yards, Pass TDs, Rush Yards, Rush TDs, Receiving Yards (Rec Yards), Rec TDs, Sacks |
| CS2 / LoL / Valorant / Dota 2 | MAPS 1-2 Kills, MAPS 1-2 Headshots, MAPS 1-3 Kills, Series K/D, MAP 1 Kills, MAP 2 Kills, MAP 3 Kills, etc. |
| Rocket League | MAPS 1-4 Goals, MAPS 1-4 Saves, MAPS 1-4 Demos |
| Call of Duty | MAPS 1-3 Kills, Series K/D, MAP 1–5 Kills |
| PGA / LIV Golf | Hole 10 thru 18 Shots, other hole-specific stats |
| Cricket | Fours, Sixes, 1st Inning Runs |
| AFL | Disposals, Goals |
| Darts | 180's Thrown |
Stat types vary daily based on scheduled games. Some stats (like season projections) only appear in specific leagues. To see what's available right now, run the scraper once without a statTypes filter and inspect the stat_short field.
Pricing — Pay Per Event (PPE)
$0.05 per 1,000 projections.
Rows removed by your filters are not billed. Apify's own per-run platform fees are listed in the pricing panel on this page.
Cost Examples
Projection charges for a single run.
| What You Fetch | Props | Cost |
|---|---|---|
| NBA (typical game day) | ~5,000 | ~$0.25 |
| NBA + MLB + NHL | ~6,000 | ~$0.30 |
| All leagues (full board) | ~17,000 | ~$0.85 |
| NBA filtered to 1 player | ~55 | < $0.01 |
Monthly Estimates
Projection charges, assuming ~5,000 props per NBA pull and ~6,000 for three leagues.
| Usage Pattern | Runs / Month | Cost |
|---|---|---|
| NBA twice daily | 60 | ~$15 |
| 3 leagues twice daily | 60 | ~$18 |
| NBA hourly | 720 | ~$180 |
| NBA every 5 minutes | 8,640 | ~$2,160 |
Cost Optimization
- Fewer, larger runs beat many small ones
- Use
leaguesto fetch only the sports you need - Use
statTypesto narrow to specific stats (e.g., only Points and Rebounds) - Use
oddsTiersto filter by line difficulty (e.g., only demon lines) - Use
teamsto focus on specific matchups - Use
playerNamesto narrow to specific players
Filters combine with AND logic, and filtered-out projections are not billed.
Output Example
Every prop includes all 77 fields below. Nothing is trimmed or collapsed. This is a real, unedited result from the NFL board.
{"projection_id": "13957673","line": 253.5,"stat": "Pass+Rush Yds","stat_short": "Pass+Rush Yds","odds_tier": "standard","adjusted_odds": true,"flash_line": null,"is_promo": false,"status": "pre_game","is_live": false,"is_live_scored": true,"in_game": false,"refundable": true,"rank": 9,"projection_type": "Single Stat","start_time": "2026-09-09T20:20:00.000-04:00","board_time": "2026-08-19T20:26:32.498-04:00","updated_at": "2026-08-28T17:40:17.532-04:00","description": "SEA","hot": null,"tv_channel": null,"custom_image": null,"event_type": "team","allowed_wager_types": "under_or_over","group_key": "215664-260-NFL_game_vZ6B5J0rXESRNW9AcC2Muotr-11-false","trending_count": 172,"discount_name": null,"discount_percentage": null,"league_ppid": "NFL","end_time": null,"today": false,"player_name": "Drake Maye","player_team": "NE","player_team_name": "Patriots","player_market": "New England","player_position": "QB","player_image": "https://static.prizepicks.com/images/teams/nfl/NFL_team_OqHm2WrR1koV4WNCwbEs7ZvG/10.webp","player_jersey": "10","player_combo": false,"player_id": "215664","player_full_name": "Drake Maye","player_ppid": "NFL_player_3X2sVkS5qsEqC9ftBbXeFzc5","player_league": "NFL","player_league_id": 9,"league": "NFL","league_id": 9,"game_id": "162474","game_external_id": "NFL_game_vZ6B5J0rXESRNW9AcC2Muotr","game_record_external_id": "NFL_game_vZ6B5J0rXESRNW9AcC2Muotr","game_created_at": "2026-05-25T19:26:45.943-04:00","game_updated_at": "2026-08-15T11:41:04.561-04:00","game_start": "2026-09-09T20:20:00.000-04:00","game_end": null,"game_status": "scheduled","game_is_live": false,"home_team": "SEA","home_team_name": "Seahawks","home_team_market": "Seattle","home_team_color": "69BE28","home_team_id": "1196","home_team_secondary_color": "002244","home_team_tertiary_color": "69BE28","home_team_logo": "https://static.prizepicks.com/production/snluly8rklkdgfvswgrlx1owgnob-Seattle%20Seahawks.png","home_team_ppid": "NFL_team_CagV60AIajg4pizCSJD5M18M","away_team": "NE","away_team_name": "Patriots","away_team_market": "New England","away_team_color": "C60C30","away_team_id": "1232","away_team_secondary_color": "002244","away_team_tertiary_color": "C60C30","away_team_logo": "https://static.prizepicks.com/production/fl0a78zyr065db03yrppwqdjkqtp-New%20England%20Patriots.png","away_team_ppid": "NFL_team_OqHm2WrR1koV4WNCwbEs7ZvG","duration": "Full","projection_type_name": "Single Stat","stat_rank": 13,"stat_lfg_ignored_leagues": []}
League discovery output
Running with listLeagues enabled returns one row per league instead of props:
21 fields each, every key present. Real rows, unedited:
[{"league": "NFL","availableProps": 6175,"league_id": 9,"display_name": "NFL","rank": 999,"active": true,"icon": "football","image_url": "https://static.prizepicks.com/images/leagues/production/30.svg","logo": null,"full_logo": null,"league_icon_id": 30,"player_headshot_fallback": null,"parent_id": null,"parent_name": null,"has_live_projections": false,"has_featured_sections": false,"has_prediction_events": false,"game_lines": false,"last_five_games_enabled": true,"show_trending": true,"f2p_enabled": true},{"league": "CFB1H","availableProps": 138,"league_id": 184,"display_name": "CFB1H","rank": 999,"active": true,"icon": "football","image_url": "https://static.prizepicks.com/images/leagues/production/3.svg","logo": null,"full_logo": null,"league_icon_id": 3,"player_headshot_fallback": "https://static.prizepicks.com/production/p5tx33d4clfczh5p4oxrsz43mpsh-cffbfall.webp","parent_id": 15,"parent_name": "CFB","has_live_projections": false,"has_featured_sections": false,"has_prediction_events": false,"game_lines": false,"last_five_games_enabled": false,"show_trending": true,"f2p_enabled": true}]
Sub-leagues such as first-half or quarter markets carry parent_id and
parent_name pointing at the league they split from.
Scheduling
| Cadence | Best For |
|---|---|
| Once or twice daily | Daily picks newsletters, content creation |
| Every 1–4 hours | Line comparison tools, data collection |
| Every 2–5 minutes | Near real-time monitoring, Discord bots |
Data Export
Results are available in:
- JSON — structured data for programmatic analysis
- CSV — flat tables for spreadsheets
- Excel — formatted data for reporting
Export directly from Apify Console or via API.
FAQ
How many props are typically available? Around 12,000–20,000 across all leagues. NBA alone has 2,000–5,000 depending on the game schedule.
How often do lines change?
Lines update every few minutes. The updated_at field shows exactly when each prop was last changed.
What's the difference between standard, demon, and goblin? Standard is the normal line. Demon is harder with higher payout potential. Goblin is easier with lower payout. Same player and stat, different difficulty.
What are combo players?
Combo props combine two players (e.g., "Jokic + Murray"). The player_combo field is true and the name shows both players.
Does this work outside the US? Yes. The scraper uses a US residential proxy internally. You can run it from anywhere.
What happens if a league has no games today? Zero results for that league with an info message. No error, no charge.
Can I track line movements?
Schedule the scraper to run periodically and compare line values across runs using projection_id as the key.
Legal Compliance
This Actor extracts publicly available data from the PrizePicks platform. Users must ensure compliance with PrizePicks terms of service and applicable data protection regulations when using extracted data.

