Market + recent price ticks per side, newest first (PRO)
The mapped match-winner market for one match, with its recent price ticks per side, newest first.
404 with error: no_market (since 2026-09-02; match_id and coverage: "none" alongside) when no match-winner market is mapped to the match — a market is mapped only where one is published for that fixture, so a client walking every live match will meet this. A bare not_found means the match id itself does not exist. Every row of GET /matches carries has_market, so a slate can be filtered before any call here. GET /matches/{matchId} answers 200 for the same match with market and market_price set to null instead, and carries the live score in the same response, so a per-match poll built on the detail route never spends a call on a 404.
Ticks are kept for 30 days and then deleted: a market older than that answers with an empty prices array while staying mapped — retention, not a fault. For paging past 500 ticks use /matches/{matchId}/prices with its cursor.
Request
- Base URL: https://api.livetennisapi.com/api/public/v1
- URL: https://api.livetennisapi.com/api/public/v1/markets/{matchId}/prices
- Auth: one of:
- HTTP bearer
- API key in header X-API-Key
Path parameters
The match id. Every match route shares ONE id space, so the same value works everywhere matchId appears.
Get it from any match list, where it is the id field of each match object: GET /matches?status=live (in progress), GET /matches?status=upcoming or GET /fixtures (scheduled), GET /matches?status=completed or GET /history/matches (finished).
Ids are stable for the life of a match, so one captured before it starts still resolves after it finishes.
Query parameters
Response
Market with prices
Changes
No recorded changes to this operation across all 1 revision of this API.