Skip to main content
GET
Show Match

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

match
integer
required

The match ID

Response

MatchResource

id
integer
required

Unique identifier of the match. Stable across requests, use it to reference the match from your own data.

self
string
required

Path to this match's endpoint, relative to https://padelapi.org.

name
string
required

Surnames of both teams, in the form Surname/Surname - Surname/Surname. Convenience label for display, not a stable identifier.

url
string | null
required

Public match page. null when the match has no page.

category
enum<string>
required

Draw the match belongs to. Men's and women's draws run in parallel at the same tournament, so pair this with round to place a match.

Available options:
men,
women
round
integer
required

Stage of the draw as the number of matches in that round: 1 for the final, 2 semifinals, 4 quarterfinals, 8 round of 16, and so on. Lower values are later stages, so sorting ascending walks the draw backwards from the final.

round_name
string
required

Human-readable form of round (e.g. Finals, Semifinals, Quarter, Round of 16). Match on round rather than on this field.

index
integer
required

Zero-based position of the match within its round, counted from the top of the draw. Together with round and category it identifies a slot in the bracket.

seeds
string
required

Each team's draw marker as a string: seed number (e.g. "1"), or entry code ("WC"/"Q"/"LL"/"ALT") for unseeded special entries; null when entered by ranking unseeded. Always a {team_1, team_2} object.

played_at
string | null
required

Day the match is played, as YYYY-MM-DD, in the tournament's local date. Use this for day-level filtering and scheduled_at for the exact time.

schedule_label
string
required

Human-readable form of scheduled_at, including how firm the time is: announced by the tournament ("Starting at 9:00 AM", "Not before 4:00 PM") or, for matches without an announced time, estimated from the court's order of play ("Estimated around 12:30 PM") and recalculated hourly. See the schedule estimates guide for how estimates are built and how accurate they are.

scheduled_at
string | null
required

Expected start of the match in server timezone (Europe/Madrid), whether the time was announced by the tournament or estimated. Sort and compare on this field.

scheduled_at_local
string | null
required

Same instant as scheduled_at, serialized in the tournament's timezone.

court
string
required

Name of the court the match is played on, as announced by the tournament (e.g. Centre Court). null when the court has not been assigned.

court_order
integer | null
required

Position of the match in the order of play for its court that day, starting at 1. Sort by this field to follow a court's schedule. null when the order of play has not been published.

status
enum<string>
required

Current state of the match. See the statuses reference for the full list, including which values are permanent and which still change.

Available options:
scheduled,
live,
ended,
finished,
retired,
walkover,
bye
score
required

Final score of the match, as one {team_1, team_2} object per set played, in order. Games are strings, and a tiebreak set carries the points in parentheses (e.g. "7(5)"). null before the match has a result. On the free plan, matches played more than 6 months ago return hidden_free_plan; paid plans include the full historical archive.

winner
required

Winning team (team_1 or team_2). On the free plan, matches played more than 6 months ago return hidden_free_plan; paid plans include the full historical archive.

started_time
string | null
required

Actual start of play (first tracked point, after warm-up), in server timezone (Europe/Madrid). Distinct from scheduled_at, which is the expected start time.

started_time_local
string | null
required

Same instant as started_time, serialized in the tournament's timezone.

duration
string
required

Time on court as HH:MM (e.g. 01:25), measured from the first tracked point to the last. null for matches without live tracking or still in progress.

players
object
required

The two pairs facing each other. team_1 and team_2 are fixed for the match, so winner, score and seeds all refer to these same keys.

updated_at
string
required

ISO 8601 timestamp of the last change to any field of this match, including score and schedule. Poll on this field to pick up only what has moved, as described in the data synchronization guide.

connections
string
required

Related endpoints for this match. prev and next chain the order of play on the same court, not the progression through the draw, and are absent at either end of the day. video appears when there is footage, and stats and live are only present for tournaments with detailed coverage.

tournament
TournamentResource · object

Tournament this match belongs to, embedded in full. Only present on MCP requests; on the REST API use connections.tournament instead.