Документация — Tennis API
Войти Получить API-ключ

Документация Tennis API

Простой REST API. Передавайте API-ключ как параметр запроса — заголовки не нужны.

Базовый URL: https://live-tennis-api.com/api/v2

Аутентификация

Добавьте api_key к каждому URL запроса. Создайте бесплатный аккаунт, чтобы получить ключ.

https://live-tennis-api.com/api/v2/<endpoint>?api_key=YOUR_KEY
Не раскрывайте свой API-ключ в публичном коде или открытых репозиториях.

Кредиты

Каждый вызов API расходует кредиты. Кредиты не истекают. Новые аккаунты получают 100 бесплатных кредитов.

Остаток возвращается в каждом ответе в поле credits_remaining и заголовке X-Credits-Remaining.

Ошибки

Все ошибки возвращают JSON с полями code и message:

{ "error": "Invalid API key.", "code": 401 }
КодЗначение
401Отсутствующий или недействительный api_key
402Недостаточно кредитов
400Недопустимый параметр (например, неверный формат даты)
503Источник данных недоступен

GET /matches

Возвращает матчи по Теннису за указанную дату. Названия команд и лиг можно переводить.

GET /api/v2/matches 1 credit

Параметры

ПараметрОбязательныйПо умолчаниюОписание
api_keyДа—Ваш API-ключ
dateНетСегодняДата матча в формате YYYY-MM-DD
langНетenЯзык ответа: en tr de ru (en, tr, de, ru)

Примеры запросов

# Today's matches (English) https://live-tennis-api.com/api/v2/matches?api_key=YOUR_KEY
curl "https://live-tennis-api.com/api/v2/matches?api_key=YOUR_KEY"
const data = await (await fetch('https://live-tennis-api.com/api/v2/matches?api_key=YOUR_KEY')).json();
<?php $data = json_decode(file_get_contents('https://live-tennis-api.com/api/v2/matches?api_key=YOUR_KEY'), true);
import requests data = requests.get('https://live-tennis-api.com/api/v2/matches', params={'api_key': 'YOUR_KEY'}).json()

Ответ

{
  "status": "ok",
  "date": "2026-09-13",
  "count": 23,
  "matches": [
    {
      "id": "2e2f3c81-eef9-63ec-5373-b9751f43d68e",
      "start_time": "2026-09-12 21:15:00",
      "status": "Played",
      "player1": {
        "players": [
          {
            "id": "1cb0df81-3d4f-60e1-2cd4-d9d6f869fa2e",
            "name": "A. Candiotto",
            "country_id": "1bf74acb-d76d-f7e7-cb1d-d9409981d57b",
            "photo": "https://live-tennis-api.com/image/v2/players/1cb0df81-3d4f-60e1-2cd4-d9d6f869fa2e.png",
            "flag": "https://live-tennis-api.com/image/v2/flags/1bf74acb-d76d-f7e7-cb1d-d9409981d57b.png"
          }
        ],
        "position": 1,
        "seed": null
      },
      "player2": {
        "players": [
          {
            "id": "9fbc11c4-b65f-3df7-8632-6fbc7da4c756",
            "name": "C. Brace",
            "country_id": "c7a13592-8281-736f-2dba-f6fa53248df1",
            "photo": "https://live-tennis-api.com/image/v2/players/9fbc11c4-b65f-3df7-8632-6fbc7da4c756.png",
            "flag": "https://live-tennis-api.com/image/v2/flags/c7a13592-8281-736f-2dba-f6fa53248df1.png"
          }
        ],
        "position": 2,
        "seed": 6
      },
      "tournament": {
        "id": "cf9ef0d6-70c6-780e-d77b-376ad2a98812",
        "name": "Sao Paulo wta",
        "country": "Brazil",
        "category": "Womens Singles"
      },
      "round": "Qualifying 1st Round",
      "sets": [
        { "set": 1, "games": [3, 6] },
        { "set": 2, "games": [4, 6] }
      ],
      "score": { "sets_won": [0, 2] },
      "winner": "player2",
      "result_type": "Win",
      "has_broadcast": false,
      "has_broadcast": false
    }
  ],
  "credits_remaining": 97
}

