# Betting terms, with the math explained

## 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


Canonical page: https://getoddsapi.com/glossary

Clear definitions of vig, hold, push, implied probability, no-vig odds and parlays. Each entry includes a worked example, assumptions and a relevant free calculator.

## Six terms, six distinct questions

### [Vig](https://getoddsapi.com/glossary/vig)

Vig is the margin built into betting prices. For a complete market, one way to describe that margin is overround: the sum of the quoted implied probabilities minus 100%. A single selection’s odds do not reveal the whole market’s vig.

### [Hold](https://getoddsapi.com/glossary/hold)

Hold is the share of stakes retained after payouts. Realized hold describes recorded results; price-based theoretical hold is a model derived from a complete set of odds. Neither should be confused with overround, the excess in summed implied probabilities.

### [Push](https://getoddsapi.com/glossary/push)

A push is a settlement in which a selection is neither a win nor a loss. For a conventional cash straight bet that is refunded, the original stake is returned and net profit is zero. A push inside a parlay or teaser can have different consequences.

### [Implied probability](https://getoddsapi.com/glossary/implied-probability)

Implied probability is the break-even win rate represented by a quoted price in an all-or-nothing cash bet with no pushes or fees. It is found by dividing one by decimal odds. It is a threshold encoded in the price, not a measured forecast.

### [No-vig odds](https://getoddsapi.com/glossary/no-vig)

No-vig odds are prices reconstructed after removing a complete market’s quoted margin under a chosen model. “Fair” describes that model’s output; it does not mean the true probabilities are known. Different margin-removal models can produce different answers.

### [Parlay](https://getoddsapi.com/glossary/parlay)

A parlay combines selections into one ticket whose winning payout depends on all active legs winning. For independently priced conventional legs, multiplying decimal prices gives the combined return multiplier. A same-game parlay may instead have a separately quoted combined price.

Prices, probabilities and settlement are different concepts. A price implies a break-even threshold, a margin model changes that interpretation, and settlement rules determine which payout actually applies.

Overround and theoretical hold use different denominators. A push refund returns stake rather than profit. The definitions below make those distinctions explicit.

All examples use illustrative cash bets with stated assumptions. None supplies a forecast or a live market quote.

[Open the free calculators](https://getoddsapi.com/tools)

## FAQ

### Is there a free odds API key?

Yes. A free GetOdds key includes 1,000 requests per UTC day and 60 per minute, with no card.

### Which sportsbooks does the API cover?

DraftKings (prices observed through ESPN), FanDuel (native game markets and futures) and BetRivers (Pennsylvania pregame markets), plus PrizePicks, Underdog and Pick6 lines.

### Does it work with Claude?

Yes. Add the hosted MCP server with `claude mcp add --transport http getodds https://getoddsapi.com/api/mcp` and your key in the Authorization header.

---

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