Quickstart — первый запрос за 60 секунд
Что мы получим
Список ближайших футбольных матчей с командами, счётом и временем начала.
Запрос
curl -H "Authorization: YOUR_API_KEY" \
"https://api.api-sport.ru/v2/football/matches?page_size=5&exclude_amateur=true"
page_size=5— отдать максимум 5 матчей (включает offset-based пагинацию; полное описание — Concepts → Pagination).exclude_amateur=true— скрыть низшие лиги. Рекомендуется по умолчанию.
Ответ (сокращённый)
{
"matches": [
{
"id": 14570728,
"status": "inprogress",
"statusDescription": "1st half",
"currentMatchMinute": 23,
"dateEvent": "2026-05-28",
"startTimestamp": 1748426400000,
"homeTeam": {
"id": 2817,
"name": "Manchester City",
"translation": { "ru": "Манчестер Сити" }
},
"awayTeam": {
"id": 2829,
"name": "Real Madrid",
"translation": { "ru": "Реал Мадрид" }
},
"homeScore": { "current": 1, "period1": 1 },
"awayScore": { "current": 0, "period1": 0 },
"tournament": {
"id": 7,
"name": "UEFA Champions League",
"translations": { "ru": "Лига Чемпионов" }
},
"hasBkOdds": { "melbet": true }
}
],
"totalMatches": 134,
"page": 1,
"pageSize": 5,
"totalPages": 27
}
Важно: startTimestamp — это UNIX в миллисекундах (а не секундах). Делите на 1000 при передаче в new Date(...) / time.gmtime(...) если нужны секунды.
Что попробовать дальше
- Без пагинации (streaming-режим, до 6000 матчей): уберите
page_size— ответ будет{ matches, totalMatches }безpage/pageSize/totalPages. - Детали одного матча (включает
liveEvents, расширенныеmatchStatistics):curl -H "Authorization: YOUR_API_KEY" \"https://api.api-sport.ru/v2/football/matches/14570728" - Букмекерские коэффициенты: добавьте
?with_bk_odds=trueк запросу — в ответе появитсяoddsBk. - Подписка на live через WebSocket: см. WebSocket → Overview.
- Другие виды спорта: замените
footballнаtennis,esports,basketballи т.д. в URL.