Skip to content

Data sourcing

We only show data we are legally allowed to show.

Every external source we ingest is declared in a registry with its real license, terms, attribution, and a legal verdict. Ingestion code checks that registry before it fetches a single row, so a source whose terms forbid commercial or automated use cannot be wired into the product. We prefer openly-licensed aggregators over scraping, we attribute what requires it, and we publish what we refuse to touch, and why.

Cleared to ingest
62
Refused / gated
31

Open review: ESPN

Two different ESPN feeds, two different answers, stated plainly. The undocumented hidden JSON API is refused for ingestion, its terms restrict use to personal, non-commercial access. The public logged-off scores API (site.api.espn.com) is currently used as a score fallback in the live product for derived analytics, with the attribution “Scores data via ESPN” rendered wherever it appears. Its commercial display rights are UNVERIFIED, pending legal review. Until that review closes, ESPN data is treated as internal signal, not a licensed display feed, and is never presented as our own pricing.

Sources we ingest

Open-licensed or licensed feeds, used within their terms. Attribution is rendered wherever the data appears.

nflverse (nflverse-data)

bulk-open-data

Cleared · attribute
License
CC-BY-4.0
Commercial
permitted
Attribution
required
Rate limit
GitHub release assets; cache 30m+, no high-frequency polling.

CC-BY-4.0 explicitly permits commercial use with attribution.

Data via nflverse (nflverse-data), licensed CC BY 4.0.

player_stats_weekrostersplayerssnap_countsngsinjuriesdepth_chartspfr_advstatsschedulespbp+5

The Odds API

licensed-api

Licensed
Commercial
permitted
Attribution
not required
Rate limit
Plan quota; cache /sports ~1h, /events ~10m.

Commercial use in user-facing analytics is permitted; never re-expose odds as our own feed/API.

oddsscoreseventsevent-oddsevent-marketshistorical-oddshistorical-event-oddsparticipants

Sleeper

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
<1000 req/min (self-throttled)

Public, keyless, read-only API; no written commercial grant published — low legal risk, attribute trending data and confirm before making load-bearing.

Player movement data via the Sleeper API.

players/nflplayers/nfl/trending

US National Weather Service (api.weather.gov)

public-api

Cleared
Commercial
permitted
Attribution
not required
Rate limit
Be reasonable; send a User-Agent. No key.

US-government public-domain weather data — free for commercial use, no key. The clean weather source for game environments.

pointsgridpointsforecastforecast-hourly

Retrosheet

bulk-open-data

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Bulk download; cache locally.

Complete MLB play-by-play/box history; explicitly permits commercial products with the mandated notice.

The information used here was obtained free of charge from and is copyrighted by Retrosheet. Interested parties may contact Retrosheet at www.retrosheet.org.

eventsgamelogsrosters

Sean Lahman Baseball Database

bulk-open-data

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Bulk download; cache locally.

Season-level MLB stats/bios/teams; CC-BY-SA permits commercial use with attribution + share-alike.

Baseball data from the Sean Lahman Database, licensed CC BY-SA 3.0.

battingpitchingfieldingteamssalaries

openfootball

bulk-open-data

Cleared
License
CC0-1.0
Commercial
permitted
Attribution
not required
Rate limit
GitHub; cache locally.

Global soccer fixtures/results as CC0 public domain — the cleanest legal source; no attribution required.

matchesclubsleagues

ClubElo (Lars Schiefler)

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Public CSV; cache daily ratings; do not hammer api.clubelo.com.

PROBED 2026-08-21: api.clubelo.com timed out from the founder network; clubelo.com/About is an SPA without live terms prose. Wayback 2023-01-17 About permitted reuse of calculations/rankings with citation. That archive is not a live commercial grant and is not a prohibition. Verdict stays use-with-caution (ingestible, attributed) so the existing CSV client is not killed on silence. Flip to paid-required if Lars declines; flip to cleared-with-attribution only after written confirmation.

Club Elo ratings via ClubElo / Lars Schiefler (clubelo.com).

ratingsfixtures

Cricsheet

bulk-open-data

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Bulk download; cache locally.

Ball-by-ball cricket across all formats; ODC-BY permits commercial use with attribution.

Cricket data via Cricsheet, licensed ODC-BY.

matches-jsonmatches-csv

football-data.co.uk

bulk-open-data

Use with caution
Commercial
permitted
Attribution
required
Rate limit
Bulk CSV; cache locally.

Free historical soccer results + closing odds (high CLV value); no formal license posted, so credit and confirm before heavy commercial reliance.

Soccer results & odds via football-data.co.uk.

resultsclosing-odds

