# Parlay

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

## Formula

Conventional all-win return = stake × d₁ × d₂ × … × dₙ. Net profit = total return − stake.

## Payout arithmetic is not a win prediction

The decimal product describes a payout rule, not the probability that all legs will win. Multiplying true individual win probabilities is valid only under the required independence assumptions. Knowing the quoted prices does not establish either the true probabilities or independence.

Selections within one game may depend on one another. For an SGP, use the operator’s actual combined quote for payout arithmetic. Comparing it with a product-of-prices reference cannot isolate correlation from margin or other pricing decisions.

## A two-leg cash parlay

1. Illustrative legs: −110 and +150; stake: $100.
2. Decimal prices are 1.9090909 and 2.50, giving a combined multiplier of 4.7727273.
3. If both win, total return is $477.27 and net profit is $377.27.
4. If an active leg loses under the conventional all-or-nothing rule, total return is $0 and the net result is −$100.

## Assumptions and limits

Settlement and permitted combinations depend on the product. A pushed or voided conventional leg may be removed, but do not assume the same repricing for an SGP or teaser. Promotions, maximum payouts, fees and partial-win products are outside the simple formula. More legs can increase a conditional payout without establishing a better expected result.

## Try the arithmetic

- [Calculate a conventional parlay payout](https://getoddsapi.com/parlay-calculator)
- [Compare a quoted SGP with an independent reference](https://getoddsapi.com/same-game-parlay-calculator)

## Related terms

- [Push](https://getoddsapi.com/glossary/push)
- [Implied probability](https://getoddsapi.com/glossary/implied-probability)
- [No-vig odds](https://getoddsapi.com/glossary/no-vig)

## Sources

- [DraftKings: parlay settlement and restrictions](https://support.draftkings.com/dk/en-us/what-is-a-parlay-bet?id=kb_article_view&sysparm_article=KB0010683)
- [Penn State: independent events and the multiplication rule](https://online.stat.psu.edu/stat414/Lesson05)

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.
