Fanatics Markets odds API

Fanatics Markets odds API for real-time Fanatics Markets prices converted to American, decimal or probability odds and set next to every sportsbook on one event id.

Fanatics Markets is the prediction market app from Fanatics, the company that also runs Fanatics Sportsbook. Instead of betting at a posted line, users buy yes/no event contracts priced in cents that pay $1 if the outcome happens, and the app connects them to a regulated exchange for those trades.

For anyone working with odds data, that gives one brand two different ways of pricing the same game: a sportsbook moneyline set by a trading desk, and a contract price set in a market. Odds screens, line-shopping tools and analysts want both side by side. This page covers what the Fanatics Markets odds API in PreciseAPI returns, how its contract prices convert to odds, and how to compare them with Fanatics Sportsbook and the rest of the market.

Does Fanatics Markets have a public API?

No. Fanatics Markets doesn't offer a public odds API for developers, and we didn't find a developer portal or published odds feed on its own sites. If you've been searching "does Fanatics Markets have an API", that's the honest answer.

Our Fanatics Markets sports betting odds API fills that gap. PreciseAPI collects Fanatics Markets prices and normalizes them into the same schema as every sportsbook, exchange and DFS app we cover. A Fanatics Markets contract on a game arrives under the same event id and outcome ids as the Fanatics Sportsbook moneyline on that game, with prices in American, decimal or probability format. PreciseAPI is an independent data provider with no partnership with Fanatics, and this isn't an official Fanatics feed.

What Fanatics Markets data is included

In PreciseAPI, Fanatics Markets has its own source id, fanatics_markets, and is type: "exchange". It's separate from the fanatics sportsbook source, so you can request either one or both. The Fanatics Markets odds feed carries:

Spreads, totals and player props from Fanatics Markets aren't in the feed today. For those markets, use the Fanatics Sportsbook source or the other books.

From contract price to odds

A contract that pays $1 and costs p converts directly:

ContractProbabilityDecimalAmerican
59 cents59%1.695-144
43 cents43%2.326+133
25 cents25%4.000+300

Decimal is 1 / p. American is -p / (1 - p) x 100 for favorites and +(1 - p) / p x 100 for underdogs. The odds formats guide handles it, and /docs/formats covers rounding in the API.

Fanatics Markets odds by league

The coverage endpoint lists Fanatics Markets lines for ten leagues:

The coverage page shows each source's live status.

Fanatics Markets vs Fanatics Sportsbook

The two products price the same game in different ways. The sportsbook posts a moneyline with its margin built in, the vig. The prediction market shows contract prices set by trading, and costs come from fees and the gap between bid and ask rather than from a margin on the line. Neither is automatically better. What matters is the number on each side, after costs, at the moment you look. That's ordinary line shopping, with one venue quoted in cents.

Worked example: same brand, two prices

On an NFL game:

SideFanatics MarketsAs oddsFanatics SportsbookBetter price before fees
Home59 cents-144 (1.695)-150 (1.667)Markets
Away43 cents+133 (2.326)+130 (2.300)Markets

Add up the implied probabilities on each venue. Markets: 0.59 + 0.43 = 1.02, an overround of 2%. Sportsbook: 0.6000 + 0.4348 = 1.0348, an overround of about 3.5%. In this snapshot the contract prices are better on both sides.

Now the part a quick comparison leaves out: trading fees. Fanatics Markets publishes its own fee schedule, and fees apply when you buy and when you sell. Purely for illustration, a 1-cent cost on the home contract turns 59 cents into an effective 60 cents, which is -150, the same as the sportsbook. Always compare after costs, check that the liquidity covers the size being compared, and remember that the two products are available in different places. Availability varies by state.

Movement matters as well as level. /v1/history with book=fanatics_markets returns timestamped changes on its full-game winner markets, so you can see whether the contract price moved before, with or after the sportsbook line on news like an injury or a quarterback change. Over a season, that tells you which of the two products tends to react first, which matters if you're choosing which venue's price to show users as the current number.

Are Fanatics Markets prices sharp?

Prediction market prices often sit closer to the low-margin sharp books than retail sportsbook lines do, because traders can push a mispriced contract back into line and the venue isn't building a margin into the number. That's only as true as the market is deep. A game with plenty of size in the order book tells you what the market thinks. A thin one may just reflect the last few orders. Our prediction markets vs sportsbooks guide covers when to trust an exchange price and when to fall back to the sharp books. In practice, treat Fanatics Markets as one price among several, not as the final word on its own.

Across more than two venues, /v1/best-lines returns the best price per outcome (best_price), which sources offer it (best_books) and how many are quoting the market (books_quoting). That makes it easy to see whether either Fanatics product is near the top of the market or just ahead of its sibling.