ESPN public scoreboard (Galaxy Sports API keyless odds)

public-api

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Scoreboard: ~4 requests/sport/cycle; core /odds fallback capped at 24 events/cycle; every request carries a timeout (8s default).

FOUNDER DECISION 2026-10-17: galaxy-espn-inline is the preferred free odds source for live spreads and totals. GSE reads ESPN public scoreboard inline odds (DraftKings/Circa/FanDuel/Kalshi facts via the scoreboard) with de-vig. Narrow carve-out remains: scoreboard odds/score facts only, low volume, no articles/media/bulk, no login, no evasion. Attribution required. Preferred over paid Odds API when the free path returns priced markets. Revisit immediately on any block, rate-limit signal, or C&D.

Odds facts via ESPN public scoreboard.

scoreboard inline odds (h2h/spread/total facts)core event odds fallback

Pro Football Focus (PFF)

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Player pages: cache 24h; no bulk crawling.

Founder override 2026-09-18: public page-embedded grade data only, with per-ingestion citation (time/date/URL). No API scraping; API licensable only by agreement.

Grades via Pro Football Focus public player pages.

player-page-grades

TheRundown (therundown.io)

licensed-api

Use with caution
Commercial
permitted
Attribution
not required
Rate limit
Free 20k data-points/day; paid Starter $49+.

Official odds vendor (DK/FD/MGM/Pinnacle + Kalshi/Polymarket, same schema). Client already exists as Odds-API failover. Free tier is self-serve; commercial display should match their plan. HOW: RUNDOWN_API_KEY. Not a scrape.

eventslinesaffiliateswebsocket

PredExon (api.predexon.com)

licensed-api

Use with caution
Commercial
permitted
Attribution
not required
Rate limit
Free 1 rps / 1k req/mo; Kalshi list-markets is documented free+unlimited. 429 backoff.

