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
13
Refused / gated
24

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

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

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.

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.

Pro Football Focus (PFF)

licensed-api

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

Proprietary grades behind a commercial license; no scraping. Licensable only by agreement.

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.

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.