Tennis odds API · sports 38 & 39 · REST + WebSocket

Tennis odds API.
ATP and WTA, one schema.

ATP and WTA moneylines, game-handicap spreads, total-games totals, set markets, and Grand Slam futures from DraftKings, FanDuel, BetMGM, Pinnacle, and the other books that price tennis, on stable event IDs. Pull a REST snapshot or stream every change.

Free key · 20,000 data points a day · No credit card

GET/api/v2/sports/{sport_id}/events/{date}

RequestPython 3 · requests

import os
from datetime import datetime, timezone
import requests

key = os.environ["THERUNDOWN_API_KEY"]
api = "https://therundown.io/api/v2"
headers = {"X-TheRundown-Key": key}

# Next ATP (38) or WTA (39) match date
dates = requests.get(
    f"{api}/sports/dates",
    params={
        "sport_ids": "38,39",
        "format": "epoch",
        "exclude_canceled": "true",
    },
    headers=headers,
    timeout=30,
).json()

now = datetime.now(timezone.utc).timestamp()
upcoming = [
    (sport_id, stamp)
    for sport_id, body in dates.items()
    for stamp in body.get("dates") or []
    if stamp > now
]
sport_id, stamp = min(upcoming, key=lambda row: row[1], default=("38", now))
date = datetime.fromtimestamp(stamp, timezone.utc).date().isoformat()

# Moneyline, spread, and total from DraftKings, FanDuel, and BetMGM
odds = requests.get(
    f"{api}/sports/{sport_id}/events/{date}",
    params={"market_ids": "1,2,3", "affiliate_ids": "19,22,23", "main_line": "true"},
    headers=headers,
    timeout=30,
)
print(odds.text)

Response200 · trimmed

{
  "events": [{
    "event_id": "4179c8dcc4becb850315dafb3c1b9921",
    "sport_id": 39,
    "event_date": "2026-10-06T02:00:00Z",
    "markets": [{
      "market_id": 1,
      "name": "moneyline",
      "participants": [{
        "id": 120341,
        "type": "TYPE_TEAM",
        "name": "Linda Fruhvirtova",
        "lines": [{
          "prices": {
            "19": { "price": 140, "updated_at": "2026-10-04T18:20:05Z" },
            "22": { "price": 135, "updated_at": "2026-10-04T18:33:29Z" },
            "23": { "price": 140, "updated_at": "2026-10-05T11:09:41Z" }
          }
        }]
      }]
    }]
  }]
}

Mananchaya Sawangkaew at Linda Fruhvirtova, October 6, 2026, trimmed to one side of one market. The full response held 37 matches for 277 data points.

Free keyRuns on a Free key: pre-match prices from DraftKings, FanDuel, and BetMGM, five minutes delayed. Between seasons, the next slate can be empty until books post lines.

Markets

Every tennis market, not just the moneyline.

From the match moneyline to the next ace, every market comes back in the same events, markets, participants, lines, and prices shape, keyed to one event ID.

79
Tennis market IDs
42
In-game markets
5
Player markets
6
Futures competitions
Market typePlan
  • Game linesMoneyline, spread (game handicap), and total (total games)
    1 · 2 · 3Free
  • Alternate linesAlternate spreads, totals, and player lines
    omit main_lineStarter
  • Sets1st, 2nd, and 3rd set moneyline, spread, total, correct score, and aces
    1150 · 1151 · 1152 · 1153 · 1158 · 1159 · 1320 · 1350Starter
  • Games wonEach player's total games won
    94Starter
  • Player propsPlayer to win at least one set; player aces
    1336 · 1340Starter
  • Game propsTotal sets, set spread, set betting, both players to win a set, total tie-breaks, and total aces
    1300 · 1302 · 1310 · 1324 · 1326 · 1332 · 1334 · 1338Starter
  • In-gameLive moneyline, spread, total, and set lines while the match is live
    41 · 42 · 43 · 77 · 96 · 1154 · 1301 · 1385Starter
  • FuturesAustralian Open, French Open, and Wimbledon winner, men's and women's singles
    /sports/{id}/futuresUltra

Market IDs served on ATP and WTA slates from August 21 to October 7, 2026 (GET /api/v2/sports/{38,39}/markets/{date}). GET /api/v2/markets lists every definition.

Books

All 25 books. One schema.

20 sportsbooks, 3 prediction markets, and 2 exchanges in one response shape. Pick yours with affiliate_ids.

25
Books
20
Sportsbooks
3
Prediction markets
2
Exchanges
Books in the API25

Sportsbooks · 20

  • DraftKingsFree19
  • FanDuelFree23
  • BetMGMFree22
  • Pinnacle3
  • Circa Sports32
  • BookMaker7
  • BetCRIS9
  • Bovada2
  • theScore Bet24
  • Unibet21
  • HardRock28
  • Bet10533
  • Heritage Sports34
  • BetOnline6
  • SportsBetting4
  • LowVig11
  • Bodog12
  • Intertops14
  • Matchbook16
  • YouWager18

Prediction markets · 3

  • Kalshi25
  • Polymarket26
  • Polymarket US31

Exchanges · 2

  • ProphetX29
  • Novig30

Live from GET /api/v2/affiliates. DraftKings, FanDuel, BetMGM, Pinnacle, Bovada, BookMaker, Circa Sports, Kalshi, Polymarket, and Novig were among the books pricing tennis main lines on October 6, 2026. Coverage varies by league, game, and market.

Free vs paid

Start free. Pay when you go live.

Free · $0

Pre-match moneyline, spread, and total from DraftKings, FanDuel, and BetMGM, five minutes delayed.

Paid · from $49/mo

Every book, alternates, periods, props, live in-game odds, and history from $49 a month. Futures and WebSocket on Ultra.

Free$0/mo5-minute delay · 20,000/day · 200,000/monthPre-match game lines from DraftKings, FanDuel, and BetMGM.
Starter$49/mo60-second delay · 25,000,000/moEvery book, alternates, periods, props, and live odds. 7-day history. Internal use.
Pro$149/mo30-second delay · 125,000,000/moOpening and closing lines, 30-day history, and commercial display.
Ultra$399/moReal-time · 500,000,000/moWebSocket streaming, futures, and 90-day history.

Compare every plan →

Questions

Before you build.

Plans, markets, books, and IDs for the Tennis odds API.

Is there a free tennis odds API?
Yes. A free TheRundown key returns pre-match tennis moneylines, spreads, and totals from DraftKings, FanDuel, and BetMGM, five minutes delayed, up to 20,000 data points a day and 200,000 a month. No credit card.
Which tennis markets does the API cover?
Moneylines, game-handicap spreads, and total-games totals; alternate lines; 1st, 2nd, and 3rd set moneyline, spread, total, correct score, and aces; a player's total games won; player to win at least one set and player aces; game props like total sets and set betting; 42 in-game markets; and futures for the Australian Open, French Open, and Wimbledon, men's and women's. Free covers pre-match game lines. The rest starts on Starter ($49 a month), and futures on Ultra.
Which sportsbooks does the tennis odds API cover?
DraftKings, FanDuel, BetMGM, Pinnacle, Bovada, and BookMaker, plus Kalshi, Polymarket, Polymarket US, ProphetX, and Novig, all priced tennis main lines on October 6, 2026. Paid plans include every book in the API. Free includes three.
What are the tennis sport IDs?
38 for the ATP and 39 for the WTA. GET /api/v2/sports returns every sport ID.
Can I show tennis odds in my app?
Starter covers internal and personal use. Showing odds to users of a commercial product starts on Pro ($149 a month).