# No-vig odds

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

## Formula

Proportional model: qᵢ = 1/dᵢ; Q = Σqᵢ; pᵢ = qᵢ/Q. No-vig decimal odds = 1/pᵢ.

## Normalize a market, not one selection

Start with every mutually exclusive, exhaustive outcome from the same market and settlement rules. The proportional model divides each implied probability by their total, preserving their relative weights while making the new probabilities sum to one. Its simplicity is an assumption about how margin was allocated.

Additive, power and Shin models make different assumptions. The GetOdds no-vig calculator compares those models and explains unsupported inputs or fallbacks. They can agree in a symmetric market and disagree when one outcome is much shorter priced than another.

## Remove margin from −150 / +130

1. Decimal prices are 1.6666667 and 2.30; implied probabilities are 0.6 and 0.434782609.
2. Their total Q is 1.034782609.
3. Proportional probabilities are 0.579831933 and 0.420168067, or 57.983193% and 42.016807%.
4. Reciprocals give decimal odds 1.7246377 and 2.38, equivalent to American odds −138 and +138.

## Assumptions and limits

Normalizing prices does not validate the underlying forecast or remove every source of bias. Missing outcomes, stale observations or mismatched settlement terms invalidate the market comparison. If implied probabilities sum to less than 100%, there is no positive margin to remove with this interpretation. No-vig odds alone do not prove that a separate offered price has positive expected value.

## Try the arithmetic

- [Compare four no-vig models](https://getoddsapi.com/no-vig-calculator)
- [See how an assumed probability affects EV](https://getoddsapi.com/expected-value-calculator)

## Related terms

- [Vig](https://getoddsapi.com/glossary/vig)
- [Hold](https://getoddsapi.com/glossary/hold)
- [Implied probability](https://getoddsapi.com/glossary/implied-probability)

## Sources

- [Pinnacle: betting-margin terminology](https://support.pinnacle.com/hc/en-us/articles/44854177573009-What-is-a-betting-margin)

Examples are illustrative, not live offers or betting recommendations.

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