# Free odds API: start with a real dataset

Get a free GetOdds API key with 1,000 requests a day and 60 a minute, no card. Read stored DraftKings sportsbook odds and player-prop thresholds, check observation times, then size your polling.

Canonical page: https://getoddsapi.com/free-odds-api

## Free API key

Get a free GetOdds API key: **1,000 requests per UTC day and 60 per minute, no card**. One key covers REST and the hosted MCP server.

Sign up: https://getoddsapi.com/sign-up?ref=ai-claudebot

## Quickstart

1. Create an account at https://getoddsapi.com/sign-up?ref=ai-claudebot, open https://getoddsapi.com/dashboard and issue a key with the sources you need (draftkings, fanduel, betrivers, prizepicks or underdog). Keep it in a server environment variable named GETODDS_API_KEY.
2. Read current DraftKings NBA spreads with curl:

```bash
curl --fail-with-body "https://getoddsapi.com/api/v1/odds?sport=NBA&market=spread&fresh_only=true&limit=50" \
  -H "Authorization: Bearer $GETODDS_API_KEY"
```

3. The same request in Python (standard library only):

```python
import json, os, urllib.request

req = urllib.request.Request(
    "https://getoddsapi.com/api/v1/odds?sport=NBA&market=spread&fresh_only=true&limit=50",
    headers={"Authorization": "Bearer " + os.environ["GETODDS_API_KEY"]},
)
with urllib.request.urlopen(req) as res:
    rows = json.load(res)["data"]
for row in rows:
    print(row["away"], "at", row["home"], row["side"], row["line"], row["american"], row["observed_at"])
```

4. Check `observed_at`, `age_seconds` and `stale` on every row before using a price. Full reference: https://getoddsapi.com/docs

## Use with Claude (MCP)

```bash
claude mcp add --transport http getodds https://getoddsapi.com/api/mcp \
  --header "Authorization: Bearer $GETODDS_API_KEY"
```

The MCP tools follow the key's source grants and share its allowance. Setup guide: https://getoddsapi.com/use-with-claude

## Pricing

| Plan | Allowance | Price |
| --- | --- | --- |
| Free key | 1,000 requests a day, 60 a minute | $0, no card |
| Developer Bundle | 10,000 requests or credits a month on each of four sources | $149 a month |

Free development allowance: 1,000 requests per UTC day and 60 per minute per account, with no payment step. Paid: the Developer Bundle at $149 per month, with 10,000 monthly requests or credits on each of four sources.
Details: https://getoddsapi.com/bundle

## Guide


Canonical: https://getoddsapi.com/free-odds-api
Reviewed: 2026-11-07 UTC

Get a free GetOdds API key with 1,000 requests a day and 60 a minute, no card. Read stored DraftKings sportsbook odds and player-prop thresholds, check observation times, then size your polling.

## What the free key includes

A free GetOdds key gives 1,000 requests per UTC day and 60 per minute, shared across REST and MCP calls, with no card required. The paid Developer Bundle is $149 a month. Create an account, issue a key in the dashboard and grant the sources it should read.

| Plan | Allowance | Price |
| --- | --- | --- |
| Free key | 1,000 requests a day, 60 a minute | $0, no card |
| Developer Bundle | Higher limits across all sources | $149 a month |
| Calculators | Odds conversion and return arithmetic in your browser | Free, no key or account |

## Make one small authenticated request

Separate /api/v1/odds and related endpoints serve stored DraftKings sportsbook prices with an explicit draftkings key scope; see /docs/sportsbook. Player-prop thresholds (PrizePicks, Underdog, DraftKings Pick6, FanDuel props) come from /api/v1/markets with a source parameter. Read five rows first, inspect source status and observation times, then size pagination deliberately.

```bash
curl --fail-with-body 'https://getoddsapi.com/api/v1/markets?source=prizepicks&limit=5' -H "Authorization: Bearer $GETODDS_API_KEY"
```

## Connect an AI agent with the same key

The hosted GetOdds MCP endpoint follows the same source grants and allowance; see /mcp and /use-with-claude. Ask the agent to make one small read and show observation timestamps before drawing conclusions.

## Budget a prototype before running a loop

A daily allowance is not permission to poll continuously. Cache reusable responses and stop on authentication or setup errors. Streaming has its own connection cost and availability; consult the current plan before enabling it.

Odds-API.io currently pauses new free keys while keeping previously issued free keys active. That is a useful distinction when comparing free plans. Pricing and eligibility can change; the linked sources are the authority.

## Questions

### Can I get an API key without a card?

Yes. A free GetOdds key needs no card and includes 1,000 requests a day and 60 a minute.

### Does one key cover REST and MCP?

Yes. REST requests and MCP tool calls share the same key, source grants and allowance.

### Is a projection line a probability?

No. A player-stat line or payout multiplier is not automatically a sportsbook probability. Preserve the original data type and use the relevant documented formula.

## Sources

- [GetOdds sportsbook docs](https://getoddsapi.com/docs/sportsbook)
- [GetOdds MCP](https://getoddsapi.com/mcp)
- [Odds-API.io free-key status](https://odds-api.io/pricing/free)

Independent product; not affiliated with the operators named. No picks or predicted profits.

---

GetOdds is an independent developer product and is not affiliated with any sportsbook or pick’em operator. Prices describe data, not betting advice.
