Tennis Odds API

Tennis odds at every level —
in one call.

ATP, WTA, Challenger, WTA 125 and ITF matches all live under one sport key, tennis. Pregame and live moneylines, game spreads, totals, set winners and player props across 13 sportsbooks, exchanges and DFS apps.

473 tennis matches on the board right now

Free tier includes every match and live odds. Graded results and line history start at Hobby ($9/mo).

All levels, not just the tour

Many odds feeds split tennis into tour-level keys and skip the lower tiers. We keep every level together, so one request returns the whole day's slate — including the Challenger and ITF matches that make up most of the calendar.

ATPWTAATP ChallengerWTA 125ITF

Sportsbooks

Bovada · DraftKings · Fanatics · Pinnacle · Fliff

Exchanges

Kalshi · Polymarket US · Novig · Matchbook

DFS / pick'em

PrizePicks · Underdog · Sleeper · Dabble

Pregame and live moneylines

Same the-odds-api-compatible shape you already parse. Live matches refresh about every 30 seconds; Kalshi and Fanatics stream price changes in about a second.

curl "https://api.prop-line.com/v1/sports/tennis/odds\
?markets=h2h&apiKey=YOUR_KEY"

# Every match on the board, every level, every book that prices it.
[
  {
    "id": "232165",
    "sport_key": "tennis",
    "home_team": "Storm Hunter",
    "away_team": "Joanna Garland",
    "commence_time": "2026-09-21T13:10:00Z",
    "bookmakers": [
      { "key": "pinnacle", "markets": [{ "key": "h2h", "outcomes": [
        { "name": "Storm Hunter", "price": 112 },
        { "name": "Joanna Garland", "price": -126 } ] }] },
      { "key": "draftkings", "markets": [{ "key": "h2h", "outcomes": [
        { "name": "Storm Hunter", "price": 133 },
        { "name": "Joanna Garland", "price": -169 } ] }] },
      { "key": "kalshi", "markets": [{ "key": "h2h", "outcomes": [
        { "name": "Storm Hunter", "price": 125 },
        { "name": "Joanna Garland", "price": -145 } ] }] }
    ]
  }
]

Player props, graded after the match

curl "https://api.prop-line.com/v1/sports/tennis/events/232165/results\
?apiKey=YOUR_KEY"

# After the match, player props come back graded (illustrative values).
{
  "completed": true,
  "bookmakers": [{ "key": "draftkings", "markets": [{
    "key": "player_aces",
    "outcomes": [
      { "name": "Over", "description": "Joanna Garland", "point": 3.5,
        "price": -115, "resolution": "won", "actual_value": 5 }
    ]
  }]}]
}

Tennis markets

What we carry, the market key to request, and whether we grade it.

MarketKeyGraded?
Match winner (moneyline)h2hYes on ATP & WTA tour; odds only below that
Game spreadspreadsYes on ATP & WTA tour
Total gamestotalsYes on ATP & WTA tour
Total setstotal_setsYes
1st / 2nd set winnerh2h + ?period=s1Odds only
Player aces · double faultsplayer_aces · player_double_faultsYes
Player games won · break points wonplayer_games_won · player_break_points_wonYes
Total tiebreaks · total acestotal_tiebreaks · total_acesYes

Free key in 30 seconds

1,000 requests a day, no credit card. Every tennis match, every level, every book.

Free tier includes 1,000 requests/day. Upgrade anytime.

Want the full docs first? Read the API reference or see how grading works.