Valx Sports Betting NBA data intake · Status
Release 2025-12-21 • Cloudflare Decision Packet v5

Decision point — choose our market data provider stack

We have a working, auditable NBA truth layer (schedule + box + play-by-play) and can backfill season-to-date reliably. The remaining gating decision is **market data** (odds + player props + book IDs + movement history). This page turns that into a concrete, low-friction choice.

Record: sportsbetting_Full_Record_v57 → v60 Status: decision pending Truth layer: season-to-date PBP + box verified

What we need from Jeffrey

Scope + constraints (answer in 2 minutes)

  • Budget band: Low (<$200/mo), Mid ($200–$1,500/mo), or Enterprise ($1,500+/mo)?
  • Markets: player props only, or also spreads/totals/moneylines; include alt lines?
  • Timing: pregame only vs. in-play required.
  • Books: is FanDuel mandatory, and do we need other specific books?
  • History: do we need historical line movement already provided, or will we capture snapshots ourselves going forward?

What’s already done

  • Truth POC can ingest NBA schedule, box scores, and play-by-play into SQLite.
  • Backfill + resume works and coverage reporting shows no missing box/PBP for tested ranges (including season-to-date).
  • This gives us a stable, replayable base for modeling props once we can join against market lines.

Provider comparison matrix (fill-in-the-blanks fixed)

This is the “empty table” problem: we’re now explicit about which boxes are confirmed vs. unknown so we don’t over-assume coverage.

ProviderPlayer propsFanDuel identificationHistorical oddsLive/in-playNotes
The Odds APIYesUnknownYesYesAggregator odds + historical; props likely but verify markets + FanDuel mapping.
Wager APIYesYesUnknownUnknownClaims US books incl FanDuel + props; verify NBA coverage + ToS; pricing page dated.
SportsGameDataYesYesYesUnknownClaims props + alt lines + consensus; verify book list and historical access.
GoalserveUnknownUnknownUnknownUnknownGood feed provider; confirm props/odds offerings and terms.
JsonOddsUnknownUnknownYesUnknownOdds and line history; verify player prop market coverage.
odds-api.ioUnknownUnknownUnknownUnknownLarge bookmaker list; verify props + US books mapping.
API-BasketballUnknownUnknownUnknownUnknownBasketball stats+odds; verify prop markets.
Prop-OddsBlockedBlockedUnknownUnknownNot accepting new customers per contact page.

Where a cell is “Unknown,” we treat it as a verification task in the pilot before committing.

Vendor links & published pricing snapshots

These links are here so Jeffrey can click straight to terms/pricing. We’ll still run a small pilot ingest to validate coverage and staleness.

VendorPublished pricing snapshotNotes
The Odds APIFree: 500 credits/mo; Paid from $30/mo (20k credits) up to enterprise tiers.Strong mainstream odds API; confirm NBA player props coverage + historical snapshots and book list.
Prop-OddsStarter $0/mo (1,500 req/mo); Algo $44/mo; Pro $99/mo; Enterprise custom.⚠️ Their contact page says they are no longer accepting new customers (treat as unavailable).
Wager APISharp $999/mo (10k calls; 5-min delay); Professional $4,999/mo (100k calls; realtime); Enterprise custom.Claims FanDuel/DK/Circa/Pinnacle etc + player props + DFS operators; pricing page last updated Aug 2023.
SportsGameDataFree (2,500 objects/mo); $149/mo; $499/mo (unlimited objects; 1-min updates).Claims odds + player props + alt lines across leagues; verify historical depth and book coverage.
Goalserve (NBA data feed)NBA/NCAA live data $250/mo; other packages; odds packages separate.Feed-style provider; confirm NBA player props availability; watch refresh rates/latency.
Goalserve (Odds API pricing)All-sports pregame odds $500/mo; all-sports live odds $500/mo; etc.May be useful if we need multi-sport coverage; verify NBA prop markets specifically.
odds-api.ioFree: 100 req/hr (2 books); Paid from £99/mo (10k req/day) to £699/mo (100k req/day).UK currency; confirm NBA props + FanDuel + US book mapping.
JsonOddsFrom $29.99/mo (50 req/min) up to $1,199.99/mo; enterprise available.Odds-centric; confirm player props breadth and historical retention.
API-Basketball (API-Sports)$0/mo (100 req/day) to $35/mo (150k req/day).Basketball stats + odds; confirm prop markets and book list.
SportAPIsFree $0/mo (300 req/day) to $199/mo (10k req/day).Multi-sport odds+historical; verify NBA props and sportsbook coverage.
SportsDataIO Discovery Lab (Personal Use)Free last season; current-season feeds require purchase (pricing shown in portal after login).Strong stats provider; verify odds/props feeds and licensing for storage/backtesting.
Versus Sports Simulator APINBA $850/mo (100k calls/30 days).If coverage matches, it’s a clear mid-tier spend with published pricing.
Betstamp / ProphetX Pro Screens (Props)Props plan: Contact sales (Main $347/mo; add-ons extra).More of an odds screen tool than raw API; can inform UX expectations.

