OpenOddsAPI API Get started

Sports Guides

Tennis

Live Tennis odds across 4 bookmakers, normalised to American prices with per-book freshness.

ATP, WTA and Challenger matches arrive in the same feed — filter on commence_time for the window you need.

Sources

Bovada, Pinnacle, Unibet, BetRivers. Every response lists each source with its own last_update and a stale flag, so you can drop a book that has fallen behind.

Request

cURL
curl "https://api.openoddsapi.com/v1/sports/tennis/odds" \
  -H "X-API-Key: $OPENODDSAPI_KEY"

Response

JSON
{
  "sport": "tennis",
  "title": "Tennis",
  "generated_at": "2026-08-09T23:21:29.337Z",
  "sources": [
    {
      "book": "bovada",
      "name": "Bovada",
      "last_update": "2026-08-09T23:21:28.960Z",
      "stale": false,
      "latency_ms": 34
    },
    {
      "book": "pinnacle",
      "name": "Pinnacle",
      "last_update": "2026-08-09T23:21:28.911Z",
      "stale": false,
      "latency_ms": 54
    },
    {
      "book": "unibet",
      "name": "Unibet",
      "last_update": "2026-08-09T23:21:27.464Z",
      "stale": false,
      "latency_ms": 130
    }
  ],
  "bout_count": 68,
  "bouts": [
    {
      "home": "Botic van de Zandschulp",
      "away": "Jakub Mensik",
      "commence_time": "2026-08-09T23:10:00.000Z",
      "books": [
        {
          "book": "bovada",
          "last_update": "2026-08-09T23:21:28.960Z",
          "outcomes": [
            {
              "name": "Botic van de Zandschulp",
              "price": 240
            },
            {
              "name": "Jakub Mensik",
              "price": -300
            }
          ]
        },
        {
          "book": "pinnacle",
          "last_update": "2026-08-09T23:21:28.911Z",
          "outcomes": [
            {
              "name": "Botic Van de Zandschulp",
              "price": 241
            },
            {
              "name": "Jakub Mensik",
              "price": -271
            }
          ]
        },
        {
          "book": "unibet",
          "last_update": "2026-08-09T23:21:27.464Z",
          "outcomes": [
            {
              "name": "Botic van de Zandschulp",
              "price": 220
            },
            {
              "name": "Jakub Mensik",
              "price": -286
            }
          ]
        }
      ]
    }
  ]
}
NOTEExamples are real responses, trimmed to a few sources and one event. Field sports show only the first few players.
OpenOddsAPI API — Documentation v1Examples use illustrative data