GET /match/details

Возвращает полную информацию об одном матче: корт, время начала, турнир, игроков и текущий счёт по сетам.

GET /api/v2/match/details 1 credit

Параметры

ПараметрОбязательныйПо умолчаниюОписание
api_keyДа—Ваш API-ключ
match_idДа—ID матча из ответа /matches
langНетenЯзык ответа: en tr de ru (en, tr, de, ru)

Примеры запросов

https://live-tennis-api.com/api/v2/match/details?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf
curl "https://live-tennis-api.com/api/v2/match/details?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf"
const data = await (await fetch('https://live-tennis-api.com/api/v2/match/details?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf')).json();
<?php $data = json_decode(file_get_contents('https://live-tennis-api.com/api/v2/match/details?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf'), true);
import requests data = requests.get('https://live-tennis-api.com/api/v2/match/details', params={'api_key': 'YOUR_KEY', 'match_id': 'b6d1d33d-925d-f37d-13a1-58cda25553cf'}).json()

Ответ

{
  "status": "ok",
  "id": "b6d1d33d-925d-f37d-13a1-58cda25553cf",
  "match_status": "Fixture",
  "court": "Arthur Ashe Stadium",
  "start_time": "2026-09-13 18:00:00",
  "number_of_sets": 5,
  "player1": {
    "players": [{ "id": "d9c7059a-...", "name": "A. Zverev", "country_id": "a8298c84-...", "photo": "https://live-tennis-api.com/image/v2/players/d9c7059a-....png", "flag": "https://live-tennis-api.com/image/v2/flags/a8298c84-....png" }],
    "position": 1, "seed": 1
  },
  "player2": { // same shape },
  "tournament": {
    "id": "34740885-...", "name": "US Open", "surface": "Hard",
    "category": "Mens Singles", "round": "Final"
  },
  "tv_channels": { "tr": [{ "name": "Eurosport 1" }] },
  "sets": [],
  "score": { "sets_won": [0, 0] },
  "winner": null,
  "result_type": null,
  "credits_remaining": 98
}

GET /match/form

Возвращает последние 5 результатов (текущую форму) каждого игрока перед этим матчем, с соперником, раундом и счётом для каждого.

GET /api/v2/match/form 1 credit

Параметры

ПараметрОбязательныйПо умолчаниюОписание
api_keyДа—Ваш API-ключ
match_idДа—ID матча из ответа /matches
langНетenЯзык ответа: en tr de ru (en, tr, de, ru)

Примеры запросов

https://live-tennis-api.com/api/v2/match/form?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf
curl "https://live-tennis-api.com/api/v2/match/form?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf"
const data = await (await fetch('https://live-tennis-api.com/api/v2/match/form?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf')).json();
<?php $data = json_decode(file_get_contents('https://live-tennis-api.com/api/v2/match/form?api_key=YOUR_KEY&match_id=b6d1d33d-925d-f37d-13a1-58cda25553cf'), true);
import requests data = requests.get('https://live-tennis-api.com/api/v2/match/form', params={'api_key': 'YOUR_KEY', 'match_id': 'b6d1d33d-925d-f37d-13a1-58cda25553cf'}).json()

Ответ

{
  "status": "ok",
  "match_id": "b6d1d33d-925d-f37d-13a1-58cda25553cf",
  "player1": {
    "series": "WWWWW",
    "recent_matches": [
      {
        "id": "2bc1008b-...",
        "start_time": "2026-09-11 19:20:00",
        "tournament": { "id": "34740885-...", "name": "US Open" },
        "round": "Semifinal",
        "opponent": { "id": "b03e422b-...", "name": "K. Khachanov", "country_id": "8956c473-...", "photo": "https://live-tennis-api.com/image/v2/players/b03e422b-....png", "flag": "https://live-tennis-api.com/image/v2/flags/8956c473-....png" },
        "result": "win",
        "score": { "sets_won": [3, 0] }
      }
      // ...up to 5 recent matches
    ]
  },
  "player2": { // same shape },
  "credits_remaining": 97
}