Recommended stacks (from our internal shortlist)

These stacks are designed so the project can start cheap and scale up without rewriting the warehouse or the modeling pipeline.

Stack A — Lean MVP (pregame; major props + core lines)

When to choose

  • Budget constrained
  • Pregame focus acceptable
  • Need fast proof on CLV/EV loop

Primary feeds

  • truth_layer: NBA official endpoints via nba_api/pbpstats (box score + PBP)
  • injuries: NBA Official Injury Report
  • odds: One odds aggregator that can identify FanDuel (primary)

Fallback feeds

  • injuries: Structured injuries feed (commercial) for redundancy
  • odds: Second odds feed for cross-check + gap detection

Pros

  • High auditability
  • Fast to implement
  • Strong lineage for modeling

Cons

  • In-play may be limited
  • Lineups/starters may require an additional feed

Risks & controls

  • Version mapping tables
  • Snapshot odds stream
  • Version injuries by report timestamp

Stack B — Consolidated commercial (stats + injuries/lineups + odds)

When to choose

  • Fewer integrations preferred
  • Commercial budget available
  • Need structured starters/lineups

Primary feeds

  • truth_layer: Commercial NBA stats feed (box score, schedule)
  • injuries_lineups: Commercial injuries + starting lineups feed
  • odds: Commercial betting odds feed + snapshots

Fallback feeds

  • truth_layer: NBA official endpoints as cross-check (select feeds)
  • injuries: NBA Official Injury Report as validation layer

Pros

  • Operational simplicity
  • Structured lineup fields

Cons

  • Cost
  • Vendor lock-in risk if mapping not isolated

Risks & controls

  • Isolate provider quirks in mapping layer
  • Keep cross-check sources
  • Snapshot odds for reproducibility

Stack C — Enterprise in-play (SLA + deep live state)

When to choose

  • In-play required
  • Reliability/SLA important
  • Budget supports enterprise feeds

Primary feeds

  • truth_layer_live: Enterprise live PBP/game state feed
  • injuries_lineups: Enterprise injuries/lineups feed
  • odds: Enterprise odds feed and/or aggregator with movement support

Fallback feeds

  • truth_layer: NBA official endpoints for validation/backfill
  • odds: Independent odds aggregator for spot-checking

Pros

  • Best path to reliable in-play
  • Operational maturity

Cons

  • Highest cost
  • Contract complexity

Risks & controls

  • Contract/terms gating
  • Strict staleness monitoring
  • Nightly correction sweeps

Selection workflow

  1. Run the intake packet and lock v1 scope + latency + budget.
  2. Score each stack with the scorecard template (embedded).
  3. Run a short pilot ingest: sample slate odds snapshots + injuries + box scores; measure completeness/staleness.
  4. Choose primary + fallback per canonical feed; version mapping tables; activate ritual cadences.

Scorecard template

Scorecard dimensionWeight
Market coverage breadth5
FanDuel book identification reliability5
Odds snapshot timeliness (pregame)4
Odds snapshot timeliness (in-play)4
Historical odds depth3
Truth layer depth (PBP + box scores)4
Injury + lineup completeness4
Stable IDs + timestamps5
Schema change communication / change logs3
Cost efficiency4
SLA / reliability3
Licensing fit5
Implementation complexity2

Tradeoffs (what changes depending on the provider decision)

DecisionLikely monthly costWhat gets easierWhat stays hardHow our “edge thesis” shifts
Lean (Stack A) $30–$300 (published tiers) + our own snapshotting Fast launch; cheap iteration; strong auditability In-play edges; book-ID quirks; occasional gaps Focus on pregame props, lineup/injury adjustments, and CLV via disciplined snapshotting.
Mid-tier (Stack B/C) $500–$1,500+ (often) depending on volume/coverage Better book mapping; more markets; less scraping Still need strong QA + backfills; terms vary Add more markets (alts, derivatives), expand coverage, and increase confidence in line-move analytics.
Enterprise (Stack D) $1,500+/mo (often “contact sales”) In-play reliability + SLA; standardized feeds Contract complexity; higher lock-in risk We can justify deeper in-play strategies and more automated execution tooling.

Past releases

Release 2025-12-21 (bundle v4) — previous version of this page
Sports Betting — Cloudflare Report

Decision point — what we need from Jeffrey

This checkpoint is designed to be answered quickly. Once these decisions are made, we implement market snapshot capture and begin real EV/CLV evaluation for player props.

Decision packet (answer in ~2 minutes)

Release 2025-12-21 (CT) Record sportsbetting_Full_Record_v58 → v60 Phase Phase 6 (Market truth decision packet ready)

