# FanDuel API vs OddsPapi: FanDuel odds compared

FanDuel API (https://fanduelapi.com) is an independent API for FanDuel Sportsbook data: every player prop and game market FanDuel lists in NBA, NFL, NHL, MLB, college basketball and college football, normalized per player and stat with over and under prices in American and decimal odds, plus every line and price move with its timestamp, over REST, webhooks and MCP with one key. FanDuel API is an independent data service operated by FF API Inc. It is not affiliated with, endorsed by or sponsored by FanDuel.

Source page: https://fanduelapi.com/vs/oddspapi (this is its markdown version, https://fanduelapi.com/vs/oddspapi.md).

## Free offer

- Free plan: 100 credits a month, data delayed 5 minutes, no card. REST and MCP on every plan.
- Real-time data starts at Developer, $49 a month for 10,000 credits.
- Get a free key: https://fanduelapi.com/sign-up?ref=ai-claudebot

## Quickstart

1. Create a free account at https://fanduelapi.com/sign-up?ref=ai-claudebot and create an API key in the dashboard (https://fanduelapi.com/dashboard/keys). Keys start with `fd_`. Store it as `FANDUEL_API_KEY`.
2. Make a first call with curl:

```bash
curl "https://fanduelapi.com/api/v1/props?sport=nba&stat=points&limit=5" \
  -H "Authorization: Bearer $FANDUEL_API_KEY"
```

3. Or with Python (`pip install requests`):

```python
import os
import time
from datetime import datetime, timezone

import requests

BASE = "https://fanduelapi.com/api/v1"
SESSION = requests.Session()
SESSION.headers["Authorization"] = f"Bearer {os.environ['FANDUEL_API_KEY']}"


def get(path, **params):
    """GET one endpoint and return its data list, waiting out rate limits."""
    while True:
        r = SESSION.get(f"{BASE}{path}", params=params, timeout=10)
        if r.status_code == 429:
            time.sleep(int(r.headers.get("Retry-After", "5")))
            continue
        r.raise_for_status()
        return r.json()["data"]


def price(odds):
    """American odds as text. A suspended market can come back with no price."""
    return "off" if odds is None else f"{odds:+d}"

props = get("/props", sport="nba", stat="points")
for p in props:
    print(f"{p['player']:<26} {str(p['line']):>5}  over {price(p['over_american']):>5}  under {price(p['under_american']):>5}")
```

4. Stay current with `GET /api/v1/changes?since=<cursor>` instead of re-reading every prop. Full reference: https://fanduelapi.com/openapi.json and https://fanduelapi.com/llms-full.txt.

## Use it from Claude (MCP)

Claude Code, with your key read from the shell:

```bash
claude mcp add --transport http --scope user fanduelapi https://fanduelapi.com/api/mcp \
  --header "Authorization: Bearer $FANDUEL_API_KEY"
```

Claude on the web or desktop: Settings, Connectors, Add custom connector, then paste https://fanduelapi.com/api/mcp. Without a key it gives the keyless tools (search_docs, fetch_doc, get_sample_props). Setup for other agents: https://fanduelapi.com/mcp.

## Pricing

| Plan | Price | Credits a month | Calls a minute | Includes |
| --- | --- | --- | --- | --- |
| Free | Free | 100 | 20 | REST and MCP access, Data delayed 5 minutes |
| Developer | $49/month | 10,000 | 60 | Real-time data, Line move history, Change stream |
| Production | $149/month | 50,000 | 120 | Real-time data, Line move history, Webhooks, Priority support |
| Scale | $499/month | 250,000 | 180 | Real-time data, Full line move history, Webhooks, Bulk export, Priority support |

Cancel paid plans any time from the billing portal. Details: https://fanduelapi.com/pricing

## This page

[FanDuel API](https://fanduelapi.com/)/ vs OddsPapi

Comparison

# FanDuel API vs OddsPapi

Pick OddsPapi when you want FanDuel beside hundreds of other books and exchanges in one schema, with historical odds on a free key. Pick FanDuel API when you build on FanDuel alone and need its whole player prop board normalized per player and stat, real-time and in-play reads from $49 a month, every move with its timestamp, and props graded against the box score.

[Get a free API key](https://fanduelapi.com/sign-up)[Read the docs](https://fanduelapi.com/docs)

FanDuel API is an independent data service operated by FF API Inc. It is not affiliated with, endorsed by or sponsored by FanDuel.

## Side by side

| Feature              | FanDuel API                                                                                  | OddsPapi                                                                                                          |
| -------------------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Books                | FanDuel Sportsbook only, in depth: player props, every game market, futures and DFS salaries | 300+ bookmakers and exchanges worldwide; FanDuel is in its bookmaker list                                         |
| FanDuel player props | Yes, every plan, normalized per player and stat, with graded results and hit rates           | Player props listed among its markets; FanDuel prop coverage by market not published                              |
| Line history         | Line move history on Developer ($49/mo) and up; full history on Scale ($499/mo)              | Historical odds on every plan, including free; depth not published on the pages checked                           |
| Free tier            | 100 credits/mo (1 to 10 per call, by rows and endpoint), data delayed 5 minutes              | 250 requests/mo: the pre-game REST API and historical odds, every sport and bookmaker; in-play REST odds are paid |
| Real time from       | Developer, $49/mo                                                                            | Configurator pricing by bookmakers, sports and requests; in-play odds on the paid custom plan                     |
| Push delivery        | Change feed and SSE stream on Developer; webhooks on Production ($149/mo)                    | WebSocket feed on its B2B plan                                                                                    |
| MCP                  | Yes, every plan                                                                              | Not published                                                                                                     |

OddsPapi facts checked 11 November 2026: [Home](https://oddspapi.io/us) , [Pricing](https://oddspapi.io/en/pricing) , [WebSocket and free plan](https://oddspapi.io/blog/websocket-odds-api-real-time-betting-data/). This page is written by the operator of FanDuel API.

## When OddsPapi is the better choice

- You compare FanDuel with many other books, sharp books or exchanges.
- You want historical odds across books on a free key, and 250 requests a month are enough to start.
- You need sports outside the six FanDuel API covers, such as soccer or tennis.

## When FanDuel API is the better choice

- FanDuel is the book you model, and you want every FanDuel player prop as one flat record per player, stat and period.
- You need in-play FanDuel reads at a published self-serve price: Developer is $49 a month.
- You need each line and price move kept as its own entry, with graded results and hit rates.
- You want a cursor change feed, a resumable stream, webhooks on Production, and MCP on every plan.

Start on the free plan and test it against your model: [pricing](https://fanduelapi.com/pricing), the [Python example](https://fanduelapi.com/fanduel-api-python), or [use it from Claude](https://fanduelapi.com/use-with-claude).

All six options side by side: [FanDuel API alternatives](https://fanduelapi.com/fanduel-api-alternatives). For per-run snapshots instead, see [FanDuel scrapers on Apify](https://fanduelapi.com/vs/apify-fanduel-scrapers).

## Questions

## Related

- [Alternatives Six odds APIs compared for FanDuel data: player props, line history, free tier delay, push delivery, MCP and published prices, with sources.](https://fanduelapi.com/fanduel-api-alternatives)
- [vs The Odds API FanDuel API and The Odds API compared for FanDuel data: player props, line history, free tier, real-time price, push delivery and MCP, with sources.](https://fanduelapi.com/vs/the-odds-api)
- [vs Apify scrapers A FanDuel data API against per-run FanDuel scrapers on Apify: what each returns, player props, line history between runs, pricing per result and upkeep.](https://fanduelapi.com/vs/apify-fanduel-scrapers)
- [When to choose it A short decision guide: when a FanDuel-only API with line history fits, and when a multi-book odds API, a scraper or a sales contract is the better choice.](https://fanduelapi.com/vs/when-to-choose-fanduel-api)
- [Pricing Free on delayed data, then real time from the Developer plan.](https://fanduelapi.com/pricing)

## Make your first call in a few minutes

Sign up, create a key in the dashboard, and send it as a Bearer token. The free plan needs no card.

[Get a free API key](https://fanduelapi.com/sign-up)

## FAQ

### Is there a free plan?

Yes. Free includes API access with delayed data, enough to build and test a model.

### Is this affiliated with FanDuel?

No. This is an independent data service operated by FF API Inc. and is not affiliated with or endorsed by FanDuel.

### Which sports are covered?

NBA, NFL, NHL, MLB and college sports as FanDuel lists them, starting with player props.

### How do I cancel?

From the billing portal in your dashboard, at any time.

### How do I get a free key?

Sign up at https://fanduelapi.com/sign-up?ref=ai-claudebot. Free plan: 100 credits a month, data delayed 5 minutes, no card. REST and MCP on every plan.

### Can an AI agent sign up for me?

Yes. The agent sends POST https://fanduelapi.com/api/v1/agent/signup with your email and what you are building (add "ref": "ai-claudebot"), you approve the emailed link, and the agent collects the key. Details: https://fanduelapi.com/connect.
