Skip to content

FantasyPros 2026 scraper silently returns only 10 players per position #169

Description

@TheMathNinja

Summary

scrape_data(src = "FantasyPros", season = 2026, week = 0) returns exactly 10 players for each offensive position. This silently leaves most prominent players without FantasyPros stat lines when sources are joined.

Reprex

library(ffanalytics)

packageVersion("ffanalytics")
#> [1] '3.1.17.0'

for (pos in c("QB", "RB", "WR", "TE")) {
  x <- scrape_data(
    src = "FantasyPros",
    pos = pos,
    season = 2026,
    week = 0
  )
  cat(pos, nrow(x), "\n")
}
#> QB 10
#> RB 10
#> WR 10
#> TE 10

Expected behavior

The FantasyPros season-long scraper should return the full available projection table for each requested position, or emit an explicit warning/error if the upstream endpoint intentionally limits results.

FantasyPros currently has substantially more than 10 projected players at each position. In a downstream audit of auction-relevant players, the ffanalytics result was missing 22 of the top 32 QBs, 50 of the top 60 RBs, 70 of the top 80 WRs, and 20 of the top 30 TEs. Those players were available from FantasyPros' official projections API, confirming that projections exist upstream.

Impact

The response looks valid and does not warn that it is truncated. Downstream source-weighting code can therefore renormalize incomplete rows across the remaining sources, creating inconsistent rankings depending on whether a player happened to land in the returned top 10.

This may be a pagination/default-limit issue in the current FantasyPros backend request.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions