Skip to content

Underdog Fantasy Player Props Scraper

Try for free

Every Underdog Fantasy pick'em player prop in one run: player, stat, line, higher and lower odds, payout multipliers, game, teams and start time. No login needed.

🐶 Underdog Fantasy Player Props Scraper

Get every Underdog Fantasy pick'em line as clean rows: player, stat, line, higher and lower odds (American, decimal and fair), payout multipliers and tiers, game, both teams and start time. Pick the leagues you want, or the whole board, and get results in seconds. No login, no account and no API key.

✨ Why use Underdog Fantasy Player Props Scraper?

  • ⚡ Fast — in our tests one league (913 NBA lines) took about 3 seconds of scraping and the whole board (about 8,700 lines in 16 leagues) about 8 seconds.
  • 💸 Both sides in one row — higher and lower American odds, decimal odds, payout multipliers, payout tier (standard, boosted, discounted), implied probability and fair odds side by side.
  • 🏈 Every league Underdog offers — NBA, NFL, MLB, NHL, WNBA, college football and basketball, soccer (Premier League, Champions League, La Liga and more), tennis, golf, UFC, motorsports and esports (CS2, League of Legends, Valorant, Dota 2).
  • 🧩 About 75 fields per line — player profile and headshot, position, matchup, venue, broadcasts, MLB probable pitchers where posted, competition, stable ids and update times.
  • 🎛️ Filters that save money — players, stats, teams, payout tiers and games starting within N hours. Filtered-out lines are not saved and not charged.
  • 🔓 No login needed — only the public pick'em board any visitor sees.

🎯 Use cases

  • 📊 Betting models and research — run your projections against every Underdog line and find the props where your number disagrees.
  • 🔁 Line shopping — compare Underdog lines and payouts with PrizePicks or sportsbook player props and take the softest one.
  • 📈 Line and payout tracking — schedule runs on game days and store each snapshot; updated_at, stable_id and projection_id show what moved.
  • 🔔 Alerts and bots — push boosted payouts or a favorite player's lines to Discord, Telegram or Slack.
  • 📰 Fantasy and media content — show today's lines next to previews, rankings and pick articles.

🚀 How to use

  1. Pick one or more Leagues (for example NBA and NFL), or All leagues for the whole board.
  2. Set Max lines (20 by default; 0 saves every matching line).
  3. Optionally narrow it down with Players, Stat types, Teams, Payout tiers or Starts within (hours).
  4. Click Start. A league takes a few seconds.
  5. Download the results as JSON, CSV, Excel or HTML, or read them over the API.

Not sure which leagues have lines right now? Turn on List available leagues: you get one row per league with its live line count, free of result charges.

📥 Input

FieldWhat it does
leaguesLeagues to read, e.g. ["NBA", "NFL"]. All reads the whole board, Esports every esports title, EPL/UCL/La Liga/... one soccer competition.
maxItemsMost lines to save (default 20). 0 saves everything that matches.
extraLeaguesAny other league by its Underdog code or name (e.g. PFL, RUGBY, Overwatch).
playerNamesOnly these players. Partial, case- and accent-insensitive (Jokic matches Nikola Jokić).
statTypesOnly these stats, display name or key (Points, Pts + Rebs + Asts, rush_rec_tds).
teamsTeam abbreviation, name or full name; matches the player's team or either side of the game.
payoutTiersstandard, boosted and/or discounted (matches either side).
hoursAheadOnly games starting within this many hours.
listLeaguesList the leagues and their live line counts instead of lines.
{
  "leagues": ["NBA", "NFL"],
  "maxItems": 0,
  "statTypes": ["Points", "Pass Yards"],
  "payoutTiers": ["boosted"]
}

📤 Output

One row per line: a player, a stat and a line with both the higher and the lower side.

