DEV Community

Elliot Pollaro
Elliot Pollaro

Posted on • Originally published at dynastydealer.com

A free, keyless API for dynasty fantasy football values — built from 672k real trades

Most dynasty fantasy football value sources are either crowdsourced votes or locked behind paywalls. At Dynasty Dealer we took a different approach: compute player values from what dynasty managers actually pay — a database of 672,000+ real Sleeper trades — and publish them through a free public API.

No API key. No signup. CORS enabled, so it works straight from the browser.

Quick start

curl https://www.dynastydealer.com/api/player-values
Enter fullscreen mode Exit fullscreen mode

One JSON document, top 1,000 assets (players + draft picks) sorted by current value:

{
  "source": "tidb",
  "players": [
    {
      "sleeper_id": "4984",
      "name": "Josh Allen",
      "position": "QB",
      "team": "BUF",
      "base_value": 10000,
      "current_value": 9927,
      "votes": 302,
      "updated_at": "2026-06-11T21:03:26.000Z",
      "age": 30
    }
  ],
  "total": 1000
}
Enter fullscreen mode Exit fullscreen mode

base_value is the raw trade-derived engine value; current_value adds community vote adjustments. The engine recalculates from new real trades daily.

Query parameters (all optional)

Param Values What it does
position QB RB WR TE Filter to one position
perSlot true Per-slot rookie pick rows (the 1.03 specifically, not just "2027 1st")
format redraft Single-season value model (players only, includes projections)
scoring ppr half std Redraft mode: scoring format
sf true Redraft mode: superflex values

JavaScript (Node 18+ or browser)

const res = await fetch('https://www.dynastydealer.com/api/player-values');
const { players } = await res.json();

const chase = players.find(p => p.name === "Ja'Marr Chase");
console.log(`${chase.name}: ${chase.current_value}`);
Enter fullscreen mode Exit fullscreen mode

Python

import requests
import pandas as pd

data = requests.get("https://www.dynastydealer.com/api/player-values").json()
df = pd.DataFrame(data["players"])
print(df[["name", "position", "team", "current_value", "age"]].head(20))
Enter fullscreen mode Exit fullscreen mode

More working examples (Discord bot, Google Sheets script) live in the examples repo.

What people build with it

License

Free for any use — personal, commercial, or content — with one condition: display a visible link to dynastydealer.com (e.g. "Values by Dynasty Dealer") wherever the values appear.

Fair use note: responses are edge-cached for 60 seconds and values change at most a few times per day, so cache on your side — a daily fetch covers almost every use case.

Full endpoint reference: Developer Integration Guide. Questions or weird edge cases — comments welcome.

Top comments (0)