If you want to answer in one line, reply with: DV_vendor_provider=…; DV_books_scope=…; DV_latency_tolerance=…; DV_history_depth=…; DV_budget=…

DecisionQuestionQuick options
DV_vendor_providerWhich market data provider/bundle should we use?• Enterprise/quote (OddsJam-style)
• Mid/high priced bundles (e.g., WagerAPI/Goalserve/SportsDataIO)
• Developer APIs (e.g., The Odds API / Prop-Odds)
• Hybrid (combine 2 sources)
DV_books_scopeFanDuel only or multi-book?• FanDuel-only
• Multi-book (best-price + consensus)
DV_latency_toleranceHow real-time does it need to be?• Realtime
• Delayed ok (e.g., 5-min)
DV_history_depthHow much history do we need for backtests?• Season-to-date
• 2–3 seasons
• 10+ seasons (if vendor supports)
DV_budgetMonthly budget target?• <$100
• $100–$1,000
• $1,000–$5,000
• $5,000+ (enterprise)

Provider options (organized by tier)

These are representative buckets. Exact fit depends on pricing, ToS, and whether historical storage/backtesting is allowed.

TierExample vendorsWhat you get (typical)Tradeoffs (typical)
Enterprise / pro trading ops (quote; emphasis on latency + breadth)OddsJam API / Odds Screen
Mid/high price, explicit packagesWagerAPI, SportsDataIO (archive endpoints), Goalserve (NBA data feed + odds)
Developer-friendly odds APIs (validate props coverage + ToS)The Odds API, Prop-Odds, balldontlie player props endpoint (warning case)

What changes depending on your choice

We keep the pipeline vendor-agnostic. Your choices mainly affect scope, cost, and which “edge” strategies are viable.

FanDuel-only vs multi-book

FanDuel-only

  • Simpler book normalization; fewer mapping issues.
  • We measure edges as 'mispricing vs our model' primarily at one book.

Multi-book

  • Enables best-price selection, consensus signals, and sharper CLV evaluation.
  • Requires stricter mapping & more storage; adapter must support multiple book IDs.

Realtime vs delayed

Realtime

  • Can exploit line movement and timing windows; more operational complexity.
  • Higher request volume; stronger need for rate limiting + snapshot scheduling.

Delayed

  • Focus on medium-horizon inefficiencies; lower operational risk.
  • CLV still useful but timing-based strategies reduced.

Season-to-date vs multi-season history

Season-only

  • Faster start; weaker priors for player distributions early season.

Multi-season

  • Better priors and stability; need vendor rights for storage/backtests.

Past releases

Release 2025-12-18 (bundle v3) — expand
Sports Betting — Cloudflare Report

Decision point — what we need from Jeffrey

We have court “truth” (schedule/box/PBP). To compute betting edges, we must choose a stable odds + player-props market provider and lock the canonical schema for market snapshots.

What we need to decide

Release 2025-12-18 (CT) Record sportsbetting_Full_Record_v38 → v39 Phase Phase 6 (Market + availability ingestion)
  • Budget tier: proof-of-concept vs production-grade.
  • Markets: moneyline/spread/total + which player props (points/assists/rebounds/threes/PRA/etc.).
  • Books & regions: prioritize FanDuel (and which others?), US only vs broader.
  • Historical depth: how many seasons for backtests and line-movement analysis.
  • Cadence: pre-game only vs closing-line + live snapshots.

Provider options (organized by “complexity / cost”)

TierOptionWhat you getTradeoffs
0 Keep truth-layer only
No odds integration yet
Continue building projections + outcome models; validates pipeline and modeling approach. No real “edge” measurement without market lines and prices.
1 The Odds API
Quick odds + some props, historical on paid plans
Game odds + additional markets including player props; easier integration; free plan for current odds, paid for historical snapshots. Coverage/market depth varies by book; historical depth depends on plan; still need careful snapshot cadence for CLV.
2 SportsDataIO (NBA Odds solution)
Odds + props + line movement + archive endpoints
Team/game/player props; line movement guidance; historical archive for older props/futures. Paid subscription; integration surface is broader (more endpoints, keys, and schema mapping).
3 Sportradar Player Props API / enterprise feeds
Aggregated markets, robust IDs, enterprise support
Aggregated odds and extensive player prop markets from top US books; strong identifier systems. Enterprise pricing + contracting; heavier onboarding.

We can start at Tier 1 for speed, then upgrade later if we need deeper historical props, more books, or richer market catalogs.

Our recommendation (prudent default)

Start with a Tier 1 trial (fast integration, proves the market schema + snapshot cadence), then evaluate whether we need a Tier 2/3 upgrade for historical depth and broader prop coverage.

Once chosen, we will: (1) implement a market snapshot table, (2) schedule regular pulls around open/close, (3) join outcomes to lines, (4) compute EV/CLV, and (5) iterate based on results.