Tennis odds API

Tennis odds from DraftKings, FanDuel, Pinnacle and many more books in one JSON shape, with games spread, total games, set spread, total sets, set by set lines and in-play.

Ask the odds route for tennis and you get every match with each book's price side by side. Add a tournament to narrow it, such as atp_shanghai_masters. The key covers ATP, WTA, Challenger, ITF and UTR, singles and doubles, and each match has one stable id.

Tennis markets are about games and sets. You get the match moneyline, the games spread and total games, the set spread and total sets, and moneyline, spread and total for each of the first three sets. Live odds are included from the Growth plan.

curl -H "X-API-Key: $ODDSLINK_KEY" \
  "https://oddslink.app/v1/sports/tennis/odds?markets=h2h,spreads,totals"
[
  {
    "id": "tennis:andreevamirra-qinwenzheng:2026-10-11",
    "sport_key": "tennis",
    "sport_title": "Tennis",
    "commence_time": "2026-10-11T11:30:00.000Z",
    "is_live": false,
    "status": "scheduled",
    "home_team": "Qinwen Zheng",
    "away_team": "Mirra Andreeva",
    "bookmakers": [
      {
        "key": "pinnacle",
        "title": "Pinnacle",
        "last_update": "2026-10-11T05:26:37.486Z",
        "markets": [
          {
            "key": "h2h",
            "last_update": "2026-10-11T05:26:37.486Z",
            "outcomes": [
              {
                "name": "Mirra Andreeva",
                "price": -178
              },
              {
                "name": "Qinwen Zheng",
                "price": 157
              }
            ]
          },
          {
            "key": "spreads",
            "last_update": "2026-10-11T05:26:37.486Z",
            "outcomes": [
              {
                "name": "Mirra Andreeva",
                "price": -138,
                "point": -2,
                "size": {
                  "kind": "posted_limit",
                  "amount": 12000
                }
              },
              {
                "name": "Qinwen Zheng",
                "price": 118,
                "point": 2,
                "size": {
                  "kind": "posted_limit",
                  "amount": 12000
                }
              }
            ]
          },
          {
            "key": "totals",
            "last_update": "2026-10-11T05:26:37.486Z",
            "outcomes": [
              {
                "name": "Over",
                "price": -129,
                "point": 21,
                "size": {
                  "kind": "posted_limit",
                  "amount": 9000
                }
              },
              {
                "name": "Under",
                "price": 111,
                "point": 21,
                "size": {
                  "kind": "posted_limit",
                  "amount": 9000
                }
              }
            ]
          }
        ]
      },
      {
        "key": "draftkings",
        "title": "Draftkings",
        "last_update": "2026-10-11T05:26:41.339Z",
        "markets": [
          {
            "key": "h2h",
            "last_update": "2026-10-11T05:26:41.339Z",
            "outcomes": [
              {
                "name": "Mirra Andreeva",
                "price": -179
              },
              {
                "name": "Qinwen Zheng",
                "price": 145
              }
            ]
          },
          {
            "key": "spreads",
            "last_update": "2026-10-11T05:26:41.339Z",
            "outcomes": [
              {
                "name": "Mirra Andreeva",
                "price": -125,
                "point": -2.5
              },
              {
                "name": "Qinwen Zheng",
                "price": -115,
                "point": 2.5
              }
            ]
          },
          {
            "key": "totals",
            "last_update": "2026-10-11T05:26:41.339Z",
            "outcomes": [
              {
                "name": "Over",
                "price": -185,
                "point": 20.5
              },
              {
                "name": "Under",
                "price": 125,
                "point": 20.5
              }
            ]
          }
        ]
      }
    ],
    "unmatched_bookmakers": [
      "circa",
      "lowvig"
    ]
  }
]

A real Tennis response from 11 Oct 2026, trimmed.

More than the main line

Moneyline

The match moneyline, and a moneyline for each of the first three sets.

Games spread and total games

The games handicap and the over/under on games, with the whole ladder, main line first.

Set spread and total sets

The set handicap and the over/under on sets.

Set by set

Moneyline, spread and total games for sets 1, 2 and 3.

Every tour

ATP, WTA, Challenger, ITF and UTR, singles and doubles, plus the team cups.

In-play

Yes. Live tennis prices while the match is on, from the Growth plan and up.

Markets

Tennis markets and periods
MarketPeriods
MoneylineMatch, sets 1 to 3
Games spread, with alternate linesMatch
Total games, with alternate linesMatch, sets 1 to 3
Set spreadMatch, sets 1 to 3
Total setsMatch
Player total gamesMatch

Books for Tennis

1xBet4Casters888sportBally Betbet105bet365BetanoBetfairBetMGMBetOnlineBetRiversBetUSBetwayBovadaCaesarsCloudbetDraftKingsFanatics MarketsFanDuelFliffHard RockKalshiMatchbookNovigPinnaclePolymarketProphetXReBetSBOBETShuffleSky BetSportBetStakesx.bettheScore BetThunderpickUnibetWilliam Hill

Every book on every plan

Monthly plans, request allowances and features
PlanPer monthRequests a monthIn-play and propsHistory
Free$01,000NoNo
Starter$2420,000NoNo
Scale$99500,000Yes2 years
Business$1995,000,000YesAll of it

Compare every plan

Questions

How do I get one tournament?

Ask for tennis and add ?tournament=atp_shanghai_masters. Each tournament also has its own key, such as tennis_atp_shanghai_masters.

Which tours do you carry?

ATP, WTA, Challenger, ITF men and women, and UTR, singles and doubles. Team cups such as the Davis Cup and Billie Jean King Cup are in too.

Which tennis markets do you carry?

Moneyline, games spread, total games, set spread, total sets and player total games, with set by set lines for the first three sets.

How is the games spread named?

As spreads and totals, the same keys as every other sport. The set spread and total sets are set_handicap and sets_total.

Is in-play included?

Yes. Live tennis prices are on the Growth plan and up.

Can I get tennis opening and closing lines?

Yes, for finished games. Openers and closing prices for the full-game moneyline, spread and total are on Scale (the last 2 years) and Business (everything recorded).

Get tennis odds in one call