Pro Data
모델 데이터를 몇 분 만에 코드로 가져오세요
156,421
데이터 포인트
13개 데이터셋에 걸쳐 13,507개 레코드, 각 최대 148개 필드: 모든 값이 모델 생성 또는 큐레이션되며 매일 소스에서 재구축됩니다. 여기서 무료로 탐색하거나, 무료 키로 API를 통해 전부 가져올 수 있습니다.
48개국과 104경기의 모든 확률, 예상 스쿼드, 시즌별 선수 커리어, 최근 결과, 모델에 입력되는 역대 기록을 JSON 또는 CSV로, 또는 어시스턴트가 호출할 수 있는 MCP 도구로 제공합니다. 연구자, 판타지 플레이어, 기자, 분석팀이 모델 출력을 페이지가 아닌 파이프라인에서 사용할 수 있도록 설계했습니다. 아래에서 실시간 엔드포인트를 바로 실행해 보세요. 가입 불필요.
빠른 시작
지금 바로 실행: 가입 불필요
이것을 실행하세요. 실시간 모델에서 우승 가능성이 가장 높은 5개국을 바로 반환합니다. 계정도, API 키도 필요 없습니다. ?format=csv 을 추가하면 표 형식으로 받을 수 있습니다.
curl "https://onthepitch.now/api/v1/sample/"
전체 그림을 원하시나요: 48개 팀, 모든 경기, 선수, 스쿼드 전부? 로그인하고, API 키를 생성 (10 무료 호출로 시작), Bearer 토큰으로 모든 엔드포인트에 전달하세요:
curl -H "Authorization: Bearer otp_live_…" \ "https://onthepitch.now/api/v1/forecast/"
무료 체험: 10회 호출
로그인하고 API 키를 생성 10 하면 무료 프로그래밍 호출을 이 REST 엔드포인트와 호스팅된 MCP 서버에서 공유하여 사용할 수 있습니다. 노트북이나 어시스턴트에 데이터를 연결하고 작동을 확인하기에 충분합니다. MCP 핸드셰이크는 집계에 포함되지 않으며, 데이터 호출만 집계됩니다. Pro Pass는 무제한입니다.
데이터 구성
인터랙티브 API 레퍼런스 보기 →13개 데이터셋, 각각 /api/v1/ as JSON or — with ?format=csv — a flat table. /api/v1/sample/ is public; the rest are gated (a Bearer API key or a Pro session cookie). Below is exactly what each one returns. Full schemas live in the interactive reference (OpenAPI 3.0 spec at /api/v1/openapi.json).
Tournament forecast
48 nations/api/v1/forecast/
Each nation's probability of lifting the trophy and of reaching every stage.
반환 항목 · 17 fields Tournament-win probability · advance from group · reach R16 / QF / SF / final · win-group probability · P(finish 1st–4th in group) · confederation · FIFA rank · group
Team forecast trajectory
480 snapshots/api/v1/team-history/
How each team's forecast has moved over time — one row per daily build.
반환 항목 · 7 fields Team · build timestamp · Elo rating · tournament-win probability · 90% CI band (low & high)
Match forecast
104 matches/api/v1/fixtures/
Win / draw / win plus match-event probabilities for every fixture in the bracket.
반환 항목 · 25 fields P(home / draw / away) · expected goals each side · over 0.5 / 1.5 / 2.5 / 3.5 goals · both teams to score · clean-sheet probability each side · kickoff, venue & city · stage & group
Predicted squads
1,246 players/api/v1/predicted-squads/
Projected 26-man squad for every nation, one row per player.
반환 항목 · 13 fields Starting-XI vs bench slot · position · jersey number · captain flag · international caps & goals · composite rating · rank within position
Player index
1,215 players/api/v1/players/
Career profile for every player in the modelling pool.
반환 항목 · 9 fields Name · nation · position · current club & league · birth year · career goals & assists
Player season history
8,964 player-seasons/api/v1/player-history/
Season-by-season career record for every player — one row per player-season.
반환 항목 · 12 fields Player · season · team & league · position · matches & minutes · goals & assists · xG & xAG
Anytime scorer
50 ranked scorers/api/v1/anytime-scorer/
Tournament scoring probabilities for the most likely goalscorers.
반환 항목 · 15 fields P(scores ≥1 in the tournament) · expected matches played · per-stage scoring probability (group → final) · rank
Recent match results
958 matches/api/v1/results/
Every team's recent senior-international results — last 24 months, their POV.
반환 항목 · 10 fields Date · opponent · home / away / neutral · goals for & against · result · competition
Head-to-head records
144 pairings/api/v1/h2h/
All-time record between each nation and its group-stage opponents.
반환 항목 · 12 fields Meetings · wins / draws / losses · last-meeting date, score, tournament & winner
Major-tournament history
106 tournament rows/api/v1/majors/
Each nation's most-recent run at every major, with squad and coach continuity.
반환 항목 · 15 fields Tournament & year · matches · W-D-L · goals for / against · bracket finish · coach (name, year appointed, still in charge) · squad-pool continuity · ?tournament=&year= slicing
Group schedule
144 team-matchdays/api/v1/schedule/
Every nation's three group-stage fixtures.
반환 항목 · 7 fields Matchday · date · opponent · host city & country
Team list
48 nations/api/v1/teams/
The tournament field — the lookup table to join everything else on team_id.
반환 항목 · 6 fields team_id · name · confederation · FIFA rank · host flag · group
Bulk snapshot
One zip · ~3–5 MB/api/v1/bulk/snapshot/
Every source file the site renders from, in a single download, with checksums.
반환 항목 11 source JSONs + manifest (size, sha256 & built_at per file) · includes the deep fixture-enrichment blobs the per-endpoint variants flatten away
접근 방법
공개 /api/v1/sample/ 미리보기를 제외한 모든 데이터셋에는 인증이 필요합니다. Bearer API 키 또는 Pro 세션 쿠키로 인증하세요. 데이터를 가져오는 나머지 방법은 아래에 있습니다.
CSV variant on every endpoint
운영 중Pass ?format=csv on any endpoint for a tabular response, RFC-4180 quoted, suitable for spreadsheet or notebook import. All row types are flat — no nested JSON in CSV cells.
Daily refresh + provenance metadata
운영 중Every response carries the upstream snapshot's built_at timestamp in the envelope (JSON) or X-OnThePitch-Generated-At header (CSV). Pipeline refits daily; cache is private 1h.
Bulk snapshot download (zip)
운영 중GET /api/v1/bulk/snapshot/ returns one DEFLATE-compressed archive with the 11 source JSONs + a manifest (per-file size + sha256 + built_at). Includes the deep fixture enrichment blobs the per-endpoint variants flatten away. ~3–5 MB on the wire.
Historical tournament slicing
운영 중Pass ?tournament=&year= on /api/v1/majors/ to extract a single tournament-year — e.g. every WC2026 team's WC2022 row in one call. The dataset stores each team's most-recent appearance per tournament, so WC2022 covers most qualifiers; WC2018 only covers teams that haven't been at a WC since.
Long-lived API keys
운영 중Generate a Bearer key at /account/api-key/ and pass it as Authorization: Bearer otp_live_… on any endpoint — no cookie juggling for headless / CI / scheduled jobs. One key per account; reset it any time if it leaks.
MCP server — connect Claude / Cursor
운영 중A hosted Model Context Protocol server at /api/mcp exposes every endpoint as an MCP tool. Add it to Claude Code, Claude Desktop, or Cursor with one command and ask questions against the live model — no install, no glue code.
Backfilled model outputs — WC2018, WC2022
출시 예정Pre-tournament model probabilities for the last two World Cups, replayed against frozen inputs so you can backtest the model end-to-end against known outcomes. Requires re-pulling historical FBref / Wikipedia snapshots; tracked as a separate research initiative.
Reproducible notebooks
출시 예정Jupyter notebooks that fit the model end-to-end from the public data files and reproduce the website's outputs. Run locally with the published datasets.
예제
오늘 바로 할 수 있는 세 가지
Set OTP_KEY to the API key you generate here (export OTP_KEY=otp_live_…) — one token, no cookie juggling, works the same from a shell, a notebook, or a scheduled job. (Signed in already? A Pro session cookie works too, but the key is the friendlier path.)
Full forecast as CSV
curl -H "Authorization: Bearer $OTP_KEY" \ "https://onthepitch.now/api/v1/forecast/?format=csv" \ -o forecast.csv
WC2022 historical slice
curl -H "Authorization: Bearer $OTP_KEY" \ "https://onthepitch.now/api/v1/majors/?tournament=FIFA%20World%20Cup&year=2022" \ -o wc2022.json
Bulk snapshot as a single zip
curl -H "Authorization: Bearer $OTP_KEY" \ "https://onthepitch.now/api/v1/bulk/snapshot/" \ -o onthepitch-snapshot-v1.zip
데이터로 구축하기
스냅샷을 가져와 자신만의 모델을 피팅하세요
대량 zip에는 사이트가 렌더링하는 모든 데이터가 포함됩니다: 예측, 경기, 예상 스쿼드, 상대 전적, 국제 대회 역사. 노트북에 불러와 자체 분석을 실행하기 위한 세 가지 기본 레시피입니다.
1 · 스냅샷을 pandas로 불러오기
zip을 가져와 한 번 압축 해제한 뒤, 각 파일을 DataFrame으로 읽으세요. 예측 엔벨로프는 팀당 한 행으로 중첩되어 있으며, pd.json_normalize.
import io, json, os, zipfile, requests, pandas as pd
z = zipfile.ZipFile(io.BytesIO(requests.get(
"https://onthepitch.now/api/v1/bulk/snapshot/",
headers={"Authorization": f"Bearer {os.environ['OTP_KEY']}"},
).content))
forecast = pd.json_normalize(
json.loads(z.read("data.json"))["teams"],
)
fixtures = pd.json_normalize(
json.loads(z.read("fixtures.json"))["fixtures"],
)
squads = pd.json_normalize(
json.loads(z.read("predicted_squads.json"))["squads"],
record_path="players",
meta=["team_id"],
)2 · 기본 승률 모델 피팅하기
예상 스쿼드 + 팀 예측으로 자체 H/D/A 모델을 구축하세요. 종합 평점 + 스쿼드 전력 합산이 합리적인 출발 피처 세트입니다. 게시된 확률과 비교하여 모델이 일치하는 부분과 다른 부분을 확인하세요.
from sklearn.linear_model import LogisticRegression
# Aggregate predicted-XI composite to a team strength score.
xi = squads.query("slot == 'xi'")
strength = xi.groupby("team_id")["composite"].sum().rename("strength")
# Join strength onto fixtures and fit a logistic on prior tournament
# results (intl_majors.json has W/D/L from previous WCs + qualifiers).
intl = pd.json_normalize(
json.loads(z.read("intl_majors.json"))["rows"],
)
features = intl.merge(strength, left_on="team_id", right_index=True)
X = features[["strength", "fifa_rank"]]
y = (features["finish"] >= 9).astype(int) # 1 = quarter-final or better
clf = LogisticRegression().fit(X, y)
print(clf.coef_)3 · 게시된 예측 대비 모델 보정하기
모델이 팀별 대회 우승 확률을 생성하면, Brier score와 신뢰성 도표로 비교하세요. 방법론 문서에서 사용하는 것과 동일한 지표입니다.
from sklearn.metrics import brier_score_loss
merged = forecast.merge(
pd.Series(my_probs, name="my_p_win"),
left_on="team_id", right_index=True,
)
print("OnThePitch Brier:", brier_score_loss(merged["won"], merged["p_win"]))
print("Yours Brier:", brier_score_loss(merged["won"], merged["my_p_win"]))Pass 라이선스는 연구 용도입니다: 피팅, 백테스트, 결과 게시가 가능합니다. 방법론 문서 로의 출처 표기를 권장하지만 필수는 아닙니다.
에이전트
Claude, Cursor 또는 MCP 클라이언트 연결하기
호스팅된 Model Context Protocol 서버가 /api/mcp 에서 모든 엔드포인트를 MCP 도구로 노출하므로, 어시스턴트 안에서 실시간 모델에 직접 질문할 수 있습니다. 설치도, 연결 코드도 필요 없습니다. API 키 로 인증하세요. 로그인한 계정이면 누구나 생성 가능하며, 처음 10회 도구 호출은 무료입니다.
Claude Code에 추가하기
claude mcp add --transport http onthepitch \ https://onthepitch.now/api/mcp \ --header "Authorization: Bearer otp_live_…"
Then prompt naturally — “which team is most likely to win the group?”, “compare the projected XIs for France and England”, “how did Brazil do at WC2022?” — and the assistant calls the matching tool (get_forecast, get_predicted_squads, get_majors) and answers from the live data.
Pro Pass
무제한 접근을 위해 Pro Pass를 받으세요
모든 계정에 API + MCP 체험용 10회 무료 호출이 제공됩니다. Pro Pass는 $35 일회 구매로 무제한 접근을 제공합니다: Standard Pass의 모든 혜택에 데이터 엔드포인트, 대량 zip 다운로드, 과거 대회 슬라이싱이 포함됩니다. 재현 가능한 노트북이 킥오프 전에 출시됩니다. Standard Pass를 이미 보유 중이라면 $20에 업그레이드할 수 있습니다.
24h self-service refund·No subscription, no auto-renewal·Access through 31 Dec 2026. See refund policy.