

## Honest read [#honest-read]

This page exists because every dev evaluates two or three options before committing to a
sports-data layer. We'd rather lay it out ourselves than lose the conversation to a Reddit thread.

The short version: &#x2A;*Statshawk is the shortest path to an LLM-grounded, normalized sports
backend.** If you want raw odds, use [theOddsAPI](https://the-odds-api.com). If you want
enterprise data with hand-holding, use [SportRadar](https://sportradar.com). If you're
single-league and don't mind scraping, [nba\_api](https://github.com/swar/nba_api) is free.

## Feature matrix [#feature-matrix]

| Capability                     | Statshawk                        | theOddsAPI           | SportRadar             | nba\_api            |
| ------------------------------ | -------------------------------- | -------------------- | ---------------------- | ------------------- |
| MCP server (LLM-native)        | ✓ hosted, OAuth                  | ✗                    | ✗                      | ✗                   |
| REST normalized across leagues | NBA, MLB, NFL, NHL, soccer, NCAA | only odds            | yes (paid)             | NBA only            |
| Auth                           | API key + OAuth (MCP)            | API key              | API key + IP allowlist | none (scraper)      |
| Pricing model                  | usage units                      | per-month per-market | enterprise quote       | free                |
| Live game data                 | yes (≤30 s scoreboard)           | n/a (odds only)      | yes                    | yes (NBA Stats lag) |
| Statcast / pitch data          | yes                              | ✗                    | yes (separate SKU)     | ✗                   |
| Pre-computed analysis cards    | ✓                                | ✗                    | ✗                      | ✗                   |
| Self-serve signup              | ✓                                | ✓                    | ✗ (sales call)         | ✓ (open source)     |
| Time-to-first-curl             | \< 60 s                          | \< 60 s              | 1–2 weeks              | local install       |
| Time-to-first-MCP-call         | \< 60 s                          | n/a                  | n/a                    | n/a                 |
| Bring-your-own odds line       | ✓ (`?line=`)                     | n/a                  | ✗                      | ✗                   |

## When to pick which [#when-to-pick-which]

<Callout type="info" title="theOddsAPI">
  Pick if your product is fundamentally an odds-comparison or market-making feature and you
  don't need normalized box scores or play-by-play.
</Callout>

<Callout type="info" title="SportRadar">
  Pick if you're a regulated operator, you have enterprise legal review, and you need official
  league-licensed data with five-nines SLAs. Expect a sales cycle, a contract, and a price tag.
</Callout>

<Callout type="info" title="nba_api / scrapers">
  Pick if you're hacking on a personal NBA project, can tolerate scraper-grade reliability,
  and don't need cross-league normalization or LLM tool calls.
</Callout>

<Callout type="tier" title="Statshawk">
  Pick if you're building an LLM-native product, want one schema across leagues, and would
  rather meter analysis calls than negotiate enterprise contracts. We're optimized for the
  "thirty lines of Python to a real product" path.
</Callout>

## What we are not [#what-we-are-not]

* **An odds aggregator** — we accept a line as input, we don't publish them.
* **A real-time push service** — REST polling only at v1.
* **A betting platform** — we serve data; you build the app.
* **Officially licensed** — for regulated use you'll want a tier-1 provider.

If you've tried us and one of these gaps is a blocker, email
[`hello@statshawk.ai`](mailto:hello@statshawk.ai). We read everything.
