Dynasty Values API

Player and pick values from real trades across thousands of Sleeper leagues. Free to use, no API key required.
Your first request
curl "https://api.statsguyfantasy.com/api/v1/rankings?format=sf_dynasty&limit=5"

Free for everyone

No API key

60 req/min per IP

All endpoints

Values update ~daily

Why Stats Guy Fantasy API?

Trade-derived values, updated daily, for every common league format
Real Trade Data

Values are computed from over 1M real dynasty trades across thousands of Sleeper leagues.

Every Format, One Call

Player cards return superflex and single-QB, dynasty and redraft values in a single response.

Historical Values

Daily value history and dated snapshots. Pull past rankings boards or grade old trades with the values of the day.

Free & Open

No API key or signup. Open CORS, with rate limit headers on every response.

The Endpoints

A REST API that accepts Sleeper player IDs directly
Available Endpoints
GET

/api/v1/rankings

Player rankings by league format, current or any historical date

GET

/api/v1/players

Every valued player across all four formats in one bulk sync call

GET

/api/v1/players/:id

Player card with values, ranks, and 7/30-day changes per format

GET

/api/v1/players/:id/value-history

Full value history for a player

GET

/api/v1/picks

Rookie pick values, slot-specific or early/mid/late variants

POST

/api/v1/trades/evaluate

Evaluate a trade, optionally at a past date for retro grading

POST

/api/v1/trades/evaluate/batch

Grade up to 25 trades in one request

GET

/api/v1/trades/most-traded

Most-traded players per league type over a trailing window

Sample Response
GET /api/v1/players/7564
{
  "id": "7564",
  "name": "Ja'Marr Chase",
  "team": "CIN",
  "position": "WR",
  "age": 26.4,
  "value": {
    "sf_dynasty": 9466,
    "non_sf_dynasty": 9117,
    "sf_redraft": 9794,
    "non_sf_redraft": 8680
  },
  "rank": {
    "sf_dynasty": 3,
    "non_sf_dynasty": 3,
    "sf_redraft": 2,
    "non_sf_redraft": 3
  },
  "positionRank": {
    "sf_dynasty": 1,
    "non_sf_dynasty": 1,
    "sf_redraft": 1,
    "non_sf_redraft": 1
  },
  "valueChange": {
    "sf_dynasty": { "days7": -148, "days30": -80 },
    "sf_redraft": { "days7": 543, "days30": 543 }
  }
}

Values, ranks, and change metrics for all four formats in one response.

Read the Full Docs

Developer FAQ

Yes, that's the plan. Every endpoint is free with no API key or signup, subject to the 60 req/min per-IP rate limit. If we ever add optional paid tiers for heavy usage (higher rate limits, API keys, webhooks, licensing), the free tier stays, and any changes will be announced on the update list well in advance.

Each HTTP request counts once, regardless of endpoint. A batch trade evaluation counts as a single request even with 25 trades in it. If you hit the limit you'll get a 429 with a Retry-After header.

Values are recalculated roughly daily, and responses may be cached for up to an hour. The valuesAsOf field tells you which calculation run produced the data. If it hasn't changed, neither have the values.

If your product is publicly distributed and displays our data, it must include a visible credit that links back to Stats Guy Fantasy; for personal and internal tools, attribution is appreciated but not required. If you need guaranteed limits and uptime, get in touch at support@leaguebeat.com.

Email support@leaguebeat.com with what you're building and the volume you need.

API Updates

Leave your email and we'll notify you about API updates and breaking changes.

No spam, just occasional updates about the API.