Tennis V1
Tennis API Reference
Complete reference for Tennis API endpoints
GET
/
status
Account Status
curl --request GET \
--url https://api.sportsapipro.com/v1/tennis/status \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sportsapipro.com/v1/tennis/status"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sportsapipro.com/v1/tennis/status', 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://api.sportsapipro.com/v1/tennis/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://api.sportsapipro.com/v1/tennis/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sportsapipro.com/v1/tennis/status")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportsapipro.com/v1/tennis/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body⚠️ Deprecated — This is the V1 Legacy API. It still works but is no longer maintained.
We strongly recommend migrating to the Tennis V2 API for improved coverage, richer data, and support for 25+ sports.
Overview
The Tennis API provides comprehensive access to professional tennis data including live scores, player statistics, rankings, and betting information.Base URL:
https://api.sportsapipro.com/v1/tennisAll requests require the x-api-key header with your API key.Authentication
Include your API key in the request header:curl -X GET "https://api.sportsapipro.com/v1/tennis/games/current" \
-H "x-api-key: YOUR_API_KEY"
Available Endpoints
Games & Matches
| Endpoint | Description |
|---|---|
GET /games/current | Live tennis matches |
GET /games/fixtures | Upcoming matches |
GET /games/results | Completed matches |
GET /game | Detailed match information |
GET /games/h2h | Head-to-head history |
GET /games/stats | Match statistics |
Competitions & Rankings
| Endpoint | Description |
|---|---|
GET /competitions | All tennis tournaments |
GET /competitions/top | Popular tournaments |
GET /standings | Rankings and standings |
Players
| Endpoint | Description |
|---|---|
GET /athletes/top | Top players |
GET /athletes | Player details |
GET /athletes/games | Player match history |
GET /athletes/nextGame | Player’s next match |
Betting
| Endpoint | Description |
|---|---|
GET /bets/lines | Betting lines |
GET /trends | Betting trends |
GET /predictions | Match predictions |
Other
| Endpoint | Description |
|---|---|
GET /news | Tennis news |
GET /search | Search players, tournaments |
GET /status | API status & account info |
Quick Examples
Get Live Matches
curl -X GET "https://api.sportsapipro.com/v1/tennis/games/current" \
-H "x-api-key: YOUR_API_KEY"
Get ATP Rankings
curl -X GET "https://api.sportsapipro.com/v1/tennis/standings?competitions=6878" \
-H "x-api-key: YOUR_API_KEY"
Get Player Match History
curl -X GET "https://api.sportsapipro.com/v1/tennis/athletes/games?athleteId=874" \
-H "x-api-key: YOUR_API_KEY"
Rate Limits
Rate limits are shared across all sports APIs:| Plan | Daily Limit |
|---|---|
| Free | 100 |
| Pro | 7,500 |
| Ultra | 75,000 |
| Mega | 150,000 |
Error Codes
| Code | Description |
|---|---|
| 401 | Invalid or missing API key |
| 429 | Rate limit exceeded |
| 400 | Invalid parameters |
| 500 | Server error |
Support
Need help? Contact us at [email protected]Authorizations
Your SportsAPI Pro API key
Response
200 - application/json
OK
Last modified on June 29, 2026
Was this page helpful?
⌘I
Account Status
curl --request GET \
--url https://api.sportsapipro.com/v1/tennis/status \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sportsapipro.com/v1/tennis/status"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sportsapipro.com/v1/tennis/status', 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://api.sportsapipro.com/v1/tennis/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://api.sportsapipro.com/v1/tennis/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sportsapipro.com/v1/tennis/status")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sportsapipro.com/v1/tennis/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body