# When to choose FanDuel API, and when not to

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, and soccer (the Premier League, La Liga, Serie A, the Bundesliga, Ligue 1, the Champions League, MLS and international matches), with every match market and yes-only player markets such as anytime goalscorer, shots, shots on target, assists and goalkeeper saves, 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/when-to-choose-fanduel-api (this is its markdown version, https://fanduelapi.com/vs/when-to-choose-fanduel-api.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/)/ When to choose it

Decision guide

# When to choose FanDuel API, and when not to

FanDuel API reads one book, FanDuel Sportsbook, in depth: every player prop and game market, each line and price move with its timestamp, and props graded against the box score. That is the right tool for some jobs and the wrong one for others.

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

## Choose it when

- FanDuel is the book you bet, model or show to users, and you want its whole prop board rather than one event at a time.
- You need where a line opened and every move since, kept for you: see [line movement](https://fanduelapi.com/fanduel-line-movement) and [historical data](https://fanduelapi.com/fanduel-historical-data).
- You train on outcomes: props graded against the final box score, with hit rates per player.
- You want to stay current cheaply: a cursor change feed, a resumable stream, and [webhooks](https://fanduelapi.com/fanduel-api-webhooks) on Production.
- You work from an agent: the MCP server is on every plan, including Free.

## Choose something else when

- You need several sportsbooks side by side, or best-price and arbitrage across books.
- You need sports outside NBA, NFL, NHL, MLB, college basketball and football and soccer, such as tennis or MMA.
- You need odds from before collection started. Nothing older is stored here, and nothing is backfilled from elsewhere.
- You buy through procurement and want queue delivery and a negotiated contract.

## If not this, which

| Source                                               | Better when                                                                                                                                                                                                            |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [The Odds API](https://fanduelapi.com/vs/the-odds-api)                     | You need many bookmakers or game lines beside props, or years of historical snapshots for backtests, at a low entry price.                                                                                             |
| [SportsGameOdds](https://fanduelapi.com/vs/sportsgameodds)                 | You want many leagues and bookmakers in one feed, with an MCP server, and can use a 3-minute update cycle or pay for Pro.                                                                                              |
| [OpticOdds](https://fanduelapi.com/vs/opticodds)                           | You are a business that needs many books, streaming or queue delivery and a sales contract, and price is set by negotiation. Confirm FanDuel coverage with them first, since their published list does not include it. |
| [SharpAPI](https://fanduelapi.com/vs/sharpapi)                             | You want ready-made expected value, arbitrage and middle scanning across several books, rather than one book's raw props and history.                                                                                  |
| [TheRundown](https://fanduelapi.com/vs/therundown)                         | You need game lines and many books with a free tier for them, and props delayed by up to a minute are fine.                                                                                                            |
| [OddsBlaze](https://fanduelapi.com/vs/oddsblaze)                           | You build same game parlay products or need several books with sub-second latency and a bet grader, and can confirm FanDuel coverage with them first.                                                                  |
| [OddsPapi](https://fanduelapi.com/vs/oddspapi)                             | You want FanDuel next to hundreds of other books and exchanges in one schema, with historical odds on a free key, and a 250-request month is enough to start.                                                          |
| [Apify FanDuel scrapers](https://fanduelapi.com/vs/apify-fanduel-scrapers) | You need a one-off or occasional snapshot of FanDuel game lines in CSV or Excel, pay only per row, and do not need player props or a move history.                                                                     |

Facts on each page were read from that source's own public pages, checked 5 November 2026 (OddsBlaze 9 November 2026, OddsPapi and the Apify scrapers 11 November 2026). This page is written by the operator of FanDuel API. The full table is on [FanDuel API alternatives](https://fanduelapi.com/fanduel-api-alternatives).

## Run the same test on any source

1. Pick one FanDuel player prop that is on the board now, and note the line and both prices.
2. Wait for FanDuel to move it, then ask each source for that prop again and for its history.
3. Check that the move is there with a timestamp, that a suspended market says so, and how many requests the test cost.

Here that is three calls: `/api/v1/props`, then `/api/v1/props/{id}/history`, then `/api/v1/changes`. The [Python example](https://fanduelapi.com/fanduel-api-python) runs all three.

## 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 OddsPapi FanDuel API and OddsPapi compared for FanDuel odds: bookmaker count, player props, historical odds, the free request cap, WebSocket access and MCP.](https://fanduelapi.com/vs/oddspapi)
- [vs SportsGameOdds FanDuel API and SportsGameOdds compared for FanDuel data: books, player props, line history, free tier, update speed, push delivery and MCP, with sources.](https://fanduelapi.com/vs/sportsgameodds)
- [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 with player props, and soccer (Premier League, La Liga, Serie A, Bundesliga, Ligue 1, Champions League, MLS and internationals) with every match market and goalscorer and shots markets, as FanDuel lists them.

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