Skip to content

Sleeper Player Props Scraper

Try for free

Scrape Sleeper Picks player props: over/under lines, payout multipliers, pick popularity and counts, alternate and promo lines, last-10 recent form, game and player details for NBA, NFL, college, MLB, NHL, WNBA, soccer, tennis, golf, MMA and CS2. No login.

🏀 Sleeper Player Props Scraper

Get every player prop on Sleeper Picks: the over/under line, both payout multipliers, pick popularity with over and under pick counts, the player's last 10 results for that stat, and full game and player details. NBA, NFL, college football, MLB, NHL, WNBA, soccer, tennis, golf, MMA and CS2, in one run, with no login. A full NBA board (well over 1,000 lines) usually comes back in under 20 seconds, at $0.12 per 1,000 lines.

✨ Why use Sleeper Player Props Scraper?

  • 🎯 The whole board in one table: one row per prop line with the target, the over and under multipliers, the line type (normal, alternate or promotion) and Sleeper's own line IDs.
  • 👥 Pick popularity and counts: Sleeper's popularity score plus how many users picked over and under, and the over share already computed.
  • 📈 Recent form next to the line: the player's last 10 games for that stat (date, opponent, value), their average and how many of those games went over the current line.
  • 🔀 Alternate and promo lines: alternate targets with their multipliers (one row per market or one row per target, your choice), boosted payouts, discounted lines and free picks.
  • 🧑 Player and game context: team, position, jersey, age, height, weight, college, injury status and notes, depth chart, Sportradar/ESPN/Rotowire IDs, matchup, team records, venue, TV channel, tournament or event name.
  • ⚡ Fast and cheap: reads Sleeper's public data directly, no browser, no account. You only pay for lines you keep: filtered-out lines are free.

🎯 Use cases

  • 💸 Line shopping: compare Sleeper lines and multipliers with other pick'em apps and sportsbooks before you build an entry.
  • 🔔 Line and multiplier alerts: schedule a run every few minutes and alert when a line or multiplier moves (key: projection_id).
  • 🧠 Model inputs: feed lines, multipliers, popularity and recent form into projections and hit-rate models.
  • 📰 Content and newsletters: publish daily "most picked" props or players who keep clearing their line.
  • 🗂️ Research and backtesting: collect the board every day and build your own history of lines, promos and popularity.
  • 🤖 Discord and Telegram bots: post fresh boards or promo lines for a team, player or stat.

🚀 How to use

  1. Pick one or more Leagues (or All leagues for the whole board). Leagues missing from the list go in Other leagues.
  2. Set Maximum lines (0 = every line that matches).
  3. Optionally narrow the board with Player names, Stat types and Teams.
  4. Choose the options: alternate lines, promotional lines, recent performance.
  5. Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
leaguesAll, NBA, NFL, CFB, CBB, MLB, NHL, WNBA, PGA, MMA, Tennis, CS2, Soccer (all leagues), Soccer:EPL, Soccer:LaLiga, Soccer:Ligue1, Soccer:SerieA, Soccer:Bundesliga, Soccer:MLS, Soccer:UEFAChamps
extraLeaguesOther leagues by the name shown in league or sport, comma-separated
maxItemsStop after this many lines (default 20, 0 = no limit)
playerNamesPartial player names, accents and case ignored (Jokic matches Jokić)
statTypesStat machine names or display names (points, threes_made, 3-Pointers Made)
teamsTeam codes or names; matches the player's team or either team in the game
includeAlternateLinesAdd alternate targets (off by default)
splitAlternateLinesOne row per alternate target instead of one row per alternate market
includePromotionsBoosts, discounted lines and free picks (on by default)
includeRecentPerformanceLast 10 results for the stat (on by default)
{
  "leagues": ["NBA", "NFL"],
  "maxItems": 0,
  "statTypes": "points, passing_yards",
  "includeAlternateLines": true
}

📤 Output

One row per prop line. The main fields:

FieldDescription
player_name, player_team, player_positionWho the line is on
league, stat, stat_displayLeague and stat (machine name and readable name)
lineThe target value
over_multiplier, under_multiplierPayout multipliers for each side
pick_popularity, pick_count_over, pick_count_under, pick_count_total, pick_over_shareHow the community is picking
line_type, is_alternate, is_promo, promotion_type, is_free_pickNormal, alternate or promotion line
alternate_linesEvery alternate target with its multipliers (alternate rows)
recent_performance, recent_average, recent_over_countLast 10 results and how many beat the line
game_start, home_team_name, away_team_name, opponent, tv_channel, venue_name, event_nameThe game or event
player_age, player_height, player_weight, player_college, player_injury_status, player_depth_chart_position, player_imagePlayer details
projection_id, over_line_id, under_line_id, game_id, player_sportradar_idIDs to join and track lines over time