Who uses Fanatics Markets odds data

A few kinds of teams ask for this source:

For all of these, the value comes from having Fanatics Markets odds data in the same shape as everything else, with stable ids and timestamps, so it can sit in a table without manual cleanup.

How to use the Fanatics Markets odds API

Request fanatics_markets and fanatics together to get both products on the same events:

curl -s "https://api.preciseapi.com/v1/odds?league=nfl&books=fanatics_markets,fanatics&markets=moneyline&format=decimal" \
  -H "Authorization: Bearer $PRECISEAPI_KEY"

Each event has one bookmakers entry per source. The Fanatics Markets block (trimmed):

{
  "id": "fanatics_markets",
  "name": "Fanatics Markets",
  "type": "exchange",
  "updated_at": "2026-10-14T16:58:21.730Z",
  "markets": [
    {
      "id": "mkt_0ud3w6ke9rz",
      "key": "moneyline",
      "period": "full_game",
      "outcomes": [
        { "id": "sel_2gm4p8va1oc", "name": "Philadelphia Eagles", "side": "home", "price": 1.694, "liquidity": 3150 },
        { "id": "sel_1ce0x5tz7jn", "name": "Dallas Cowboys", "side": "away", "price": 2.33, "liquidity": 2700 }
      ],
      "suspended": false,
      "updated_at": "2026-10-14T16:58:21.730Z"
    }
  ]
}

A Python sketch that flags which Fanatics product has the better price on each side:

import os, requests

r = requests.get(
    "https://api.preciseapi.com/v1/odds",
    params={"league": "nfl", "books": "fanatics_markets,fanatics", "markets": "moneyline", "format": "decimal"},
    headers={"Authorization": f"Bearer {os.environ['PRECISEAPI_KEY']}"},
)
for event in r.json()["data"]:
    books = {b["id"]: b["markets"][0]["outcomes"] for b in event["bookmakers"] if b["markets"]}
    if len(books) < 2:
        continue
    by_id = {o["id"]: o for o in books["fanatics"]}
    for o in books["fanatics_markets"]:
        sb = by_id.get(o["id"])
        if not sb:
            continue
        winner = "Markets" if o["price"] > sb["price"] else "Sportsbook"
        print(event["away"]["abbr"], "@", event["home"]["abbr"], o["side"], o["price"], "vs", sb["price"], "->", winner)

Outcome ids are shared across sources, so matching the two products is a dictionary lookup, not a fuzzy name match. /v1/odds costs 2 credits per call and /v1/best-lines costs 3. On the Syndicate plan, the WebSocket stream pushes Fanatics Markets live odds as deltas (/docs/streaming). If Fanatics Markets stops reporting a market, we mark it suspended and leave it out of responses unless you pass include_suspended=true.

Why not scrape Fanatics Markets?

People looking for how to scrape Fanatics Markets odds usually need the numbers in an app or a model. Building that yourself means:

There's also the cost of being wrong. An odds screen that shows a stale or mismatched contract price next to a live sportsbook line misleads users, and a model trained on mismatched data learns the wrong lesson. A normalized Fanatics Markets odds API takes care of all of that. PreciseAPI's prediction market odds API puts Fanatics Markets next to the sportsbooks and exchanges in one real-time odds API.

Fanatics and Fanatics Markets are trademarks of their owner, used here for identification only. PreciseAPI is not affiliated with or endorsed by Fanatics.

Frequently asked questions

Does Fanatics Markets have an API?

No. There is no public Fanatics Markets API for odds. PreciseAPI collects its prices and normalizes them alongside the sportsbooks, exchanges and DFS apps we cover.

Is Fanatics Markets the same source as Fanatics Sportsbook?

No. In PreciseAPI, fanatics_markets is the prediction market and fanatics is the sportsbook. They share event and outcome ids, so you can compare them directly.

How do Fanatics Markets prices convert to odds?

A contract price is an implied probability. 59 cents is 59%, decimal 1.695, or American -144. PreciseAPI returns your chosen format through the format parameter.

How fast do Fanatics Markets odds update?

In the Fanatics Markets odds API, in-play prices refresh in under 500 ms and pre-match prices every 1–2 seconds. The Syndicate plan adds in-play odds and can stream changes over WebSocket.

Do the prices include Fanatics Markets fees?

No. Prices are market quotes. Add trading fees yourself before comparing them with sportsbook odds.

Is there a free trial?

Yes. The Sandbox plan is free, with 50 credits for the Sandbox chat in your dashboard, where you can ask about Fanatics Markets prices in plain English, and no card required. API access starts on Edge. See the pricing page for paid plans.