Завершённые матчи с разметкой по периодам, удары с координатами, составы и позиции игроков. Идентификаторы не «плавают» между выгрузками, а сама выгрузка — инкрементальная.
Конкретные эндпоинты и объёмы. Каталог — на 4 августа 2026, глубина истории — на 5 августа 2026.
Детальная разметка есть у 8 552 501 матча из 9 352 486: глубина по годам и видам неодинакова, и это видно в самих данных.
/v1/event/{id}/shotmap/v1/event/{id}/xt, /v1/team/{id}/xtaverage_positions/v1/event/{id}/weatherМоментум — 43 671 матч: только те, что мы вели в эфире. Задним числом эта величина не восстанавливается ни у кого.
/v1/participant/{id}, /v1/participant/{id}/stats/v1/participant/{id}/events,
переходы — /transfers/v1/participants/searchОдна команда — одна запись: если прежний поставщик отдавал её двумя, у нас она будет одной.
/v1/sync?since_id=…&limit=…/v1/stream/replay/v1/events?limit=&offset=/v1/sports, /v1/tournaments,
/v1/countriesСуточных квот нет — ограничение только по частоте: 5, 20 или 100 запросов в секунду по тарифу.
Глубина истории, устойчивость идентификаторов и то, как забрать миллионы строк, не выгребая базу по одному матчу.
Завершённых матчей — 9 036 308. Самый ранний в базе — 25 сентября 1920, но плотность растёт к нашим дням: до 2000 года — 131 073 матчей, с 2016-го — 7 408 782.
Обучать на «всём с 1920-го» нельзя честно: у старых матчей есть счёт, но нет разметки. Смотрите на 8 552 501 матчей с деталью и режьте окно сами — данные это позволяют.
У команды и игрока один постоянный id: 206 877 команд и 1 341 426 игроков. Он не меняется от выгрузки к выгрузке, поэтому обучающая таблица не рассыпается на следующей неделе.
Идентификаторы у нас свои. Держите пару «ваш id ↔ наш id», а не переписывайте
свои: так вы сможете уйти обратно. Сопоставление делается запросом
/v1/participants/search, а не руками.
Забирать историю удобнее курсором: /v1/sync?since_id=… отдаёт
пачку изменившихся матчей и последний id, с которого продолжать. Второй проход
после сбоя не даст дублей.
Суточных квот нет — упереться можно только в запросы в секунду. Медиана 79 мс на выборку из 20 матчей (замер 4 августа 2026), так что план выгрузки считается арифметикой, а не гаданием.
Карта ударов матча «Краснодар» — «Факел Воронеж», 3:2, Российская премьер-лига, 2 августа 2026. В ответе 24 удара — ниже первые три, дословно.
{
"event_id": 11220580, "available": true, "count": 24,
"shots": [
{ "is_home": true, "player": "Jubal", "minute": 4,
"shot_type": "goal", "situation": "set-piece", "body_part": "head",
"x": 9.9, "y": 54.9, "xg": null },
{ "is_home": true, "player": "João Batxi", "minute": 17,
"shot_type": "save", "situation": "fast-break", "body_part": "right-foot",
"x": 11.7, "y": 38.9, "xg": null },
{ "is_home": true, "player": "Aleksandr Chernikov", "minute": 20,
"shot_type": "block", "situation": "assisted", "body_part": "left-foot",
"x": 10.7, "y": 35.4, "xg": null } ]
// xg у отдельного удара — null: источник его не отдаёт.
// Матчевый xG есть в statistics: 0.83 — 2.1.
}
/v1/participant/1754092/stats —
Никита Кривцов: 15 матчей,
7 голов, 32 ударов,
13 в створ. Он же забил дважды в матче выше.
Снято 5 августа 2026.statistics. Per-shot xG источник
не публикует — поэтому в shotmap у каждого удара стоит
null, а не подставленная оценка. Своё значение вы посчитаете
по координатам, ситуации и части тела.markets.match_result.prob_home / prob_draw /
prob_away, fair_odds, over_under_2_5,
btts, confidence.GET /v1/sync?since_id=0&limit=500 — пачка матчей
с деталью и id, с которого продолжать. Дальше — тот же запрос с новым
since_id.Дешевле прочитать сейчас, чем узнать на третьей неделе интеграции.
null.Тестовый ключ — 500 запросов в месяц, без карты и без договора. Хватает, чтобы посмотреть, сколько сезонов и какой разметки есть именно там, где вам нужно.
Ответим в течение рабочего дня. Пробный доступ бесплатно.
Ответим на
в течение рабочего дня.