Polymarket tennis trading, with live data you can trust

polymarket-tennis is the live-data layer for Polymarket tennis trading: discover tennis event markets, match each one to the right live tennis match, and watch market prices against live scores — score line, server, break-point flag — in one joined view.

Python 3.10+ MIT license Observe-only One dependency: httpx

Disclosure: this toolkit is built and maintained by the team behind the Live Tennis API. It joins Polymarket's public market data with our live-score feed, so this is vendor-authored tooling — judge accordingly.

Observe-only by design. The package reads public market data and live scores. It contains no order execution, no wallet or key handling, and no strategy advice; execution is permanently out of scope.

Cincinnati Open: Jiri Lehecka vs Arthur Fils  [atp-lehecka-fils-2026-08-17]
  market: Jiri Lehecka 0.095 | Arthur Fils 0.905  (as of 12s ago)
  live:   Jiri Lehecka vs Arthur Fils  4-6 3-4 (15-40)
          serving: Jiri Lehecka  [BREAK POINT]  (as of 8s ago)
View on GitHub Free Live Tennis API key

Tennis on Polymarket is a real category

On 2026-08-18 we counted 400+ open singles moneyline markets on Polymarket's public Gamma API across ATP, WTA, Challenger and ITF events — plus set-winner, games over/under and futures markets alongside them. The Gamma API is keyless: no account is needed to read prices.

What the toolkit does

Quickstart

pip install "polymarket-tennis @ git+https://github.com/livetennisapi/polymarket-tennis"

# 1. list current tennis markets — keyless, Gamma only
pmtennis discover --matches-only --moneyline-only

# 2. get a free Live Tennis API key (livetennisapi.com/subscribe/free)
export LIVETENNIS_API_KEY=ltapi_...

# 3. inspect the matching decision for one market
pmtennis match atp-lehecka-fils-2026-08-17

# 4. watch market price vs live match state, one poll per minute
pmtennis watch atp-lehecka-fils-2026-08-17

Building a Polymarket tennis trading bot on top of this

To be clear about the boundary: this toolkit is the data layer, not a bot. It never places orders and never will. What it gives a Polymarket tennis trading bot is the part that is genuinely fiddly — reliable market discovery, market-to-match identity resolution that refuses to guess, and a joined market-price/live-score snapshot with staleness timestamps — so your own code can focus on whatever decisions it makes. Everything downstream of the LiveMarketView (signals, execution, risk) is yours to build, with Polymarket's own official interfaces, and none of it lives here.

Free-tier budget math (honest numbers)

The Live Tennis API free tier allows 30 requests/minute and 100 requests/day and includes live scores (score/server/state), players (with each player's own current ranking), fixtures, and usage. pmtennis watch spends 1 Live Tennis API request per poll — the market price comes from Gamma, which is keyless and doesn't touch the quota:

cadencerequests/hourfree-key watching per day
60 s (default)60~100 minutes
300 s12~8 hours

So the free tier comfortably covers developing, testing, and following a handful of tracked matches at a gentle cadence — it is not sized for continuous fast polling of many matches. Paid tiers add completed-match history and point-by-point (Basic), match events, market prices and bulk packages (Pro), and win probability and in-play stats (Ultra) — details at livetennisapi.com.

FAQ

Can you trade tennis on Polymarket?
Yes — tennis event markets exist and are numerous. On 2026-08-18 we counted 400+ open singles moneyline markets on Polymarket's public Gamma API across ATP, WTA, Challenger and ITF, alongside set-winner, games over/under and futures markets. Trading itself happens through Polymarket's own official interfaces; this toolkit only observes the markets.
Is there a Polymarket tennis API?
Polymarket's public Gamma API exposes tennis events and markets keyless — no account needed to read prices. This toolkit wraps that API for the tennis category and pairs it with the Live Tennis API for the live-score side.
Does this place trades?
No. It is observe-only: no order execution, no wallet or key handling, no strategy advice. Execution is permanently out of scope.
What data does the free tier cover?
The Live Tennis API free tier (30 req/min, 100 req/day, no card) covers live scores with score/server/break-point state, players including each player's own current ranking, fixtures, and usage. That is everything this toolkit needs.
Source, docs & issues on GitHub