FieldExample
player_name, player_team, player_position, player_jersey, player_imageScottie Barnes, TOR, PF
league, competitionNBA; for soccer and tennis the competition, e.g. EPL, ATP Lyon
stat, stat_display, linepoints, Points, 19.5
higher_american_odds, higher_decimal_odds, higher_payout_multiplier, higher_payout_tier+113, 2.13, 1.09, boosted
lower_american_odds, lower_decimal_odds, lower_payout_multiplier, lower_payout_tier-139, 1.72, 0.87, discounted
*_implied_probability_pct, *_fair_american_odds, *_fair_decimal_oddsfair price of each side
game_title, game_start, home_team, away_team (+ names)the matchup and start time (UTC)
venue_name, broadcasts, home_pitcher, away_pitcherwhere posted
has_alternates, flash_line, favored_side, boostextra line details
projection_id, stable_id, player_id, game_idids for joining runs
updated_at, scraped_atwhen the line changed and when it was read

Example (one row from a test run, trimmed):

{
  "projection_id": "0ef36fb9-363f-47d5-ba4b-4438286da3bb",
  "line": 19.5,
  "stat": "points",
  "stat_display": "Points",
  "status": "active",
  "player_name": "Scottie Barnes",
  "player_team": "TOR",
  "player_team_name": "Toronto Raptors",
  "player_position": "PF",
  "league": "NBA",
  "game_title": "Chicago Bulls @ Toronto Raptors",
  "game_start": "2026-10-21T23:30:00Z",
  "home_team": "TOR",
  "away_team": "CHI",
  "has_alternates": true,
  "higher_american_odds": "+113",
  "higher_decimal_odds": "2.13",
  "higher_payout_multiplier": "1.09",
  "higher_payout_tier": "boosted",
  "higher_implied_probability_pct": 46,
  "higher_fair_american_odds": "+102",
  "lower_american_odds": "-139",
  "lower_decimal_odds": "1.72",
  "lower_payout_multiplier": "0.87",
  "lower_payout_tier": "discounted",
  "lower_implied_probability_pct": 57,
  "lower_fair_american_odds": "-157",
  "stat_title": "Scottie Barnes Points O/U",
  "stable_id": "fc7ec4a1-fd5b-4afa-9046-ee7945b54dfc|balanced",
  "updated_at": "2026-10-21T06:31:15.771Z",
  "scraped_at": "2026-10-21T08:09:46.106Z"
}

With List available leagues on, each row is a league: league, league_name, available_lines, games, players, competitions and is_esports.

💰 Pricing

Pay per event: $0.12 per 1,000 lines plus $0.005 per run start.

  • A full NBA slate (913 lines in our test) ≈ $0.11 + $0.005 = $0.12.
  • The whole board (about 8,700 lines in our test) ≈ $1.06.
  • League listings are free apart from the run start.

Platform usage (compute and proxy traffic) is billed on top and is small: under one cent per run in our tests (about $0.001 for one league, $0.003 for the whole board).

❓ FAQ

Is it legal? It reads the public pick'em board any visitor sees, with no login. Use the data in line with Underdog's terms and the laws where you live.

Do I need an Underdog account or a proxy? No account. Underdog only serves visitors in the US and Canada, so the run uses US exits by default; you don't need to set anything.

How many lines can I get? Everything on the board. It changes all day: in our tests an October weekday morning had about 8,700 lines in 16 leagues, and leagues out of season have none. Use List available leagues to see the counts right now.

Why is a field empty? Some fields only exist for some lines: about half of the lines are higher-only, so the lower_* fields are empty; team fields stay empty for one-on-one sports such as tennis and UFC (the two players are in home_team_name and away_team_name); venue, weather and probable pitchers only appear when Underdog posts them.

Can I schedule it or use the API? Yes. Schedule runs (hourly on game days works well) and read the dataset over the API, or connect it to webhooks and automation tools.

Do filtered-out lines cost money? No. Only saved lines are charged.

⚠️ Limits

  • Lines change by the minute; each run is a snapshot of the board at scraped_at.
  • Only the public pre-game pick'em board. Alternate lines (has_alternates) are flagged but not expanded, and live in-game lines and account data such as your own entries are not covered.
  • Historical lines and results are not available; store your own snapshots to build a history.

Related actors

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.