curl --request GET \
--url https://padelapi.org/api/matches \
--header 'Authorization: Bearer <token>'import requests
url = "https://padelapi.org/api/matches"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://padelapi.org/api/matches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://padelapi.org/api/matches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://padelapi.org/api/matches"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://padelapi.org/api/matches")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://padelapi.org/api/matches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"self": "<string>",
"name": "<string>",
"url": "<string>",
"category": "men",
"draw": "main",
"watchability": 123,
"round": 123,
"round_name": "<string>",
"index": 123,
"seeds": "<string>",
"played_at": "<string>",
"schedule_label": "<string>",
"scheduled_at": "<string>",
"scheduled_at_local": "<string>",
"court": "<string>",
"court_order": 123,
"status": "scheduled",
"score": "<string>",
"winner": "<string>",
"started_time": "<string>",
"started_time_local": "<string>",
"duration": "<string>",
"players": {
"team_1": [
{
"id": 123,
"self": "<string>",
"name": "<string>",
"short_name": "<string>",
"nationality": "<string>",
"side": "drive",
"connections": "<string>"
}
],
"team_2": [
{
"id": 123,
"self": "<string>",
"name": "<string>",
"short_name": "<string>",
"nationality": "<string>",
"side": "drive",
"connections": "<string>"
}
]
},
"updated_at": "<string>",
"connections": "<string>",
"tournament": {
"id": 123,
"self": "<string>",
"name": "<string>",
"url": "<string>",
"photo_url": "<string>",
"location": "<string>",
"venue": {
"name": "<string>",
"address": "<string>"
},
"country": "<string>",
"timezone": "<string>",
"level": "major",
"format": "pairs",
"status": "pending",
"court_type": "indoor",
"prize": {
"amount": 123,
"currency": "<string>"
},
"start_date": "<string>",
"end_date": "<string>",
"winners": {},
"links": "<string>",
"updated_at": "<string>",
"connections": "<string>"
},
"tie": {
"id": "<string>",
"group": "<string>",
"team_1": "<string>",
"team_2": "<string>",
"rubber": 123,
"score": {
"team_1": 123,
"team_2": 123
},
"winner": "team_1"
}
}
],
"links": {
"first": "<string>",
"last": "<string>",
"prev": "<string>",
"next": "<string>"
},
"meta": {
"current_page": 123,
"from": 123,
"last_page": 123,
"links": [
{
"url": "<string>",
"label": "<string>",
"active": true
}
],
"path": "<string>",
"per_page": 123,
"to": 123,
"total": 123
}
}{
"message": "<string>"
}{
"message": "Subscription required."
}{
"message": "<string>",
"errors": {}
}List Matches
Endpoint to retrieve all matches with filters for date range, round, category, and court. Supports sorting and pagination.
curl --request GET \
--url https://padelapi.org/api/matches \
--header 'Authorization: Bearer <token>'import requests
url = "https://padelapi.org/api/matches"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://padelapi.org/api/matches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://padelapi.org/api/matches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://padelapi.org/api/matches"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://padelapi.org/api/matches")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://padelapi.org/api/matches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"self": "<string>",
"name": "<string>",
"url": "<string>",
"category": "men",
"draw": "main",
"watchability": 123,
"round": 123,
"round_name": "<string>",
"index": 123,
"seeds": "<string>",
"played_at": "<string>",
"schedule_label": "<string>",
"scheduled_at": "<string>",
"scheduled_at_local": "<string>",
"court": "<string>",
"court_order": 123,
"status": "scheduled",
"score": "<string>",
"winner": "<string>",
"started_time": "<string>",
"started_time_local": "<string>",
"duration": "<string>",
"players": {
"team_1": [
{
"id": 123,
"self": "<string>",
"name": "<string>",
"short_name": "<string>",
"nationality": "<string>",
"side": "drive",
"connections": "<string>"
}
],
"team_2": [
{
"id": 123,
"self": "<string>",
"name": "<string>",
"short_name": "<string>",
"nationality": "<string>",
"side": "drive",
"connections": "<string>"
}
]
},
"updated_at": "<string>",
"connections": "<string>",
"tournament": {
"id": 123,
"self": "<string>",
"name": "<string>",
"url": "<string>",
"photo_url": "<string>",
"location": "<string>",
"venue": {
"name": "<string>",
"address": "<string>"
},
"country": "<string>",
"timezone": "<string>",
"level": "major",
"format": "pairs",
"status": "pending",
"court_type": "indoor",
"prize": {
"amount": 123,
"currency": "<string>"
},
"start_date": "<string>",
"end_date": "<string>",
"winners": {},
"links": "<string>",
"updated_at": "<string>",
"connections": "<string>"
},
"tie": {
"id": "<string>",
"group": "<string>",
"team_1": "<string>",
"team_2": "<string>",
"rubber": 123,
"score": {
"team_1": 123,
"team_2": 123
},
"winner": "team_1"
}
}
],
"links": {
"first": "<string>",
"last": "<string>",
"prev": "<string>",
"next": "<string>"
},
"meta": {
"current_page": 123,
"from": 123,
"last_page": 123,
"links": [
{
"url": "<string>",
"label": "<string>",
"active": true
}
],
"path": "<string>",
"per_page": 123,
"to": 123,
"total": 123
}
}{
"message": "<string>"
}{
"message": "Subscription required."
}{
"message": "<string>",
"errors": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Match ID(s) to filter by. Accepts comma-separated values (e.g. 1,2,3) or repeated parameters (e.g. id[]=1&id[]=2). Only returns matches of the default draw=main unless draw=all is passed; IDs that don't exist are left out.
Date after the match was played in YYYY-MM-DD format.
Date before the match was played in YYYY-MM-DD format.
Round of the match (1 = Final, 2 = Semifinal, 4 = Quarterfinal, 8 = Round of 16, 16 = Round of 32, 32 = Round of 64, 0 = group stage of team tournaments)
0, 1, 2, 4, 8, 16, 32 Category of the match. Either men or women.
men, women Draw the match belongs to: main, qualy, group or placement (team tournaments only), or all for every draw. Defaults to main.
main, qualy, group, placement, all Name of the court where the match was played.
Filter matches updated after this datetime in ISO 8601 format.
Filter matches updated before this datetime in ISO 8601 format.
Name of the parameter to sort the tournaments by.
watchability, round, played_at, updated_at Order of the sorting, either asc or desc.
asc, desc Page number to return, starting at 1.
x >= 1Number of results per page, from 1 to 50. Larger values return 50.
x >= 1