API Reference
Fixtures
The Fixtures module provides access to today's scheduled matches and upcoming fixtures. Filter by date, date range, tournament, player, or retrieve head-to-head fixture history between two players.
{tourType} path parameter. Use atp for men's matches and wta for women's matches.How Fixtures Work
The database maintains two completely separate tables for match data:
| Table | Purpose | Result field | player1 convention |
|---|---|---|---|
Today (ATP/WTA) | Live & upcoming schedule β what the Fixtures endpoints query | Always "" (empty string) for upcoming matches. The API filters out any row where result is not empty, so you only receive truly unplayed fixtures. | First-listed player. No winner/loser convention yet. |
Game (ATP/WTA) | Complete historical match archive β used by H2H and past-matches endpoints | Score string e.g. "6-3 6-4" | Always the winner. player2 is always the loser. This is a strict convention across the entire archive. |
player1 is always the winner. In upcoming fixtures from the Today table, it is simply the first-listed player with no implied advantage.{tourType} path parameter only accepts atp or wta. There is no itf tour type. ITF-level tournaments are included within ATP and WTA data β use rankId=0 (ITF $10K) or rankId=1 (Challengers / ITF >$10K) to filter to ITF-level events. Passing itf or ITF as the type will return a 400 error.Get Today's All Fixtures
Path Parameter
| Parameter | Type |
|---|---|
{tourType}Required | string |
ENUM("atp", "wta") | |
Query Parameter
| Parameter | Type |
|---|---|
{include}Optional | string |
Comma-separated relations to load. Available: round, tournament, tournament.court, tournament.rank, tournament.country, h2h.Example: include=round,tournament.court,h2h | |
{filter}Optional | string |
Semicolon-sep arated filters in Key:value format. Available filters:
filter=PlayerGroup:singles;TourCountry:USA,FRA | |
{pageSize}Optional | integer |
Results per page. Default: 10. Example: pageSize=10. | |
{pageNo}Optional | integer |
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. | |
Get Fixtures By Date
Path Parameter
| Parameter | Type |
|---|---|
{tourType}Required | string |
ENUM("atp", "wta") | |
{dateOnly}Required | integer |
Target date in "YYYY-MM-DD" format. Example: 2025-06-02. Invalid formats return 400 Bad Request. | |
Query Parameter
| Parameter | Type |
|---|---|
{include}Optional | string |
Comma-separated relations to load. Available: round, tournament, tournament.court, tournament.rank, tournament.country, h2h.Example: include=round,tournament.court,h2h | |
{filter}Optional | string |
Semicolon-separated filters in Key:value format. Available filters:
filter=PlayerGroup:singles;TourCountry:USA,FRA | |
{pageSize}Optional | integer |
Results per page. Default: 10. Example: pageSize=10. | |
{pageNo}Optional | integer |
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. | |
Returns an array of fixture objects β same structure as Today's Fixtures above.
Get Fixtures By Date Range
Path Parameter
| Parameter | Type |
|---|---|
{tourType}Required | string |
ENUM("atp", "wta") | |
{startDate}Required | date |
Start date in YYYY-MM-DD format. Invalid formats return 400 Bad Request. | |
{endDate}Required | date |
End date in YYYY-MM-DD format. Must be after startdate. Invalid formats or equal/reversed dates return 400 Bad Request. | |
enddate is strictly after startdate. Providing equal or reversed dates returns a 400 Bad Request.Query Parameter
| Parameter | Type |
|---|---|
{include}Optional | string |
Comma-separated relations to load. Available: round, tournament, tournament.court, tournament.rank, tournament.country, h2h.Example: include=round,tournament.court,h2h | |
{filter}Optional | string |
Semicolon-separated filters in Key:value format. Available filters:
filter=PlayerGroup:singles;TourCountry:USA,FRA | |
{pageSize}Optional | integer |
Results per page. Default: 10. Example: pageSize=10. | |
{pageNo}Optional | integer |
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. | |
Returns data: [...], hasNextPage β each item in data is a fixture object with the same structure as Today's Fixtures above.
Get Fixtures By Tournament ID
Path Parameter
| Parameter | Type |
|---|---|
{tourType}Required | string |
ENUM("atp", "wta") | |
{startDate}Required | date |
Start date in YYYY-MM-DD format. Invalid formats return 400 Bad Request. | |
{tourId}Required | integer |
Tournament ID (β₯ 1). Obtain from the Tournaments module. | |
Query Parameter
| Parameter | Type |
|---|---|
{include}Optional | string |
Comma-separated relations to load. Available: round, tournament, tournament.court, tournament.rank, tournament.country, h2h.Example: include=round,tournament.court,h2h | |
{filter}Optional | string |
Semicolon-separated filters in Key:value format. Available filters:
filter=PlayerGroup:singles;TourCountry:USA,FRA | |
{pageSize}Optional | integer |
Results per page. Default: 10. Example: pageSize=10. | |
{pageNo}Optional | integer |
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. | |
Returns data: [...], hasNextPage β same fixture object structure as Today's All Fixtures.
Get Fixtures By Player ID
Path Parameter
| Parameter | Type |
|---|---|
{tourType}Required | string |
ENUM("atp", "wta") | |
{playerId}Required | integer |
Player ID (β₯ 1). Obtain from the Players module. | |
Query Parameter
| Parameter | Type |
|---|---|
{include}Optional | string |
Comma-separated relations to load. Available: round, tournament, tournament.court, tournament.rank, tournament.country, h2h.Example: include=round,tournament.court,h2h | |
{filter}Optional | string |
Semicolon-separated filters in Key:value format. Available filters:
filter=PlayerGroup:singles;TourCountry:USA,FRA | |
{pageSize}Optional | integer |
Results per page. Default: 10. Example: pageSize=10. | |
{pageNo}Optional | integer |
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. | |
Returns data: [...], hasNextPage β same fixture object structure as Today's All Fixtures.
Get H2H Fixture History
Path Parameter
| Parameter | Type |
|---|---|
{tourType}Required | string |
ENUM("atp", "wta") | |
{player1Id}Required | integer |
First Player ID (β₯ 1). | |
{player2Id}Required | integer |
Second Player ID (β₯ 1). | |
Query Parameter
| Parameter | Type |
|---|---|
{include}Optional | string |
Comma-separated relations to load. Available: round, tournament, tournament.court, tournament.rank, tournament.country, h2h.Example: include=round,tournament.court,h2h | |
{filter}Optional | string |
Semicolon-separated filters in Key:value format. Available filters:
filter=PlayerGroup:singles;TourCountry:USA,FRA | |
{pageSize}Optional | integer |
Results per page. Default: 10. Example: pageSize=10. | |
{pageNo}Optional | integer |
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. | |
player1 is always the winner and player2 is always the loser β the response above shows Alcaraz defeating Sinner.Returns data: [...], hasNextPage β same fixture object structure as Today's All Fixtures.