Third-party vendor that captures Kalshi from its own infra (not GSE calling Kalshi's Trade API). ToS §4 bans reselling/redistributing PredExon as a service; GSE analytics/picks is not a PredExon resale. Founder holds a dashboard key (Google SSO 2026-08-21). Default OFF via PREDEXON_INGEST so we do not burn quota. Do not commit the key. Native Kalshi API stays paid-required under Dev Agreement v1.1 §3.

v2/kalshi/marketsv2/kalshi/tradesv2/data/ticks/quote

Novig public exchange CSVs (data.novig.com)

bulk-open-data

Use with caution
Commercial
permitted
Attribution
required
Rate limit
Static CDN files; cache a day; do not hammer.

docs.novig.com documents anonymized daily trades.csv + markets.csv on a public CDN with no authentication. Verified live 2026-08-22 (index.json lists dates through 2026-08-20). Historical tape for research/CLV — not a live line. No posted commercial-use clause, so credit and keep off the live pick path until counsel confirms.

Exchange tape via Novig public reporting CSVs (data.novig.com).

trade-data/index.jsontrades.csvmarkets.csv

Baseball Savant / MLB Statcast

public-api

Use with caution
Commercial
permitted
Attribution
required
Rate limit
Public CSV export endpoints; cache 6h+, no high-frequency polling.

Public sabermetric leaderboards with CSV export (the endpoints pybaseball documents). Facts are not copyrightable (Feist); use as model inputs only, never re-expose the feed. Same facts-as-inputs pattern as other public sports data.

Statcast data via Baseball Savant (baseballsavant.mlb.com).

statcast_leaderboardexpected_statisticssprint_speedstatcast_search

ESPN public scoreboard / summary JSON (unofficial)

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Scoreboard/summary: ~4 requests/cycle, every request carries a timeout (12s default); never bulk poll.

Unofficial public endpoint; facts (scores, schedules, box-score minutes) are not copyrightable (Feist). No key, no login, no evasion; derived analytics allowed, commercial DISPLAY of the feed is not — derived signals with attribution only. Narrow facts-as-inputs posture mirrors the app registry's espn-public-api row.

Scores data via ESPN

scoreboard (schedules)summary (box scores)

Action Network

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Public consensus pages: cache 15m, avoid polling individual props

Action Network publishes public betting percentages (over/under splits) on props pages. These are facts-as-inputs (public aggregate behavior) and not copyrightable odds themselves. Attribution required; never re-expose as our own consensus feed. Verify specific endpoint terms before commercial use.

Public betting data via Action Network

nfl/public-bettingnfl/propsnba/propsmlb/propsnhl/propssoccer/props

FTN Fantasy — Stats iQ charting taxonomy

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Static taxonomy (catalogRevision 10); cache 24h+, refetch only on revision change.

VERIFIED 2026-09-18: openly served unauthenticated (HTTP 200, 322,566 bytes, 9 categories, 751 columns). FTN ToS bans automated access without prior written consent — seek permission before production ingestion; default OFF.

Charting taxonomy via FTN Fantasy Stats iQ.

catalog

FTN Fantasy — Stats iQ leaderboard snapshot

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Per-game/season leaderboard; cache 6h+, no polling.

VERIFIED 2026-09-18: openly served unauthenticated (HTTP 200, 14,375 bytes, 2026 regular-season cards). Same FTN ToS anti-automation clause — seek permission before production ingestion; default OFF.

Leaderboard data via FTN Fantasy Stats iQ.

home

Sharp Football Analysis — team pace stats

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200, 32 team rows (play clock used, neutral rate, plays/game). Restrictive ToS — numeric facts only, no prose copying; default OFF.

Team pace stats via Sharp Football Analysis.

nfl-team-pace-stats

Sharp Football Analysis — offensive tendencies

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200 (motion rate, play-action rate, air yards/att, shotgun rate). Restrictive ToS — numeric facts only; default OFF.

Offensive tendencies via Sharp Football Analysis.

nfl-offensive-tendencies-stats

Sharp Football Analysis — offensive personnel

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200 (11/12/13/21/22 personnel rates, 32 rows). Restrictive ToS — numeric facts only; default OFF.

Personnel groupings via Sharp Football Analysis.

nfl-offensive-personnel

Sharp Football Analysis — coverage schemes

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200 (man/zone/middle-closed/middle-open rates). Restrictive ToS — numeric facts only; default OFF.

Coverage schemes via Sharp Football Analysis.

nfl-coverage-schemes

Sharp Football Analysis — offensive line stats

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200 (pressure rate allowed, time to throw, yards before contact). Restrictive ToS — numeric facts only; default OFF.

Offensive line stats via Sharp Football Analysis.

nfl-offensive-line-stats

Sharp Football Analysis — defensive line stats

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200 (pressure rate, no-blitz pressure rate, stuff rate). Restrictive ToS — numeric facts only; default OFF.

Defensive line stats via Sharp Football Analysis.

nfl-defensive-line-stats

Sharp Football Analysis — offensive efficiency

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Cumulative per-week table; cache 24h.

VERIFIED 2026-09-18: HTTP 200 (EPA/play, yards/play, points/drive, explosive play rate). Restrictive ToS — numeric facts only; default OFF.

Offensive efficiency via Sharp Football Analysis.

nfl-offensive-stats

Pregame.com — consensus tick history

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Tick-level intraday; cache aggressively, never poll hot.

VERIFIED 2026-09-18: HTTP 200, TotalCount 4138 ticks/event (cash/ticket/pick %). Pregame ToS requires express written permission for automated access — seek it before production; default OFF.

Betting consensus data via Pregame.com.

consensushistory

Pregame.com — per-book odds tick history

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Tick-level intraday; cache aggressively.

VERIFIED 2026-09-18: HTTP 200, TotalCount 793 (per-book spread/total/ML ticks). Same ToS written-permission requirement; default OFF.

Odds history via Pregame.com.

oddshistory

Pregame.com — consensus metadata

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Static per event; cache for the event duration.

VERIFIED 2026-09-18: HTTP 200 (pick types, consensus types, rotations). Same ToS written-permission requirement; default OFF.

Consensus metadata via Pregame.com.

consensus

Pregame.com — sportsbook directory

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Static directory; cache 7d.

VERIFIED 2026-09-18: HTTP 200, 10 sportsbooks with ids/names. Same ToS written-permission requirement; default OFF.

Sportsbook directory via Pregame.com.

odds

Pregame.com — live event bootstrap

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Live snapshot (8.4 MB); fetch rarely, cache it, use /deltas after.

VERIFIED 2026-09-18: HTTP 200, 8,412,344 bytes, 227 live events (eventId discovery for current games). Same ToS written-permission requirement; default OFF.

Event data via Pregame.com.

bootstrap

Covers — season odds history archive

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Static archive; fetch once, cache locally.

VERIFIED 2026-09-18: HTTP 200, 336 season data rows. No explicit anti-scrape clause found; redistribution restricted — facts-as-inputs only, never re-expose as a feed. Default OFF until commercial reuse is confirmed.

Historical odds via Covers.

nfl-game-season

Covers — live NFL odds comparison

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Intraday; cache 15m, no hot polling.

VERIFIED 2026-09-18: HTTP 200, 2,960,182 bytes (ML/spread/total across books + consensus). Same redistribution restriction — facts-as-inputs only. Default OFF until commercial reuse is confirmed.

Live odds via Covers.

odds

VSiN — betting splits weekly analysis

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Weekly in-season article; cache 24h.

VERIFIED 2026-09-18: HTTP 200, server-rendered, no login (handle/bets% records + system definitions). Terms page 404s — attribute and keep to facts; default OFF pending terms clarity.

Betting splits analysis via VSiN (splits data via DraftKings Sportsbook).

nfl-betting-splits-articles

DraftKings Network — official betting splits

scrape

Cleared · attribute
Commercial
not granted
Attribution
required
Rate limit
Intraday/daily live table; cache 1h.

VERIFIED 2026-09-18: HTTP 200, server-rendered (ML/spread/total with % handle + % bets per side). DK Network ToS limits to personal non-commercial use — non-commercial lane only; default OFF.

Betting splits via DraftKings Network.

draftkings-sportsbook-betting-splits

DraftKings — DFS lobby website endpoint

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Live lobby; polite single fetch, cache 15m.

VERIFIED 2026-09-18: HTTP 200, 6,608,907 bytes, 8,661 live NFL contests (sample: 'NFL $3M Fantasy Football Millionaire [$1M to 1st]' id 195648008, dg 153428, po 3000000). Website endpoint, NOT a documented public API — may change/gate without notice. Default OFF.

DFS contest data via DraftKings website endpoints.

dfs-lobby-contests

DraftKings — DFS lineup website endpoint

scrape

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Live per draft group; polite single fetch, cache 15m.

VERIFIED 2026-09-18: HTTP 200, 363,988 bytes, 670 players for dg 153428 (sample: Bijan Robinson RB ATL vs CAR, salary 8200, ppg 31.3). draftGroupId is ephemeral per pull — resolve it from getcontests first. Default OFF.

DFS player pool data via DraftKings website endpoints.

dfs-available-players

SpreadSpoke — historical scores/lines/weather CSV

bulk-open-data

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Static CSV snapshot; fetch rarely, cache locally.

VERIFIED 2026-09-18: HTTP 200, 14,164 rows, seasons 1966–2025 (11,671 rows with spreads). No license posted on the source repo — terms unclear; default OFF.

Historical scores and lines via SpreadSpoke.

spreadspoke_scores.csv

KeepTradeCut — dynasty rankings/values

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Community-vote driven; cache 1h.

VERIFIED 2026-09-18: HTTP 200, 2,609,656 bytes, 500 players in <script id="ktc-players"> JSON (1QB/SF/TEP values, ranks, tiers, trends). Public page, robots allow.

Dynasty values via KeepTradeCut.

dynasty-rankings

FantasyPros — expert consensus rankings (ECR)

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Multiple updates daily in-season; robots crawl-delay 5 — honor it.

VERIFIED 2026-09-18: HTTP 200, var ecrData (560 players x 179 experts). Public free page; the paid API is a separate SKU we do not touch.

Expert consensus rankings via FantasyPros.

ppr-cheatsheets

Underdog Fantasy — stats API (sports/slates/scoring)

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Live per game week; cache 15m.

VERIFIED 2026-09-18: HTTP 200s (7 live NFL slates). Undocumented internal endpoints — may change/gate without notice; default OFF.

Slate data via Underdog Fantasy.

v2/sportsv1/scoring_typesv1/sports/NFL/slates

Underdog Fantasy — slate projections (appearances)

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Live per slate; cache 15m.

VERIFIED 2026-09-18: HTTP 200, 1,690 appearances (points/adp/salary/position_rank). player_id only — names must join from another source. Default OFF.

Projections via Underdog Fantasy.

v1/slates/{slate_id}/scoring_types/{scoring_id}/appearances

4for4 — fantasy football cheat sheets

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Season sheets + weekly sheets; cache 24h.

VERIFIED 2026-09-18: HTTP 200, 9 tables (overall/positional/superflex/flex/K/DEF; stamped 2026-09-09). Public free page, robots allow.

Rankings via 4for4.

standard/2026weekly

DynastyProcess — open dynasty values CSVs

bulk-open-data

Cleared
Commercial
permitted
Attribution
required
Rate limit
Batch, stamped scrape_date; cache 24h.

VERIFIED 2026-09-18: HTTP 200, values-players.csv (442 players: ecr/value 1QB+2QB). Open repo with LICENSE; attribution appreciated per repo norms.

Dynasty values via DynastyProcess (CC/open data).

values-players.csvvalues-picks.csvvalues.csvdb_playerids.csvfp_dynastyvsredraft.csvfp_latest_weekly.csv

Sleeper — NFL state

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Live real-time; <1000 req/min self-throttled.

VERIFIED 2026-09-18: HTTP 200 (week 2, season 2026). Reconciled with standing 'sleeper' entry: free for non-commercial use; no written commercial grant. Default OFF.

NFL state via the Sleeper API.

v1/state/nfl

Sleeper — NFL player master + ID crosswalk

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Docs: call max once/day; cache 24h.

VERIFIED 2026-09-18: HTTP 200, 14,656,940 bytes, 12,228 players with full cross-platform ID map (espn/yahoo/rotowire/gsis/sportradar/opta/fantasy_data/kalshi/oddsjam/swish). Same non-commercial terms; default OFF.

Player data via the Sleeper API.

v1/players/nfl

Sleeper — trending adds/drops

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Real-time; cache 1h.

VERIFIED 2026-09-18: HTTP 200 (top add: 515,538 adds/24h). Same non-commercial terms; default OFF.

Waiver sentiment via the Sleeper API.

v1/players/nfl/trending/addv1/players/nfl/trending/drop

TeamRankings — NFL power ratings

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Weekly in-season; cache 24h.

VERIFIED 2026-09-18: HTTP 200, 321,517 bytes (rank, rating, proj W/L, playoff/SB %). Public free pages; scrape politely.

Power ratings via TeamRankings.

ratings

TeamRankings — NFL win trends

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Weekly in-season; cache 24h.

VERIFIED 2026-09-18: HTTP 200, 315,324 bytes (team win-trends table). Public free pages; scrape politely.

Win trends via TeamRankings.

trends

RotoWire — NFL news RSS

public-api

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
News-wire sub-daily; cache 15m.

VERIFIED 2026-09-18: HTTP 200, valid RSS 2.0 (5 items with title/pubDate/link). Standard RSS fair-use: attribute + link back, never republish full text.

News headlines via RotoWire.

news.php?sport=NFL

FTN/Football Outsiders — DVOA weekly timeseries (local extract)

bulk-open-data

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Static snapshot; no polling.

VERIFIED 2026-09-18: 1,993 rows, seasons 2023–2026, 18 columns (total/off/def/ST DVOA + DAVE). Extracted from public articles; attribution required.

DVOA data via FTN Fantasy / Football Outsiders.

dvoa-timeseries.csv

FTN — pre-1981 DVOA season finals (local extract)

bulk-open-data

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Static snapshot; no polling.

VERIFIED 2026-09-18: 112 rows (1977–1980 season finals, pre-1981). Attribution required.

Historical DVOA via FTN Fantasy.

dvoa-historical-seasons.csv

Football Outsiders via Wayback — DVOA 1981–2022 (local extract)

bulk-open-data

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Static snapshot; no polling.

VERIFIED 2026-09-18: 1,673 rows from 57 web.archive.org snapshots (weekly + season-final 1981–2022). Attribution required.

DVOA data via Football Outsiders (archived).

dvoa-fo-finals.csv

FTN — Charting API OpenAPI spec (public docs)

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Versioned spec; cache 7d.

VERIFIED 2026-09-18: HTTP 200, 599,785 bytes, 145 paths (machine-readable map of the FTN Charting data API). Spec is public; runtime auth per endpoint UNVERIFIED — treat data endpoints as gated until proven otherwise; default OFF.

API map via FTN Charting public docs.

openapi.json

Football Outsiders via Wayback — 1983 DVOA finals

scrape

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Static archive snapshot; fetch once.

VERIFIED 2026-09-18: HTTP 200 (after one 302), 176,257 bytes, full 1983 season-final table (TOTAL/NON-ADJ DVOA, W-L, OFF/DEF/ST + ranks). Attribution required.

1983 DVOA via Football Outsiders (archived).

1983-dvoa-ratings-and-commentary

OpenLigaDB

public-api

Cleared · attribute
License
ODbL-1.0
Commercial
permitted
Attribution
required
Rate limit
No stated quota; self-throttle and cache aggressively.

Official OpenLigaDB page states no registration, API key, or quota and licenses the data under ODbL 1.0. Commercial use is permitted with attribution; ODbL share-alike applies to derived databases — keep derived tables attributed and share-alike compliant.

Data via OpenLigaDB (ODbL 1.0).

getmatchdatagetbltablegetgoalgettersgetavailableleaguesgetmatchdatacurrentgroup

TheSportsDB

public-api

Cleared · attribute
Commercial
permitted
Attribution
required
Rate limit
Free tier rate limits apply; cache 24h+ for teams/players/events.

TheSportsDB documents free and premium API versions and labels itself a free/open crowd-sourced database. Free tier is suitable for schedule/team/player metadata with attribution; do not treat artwork assets as freely redistributable without checking terms.

Sports metadata via TheSportsDB.

eventsevent resultsteamsplayerssportsTV listings

OpenF1

public-api

Use with caution
Commercial
not granted
Attribution
required
Rate limit
Public API; self-throttle and cache session data.

OpenF1 describes itself as an open-source API for live and historical F1 session data (lap times, sectors, speed traps, telemetry). No commercial redistribution grant is asserted on the cited page — use as model inputs with attribution; confirm license before any re-exposure.

F1 session data via OpenF1.

sessionsdriverscar_datalocationintervalspitstintslapsweatherrace_control

NBA Official Injury Report

public-api

Use with caution
Commercial
permitted
Attribution
required
Rate limit
Public report pages; poll at most daily / per report deadline. Facts only.

Teams must report injuries, illnesses, medical conditions or rest with participation status and reason; deadlines are specified. This is a direct availability signal. Public page, not an API license — extract facts as model inputs only; never re-expose the report feed. Check NBA terms before systematic extraction.

Injury/availability status via NBA official injury report.

nba-injury-report-2025-26-season

NFL Official Injury Report

public-api

Use with caution
Commercial
permitted
Attribution
required
Rate limit
Public report pages; poll at most daily / per practice report. Facts only.

Official NFL injury report with injury, practice status and game status by player and team — a direct availability signal. Publicly viewable but not a scraping/redistribution license; extract facts as model inputs only, never re-expose the feed. Prefer licensed injury feeds (e.g. SportsDataIO) for production display.

Injury/availability status via NFL official injury report.

injury-report

MLB Injury Report / Transactions

public-api

Use with caution
Commercial
permitted
Attribution
required
Rate limit
Public editorial/transaction pages; poll at most daily. Facts only.

MLB injury-report pages organize reports by league/team and link to official transaction pages (injured-list placements, activations, roster moves). Public editorial content, not an API license — facts as model inputs only; never re-expose the feed. Check MLB terms before systematic extraction.

Injury/transaction status via MLB official reports.

injury-reporttransactions

Sources we refuse to touch

Technically reachable, legally off-limits for a commercial product, or requiring spend we have not committed. We name them so the boundary is auditable, not implied.

SportsDataIO (Fantasy/DFS API)

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per paid subscription plan.

Licensed DFS salary/slate feed covering DraftKings/FanDuel/Yahoo — the legal route to DK salaries. Requires a paid subscription; get a written rep that they are authorized to redistribute DK DFS salaries.

dfs-slatesdfs-salariesprojections

FantasyData (DFS API)

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per paid subscription plan.

Licensed DFS salary/projection feed (DK/FD). A legal alternative to SportsDataIO; requires a paid plan and an authorized-redistribution rep.

dfs-slatesdfs-salariesprojections

DraftKings (unofficial hidden JSON API)

scrape

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a — do not automate.

DK ToU bars automated collection, commercial use, and redistribution; uncopyrightable salary facts do not cure the contract breach (hiQ v. LinkedIn), and DK enforces via cease-and-desist. Use a licensed DFS feed instead.

KalshiEx LLC

public-api

Paid plan required
Commercial
not granted
Attribution
not required
Rate limit
Token-bucket per API tier; exponential backoff on 429.

Developer Agreement v1.1 §3 limits API use to facilitating a member's own trading on the Exchange; §3.1 bans collecting/caching/aggregating/storing API data except for that purpose and bans sharing with third parties without prior written authorization. GSE independentFairValue is commercial derived analytics, not own-account trading. Written grant required before ingest.

marketseventsorderbook

MoneyPuck

bulk-open-data

Paid plan required
Commercial
not granted
Attribution
required
Rate limit
Bulk CSV; cache locally.

moneypuck.com/data.htm: free for non-commercial purposes and journalist ad-hoc use; other purposes require inquiry. GSE is paid SaaS. Founder must obtain written permission or keep the NHL route dark.

NHL advanced stats via MoneyPuck.com.

shotsskatersgoaliesteamslines

Open-Meteo

public-api

Paid plan required
License
CC-BY-4.0
Commercial
not granted
Attribution
required
Rate limit
Free tier ~10k calls/day, non-commercial only.

Clean CC-BY data, but commercial use requires a paid subscription we do not yet hold — founder-gated spend.

Weather data by Open-Meteo.com (CC BY 4.0).

forecasthistorical-weather

ESPN (undocumented JSON)

public-api

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a — do not automate.

ESPN ToU restricts to personal, non-commercial use and prohibits high-volume automated access. General/bulk ESPN JSON stays forbidden; the ONE narrow carve-out is 'galaxy-espn-inline' (scoreboard inline odds facts, low volume, facts-only posture) — see that entry.

Pro-Football-Reference / Sports-Reference

scrape

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a — bot access blocked.

ToS forbids automated scraping and building tools from scraped data. Use nflverse's pfr_advstats release instead.

nfeloapp / nfelo

bulk-open-data

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a

No license granted on their outputs. Go to the nflverse source they build on instead.

Sports-Reference family (PFR, BBR, B-Ref, Hockey-Ref, FBref, Stathead)

scrape

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a — bot access barred.

ToS bars scrapers/bots; data is third-party-licensed and cannot be redistributed (custom data starts at $5,000). Use nflverse pfr_advstats / open archives instead.

Ergast Motor Racing Data (F1)

public-api

Refused
Commercial
not granted
Attribution
required
Rate limit
n/a

CC-BY-NC is non-commercial only (and the API is deprecated). Not usable in a commercial product.

Understat (soccer xG)

scrape

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a

No official API or commercial-use license; scraping is a ToS grey area we refuse. Use openfootball / football-data.co.uk for soccer.

SportsBookISH (sportsbookish.com)

licensed-api

Paid plan required
Commercial
permitted
Attribution
required
Rate limit
Free demo 1k/mo shared; $50/mo 20k; do not use the public demo key in prod.

Vendor that publishes Kalshi implied vs US-book consensus. Live API commercial rights are a paid plan. Daily HF snapshot is CC-BY-4.0 with attribution. Do not burn the public demo Bearer from their README. HOW: buy a key, then flip this verdict to licensed.

Kalshi vs book consensus via SportsBookISH (sportsbookish.com).

oddsedgesgolfdaily-odds-csv

SmartStake MLB player-prop tape (Hugging Face)

bulk-open-data

Refused
License
CC-BY-4.0
Commercial
not granted
Attribution
required
Rate limit
n/a — do not ingest into the product.

621M rows of minute-by-minute player-prop odds including Bet365, DraftKings, FanDuel. Card says research/educational. Redistributing Bet365/DK/FD quotes into a paid SaaS is the same ToS class we already refuse to scrape. HOW for live props: Odds API event-odds / TheRundown / SharpAPI paid — not this tape.

Sportsbook Software / Entertastic operator API

licensed-api

Refused
Commercial
permitted
Attribution
not required
Rate limit
Operator-account + paid data subscription.

GitHub sportsbook-json-php is an API for THEIR sportsbook's logged-in players (account, bets, casino), not a public multi-book odds dump. Market-data functions require a sales subscription. GSE is not an Entertastic operator. HOW: TheRundown / Odds API.

Hugging Face redistributions of Kalshi Trade API dumps

bulk-open-data

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a — do not ingest.

RooseveltHonaker/kalshi-trades-data (and TrevorJS/kalshi-trades, thomaswmitch/kalshi-prediction-markets-*) are third-party archives of Kalshi market-data API responses. The dataset card itself says users must comply with the Kalshi Developer Agreement. Dev Agreement v1.1 §3 bans collecting/caching/aggregating/storing API data except for own-account trading and bans sharing with third parties. Kalshi Data Terms (kalshi-public-docs S3 PDF) further restrict Kalshi Data to personal non-commercial use and bar ML training / redistributed archives without written consent. HOW: PredExon (vendor, key held) not the HF dump.

Cornell ConvoKit subreddit corpus (r/DraftKings, r/fanduel)

bulk-open-data

Refused
Commercial
not granted
Attribution
required
Rate limit
n/a

Academic Reddit comment dumps, not sportsbook odds or official DK/FD feeds. They do not legalize DraftKings/FanDuel HTML or hidden-API scrape. GSE already has a gated Reddit narrative path; do not treat ConvoKit as a line source.

SharpAPI (api.sharpapi.io)

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Plan quota; REST + optional SSE/WS add-on.

Official paid odds vendor (Pinnacle as sharp reference, POWER de-vig, EV/CLV endpoints). Legal alternative to unofficial Pinnacle wrappers. GSE must hold a key AND upgrade this verdict to licensed after the founder buys a plan; do not scrape the books SharpAPI already licenses. First-party powerDevig/shinDevig stay in prediction-engine so we are not product-dependent on their EV SKU.

oddseventsevarbitragemiddlesstream

ProphetX (Market Data API)

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Negotiated per partner; no self-serve public key.

CFTC-regulated DCM. Market Data API is a read-only display/analytics SKU for partners — not the Trading API (orders/wallet). No self-serve key; apply as a display partner. Until written access, GSE does not call ProphetX. Do not scrape prophetx.co HTML.

marketseventsodds

Novig (authenticated REST/WS)

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per-endpoint; 429 headers in milliseconds.

Live Novig books require the authenticated API at api.novig.us (OAuth). Not a public unauthenticated odds feed. Founder-gated until we hold credentials and a commercial-use grant. Public daily CSVs are a separate source (novig-public-csv).

marketsordersfillspositions

Unofficial Pinnacle wrappers (GitHub)

scrape

Refused
Commercial
not granted
Attribution
not required
Rate limit
n/a — do not call.

Pinnacle's public API closed 2025-07-23. Fair Use: commercial use without written grant = suspension. Unofficial GitHub wrappers (rozzac90/pinnacle, sth2258/pinnaclewrapper, ThiagoBoca12/Pinnacle-API, wataruoguchi/PHP-PinnacleSports-API, marcoblume/pinnacle.API) are not a license. HOW: Odds API bookmakers=pinnacle&regions=eu (already coded, LINE_ARCHIVE_EU_PINNACLE default OFF) AND/OR apply api@pinnacle.com for handicapping + written commercial grant AND/OR SharpAPI paid key.

Sportradar Sports APIs

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per commercial agreement / plan quota.

Broad multi-sport schedules, rosters, play-by-play and historical feeds (80+ sports, 500+ leagues). Production access requires a Sportradar account/contract or key; no free or open license on the developer portal. Founder-gated until a contract and redistribution rights are in hand.

schedulesstandingsrostersplayer-team-statisticsplay-by-playhistorical

Genius Sports Official Sports Data APIs

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per commercial agreement.

Official low-latency live/historical data, play-by-play, and player/ball tracking (speed, acceleration, location, derived metrics) for NFL, NCAA and other leagues. Commercial terms must be confirmed with Genius Sports; not free/open.

live-scoresplay-by-playplayer-trackingadvanced-metricsleague-data

Stats Perform (STATS API / Opta)

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per commercial agreement / access key quota.

REST API covering live game statistics, player/team situational statistics, historical data, editorial content and common IDs; Opta adds event data and betting/fantasy feeds. Access key required; contact Stats Perform. Not free/open.

live-game-statisticssituational-statisticshistoricaleditorialopta-events

API-Sports

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per plan quota (free tier exists but is limited).

Multi-sport API products (football, AFL, baseball, basketball, F1, hockey, NBA, NFL/NCAA, rugby, etc.) with basic and advanced data. No open license; access limits and commercial rights must be checked in the selected plan. Founder-gated.

fixturesscoresstandingsrostersplayer-statisticshistorical

Football-Data.org API

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Free tier: 10 req/min; paid tiers higher.

Machine-readable football fixtures, results, tables, teams, squads, lineups and scorers. Documentation notes paid tiers and token auth; the free tier does not grant blanket commercial redistribution. Use the free tier only for non-commercial exploration until a plan is held.

competitionsmatchesteamssquadsstandingsscorers

Sportmonks Football API

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per plan quota; free tier available to start.

Live scores, fixtures, match events, statistics, lineups, xG and predicted lineups across 2,200+ leagues. Free tier exists for exploration; production limits and redistribution rights require a paid plan. Founder-gated until a plan and redistribution terms are confirmed.

fixtureslive-scoreslineupsstatisticsxgpredicted-lineups

WHOOP Developer API

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per WHOOP developer plan / OAuth rate limits.

Sleep, recovery, HRV, resting HR, strain and workout resources. Member-data developer API requiring OAuth/member authorization. Health data is sensitive: requires athlete consent, minimization, access controls, and a separate sensitive-data plane. Founder-gated until consent + legal basis exist.

sleeprecoveryworkoutcycle

Oura API

licensed-api

Paid plan required
Commercial
permitted
Attribution
not required
Rate limit
Per Oura API plan; Bearer-token authenticated.

Daily sleep, sleep stages/timing, readiness, heart rate and breathing. Account/token-based access; no blanket public-data or redistribution license. Health data requires privacy controls, athlete consent, and a separate sensitive-data plane. Founder-gated.

daily-sleepsleepsleep-timereadinessheart-rate

Sourcing doctrine

  • Prefer open-licensed aggregators over scraping.
  • Read the actual license/ToS, not the marketing page.
  • Respect robots.txt and anti-automation clauses: accessible is not permitted.
  • Attribute every source whose license requires it.
  • Cache politely, rate-limit ourselves, never re-expose a licensed feed.
  • No fabricated data: every datapoint traces to a real source row.