A real row from an NBA run (trimmed):

{
  "platform": "sleeper",
  "league": "NBA",
  "player_name": "LeBron James",
  "stat": "assists",
  "stat_display": "Assists",
  "line": 7.5,
  "over_multiplier": 1.67,
  "under_multiplier": 1.9,
  "pick_popularity": 0.1443932411674347,
  "pick_count_over": 6,
  "pick_count_under": 1,
  "pick_count_total": 7,
  "pick_over_share": 0.8571,
  "line_type": "normal",
  "is_alternate": false,
  "is_promo": false,
  "game_start": "2026-10-22T23:00:00+00:00",
  "game_status": "pre_game",
  "home_team": "PHI",
  "away_team": "CLE",
  "home_team_name": "Philadelphia 76ers",
  "away_team_name": "Cleveland Cavaliers",
  "home_team_record": "1-0",
  "away_team_record": "0-0",
  "opponent": "CLE",
  "tv_channel": "ESPN",
  "venue_name": "Xfinity Mobile Arena",
  "venue_city": "Philadelphia",
  "player_team": "PHI",
  "player_team_name": "Philadelphia 76ers",
  "player_position": "PF",
  "player_jersey": 23,
  "player_image": "https://sleepercdn.com/content/nba/players/thumb/1362.jpg",
  "player_id": "1362",
  "player_age": 41,
  "player_height": "81",
  "player_weight": "250",
  "player_depth_chart_position": "PF",
  "player_sportradar_id": "0afbe608-940a-4d5d-a1f7-468718c67d91",
  "recent_performance": [{"date": "2026-10-20", "opponent": "NYK", "value": 7}],
  "recent_average": 7,
  "recent_over_count": 0,
  "season": "2026",
  "game_id": "1392938574764052480",
  "projection_id": "1418762252319744001",
  "over_line_id": "1418762252319744001",
  "under_line_id": "1418762252319744002",
  "market_type": "assists_over_under_player_1362",
  "updated_at": "2026-10-21T22:29:50.576000+00:00"
}

An alternate market (trimmed):

{
  "player_name": "Brandon Miller",
  "league": "NBA",
  "stat_display": "3-Pointers Made",
  "line": 1.5,
  "over_multiplier": 1.06,
  "line_type": "alternate",
  "alternate_lines": [
    {"line": 1.5, "over_multiplier": 1.06, "under_multiplier": null},
    {"line": 2.5, "over_multiplier": 1.36, "under_multiplier": null},
    {"line": 4.5, "over_multiplier": 2.72, "under_multiplier": null},
    {"line": 5.5, "over_multiplier": 3.81, "under_multiplier": null}
  ]
}

💰 Pricing

You pay $0.12 per 1,000 lines saved ($0.00012 per line). Lines removed by your filters are not charged.

  • 1,000 lines ≈ $0.12
  • A full NBA game-day board (about 1,300 to 1,600 lines in our tests) ≈ $0.16 to $0.19
  • The whole board with alternates (about 7,150 rows in our test) ≈ $0.86

Platform usage (compute and proxy traffic) is billed on top and is small: about $0.001 to $0.002 for a full NBA run and about $0.01 for the whole board with alternates in our tests.

❓ FAQ

Is it legal to scrape Sleeper? The actor reads public data that Sleeper shows to anyone, without logging in. You are responsible for how you use it: check Sleeper's terms and the laws that apply to you.

Do I need a Sleeper account, cookies or a proxy? No account and no cookies. The default datacenter proxy works well; you can also switch the proxy off or use your own.

How many lines can I get? Everything Sleeper has on the board for the leagues you pick. Set Maximum lines to 0 for all of them. The board changes during the day as Sleeper takes lines down and posts new ones.

Why is a field empty? Sleeper does not have every detail for every sport: college and esports players have no photos, tennis, golf and MMA have no teams, pick counts only exist once users have picked, and recent performance is empty early in a season. Empty fields are null.

Can I schedule it or use the API? Yes. Schedule runs (for example every 5 minutes on game days) and read the dataset through the API. Use projection_id to track the same line across runs.

What are pick popularity and the pick counts? pick_popularity is Sleeper's own popularity score for the prop. pick_count_over, pick_count_under and pick_count_total are the counts Sleeper shows, and pick_over_share is over picks divided by total picks.

⚠️ Limits

  • Only pre-game lines that are live on the Sleeper board at run time. There is no history: schedule runs to build your own.
  • Season-long boards and leagues that are not in the list are matched through Other leagues by the name Sleeper uses; they only return lines while Sleeper offers them.
  • Player photos are not available for college and esports players.

Related actors

//From the blog\\

Latest articles

All articles
G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.