An API for player ratings and role clustering built on per‑90 match data—designed for leaderboards, scouting filters, and model evaluation.
Use kit_name + payload as input to return a score and a module breakdown for comparison and explanation.
Key endpoints: /base-score/predict · /base-score/slider-params
Fetch historical records with scores using filters and pagination—built for leaderboards, filtering, and backtesting.
Key endpoint: /database/base-score/dataset
Cluster players by style: legend explains labels, search retrieves players, and predict supports custom inputs.
Key endpoints: /role-cluster/search · /role-cluster/predict/custom
| Method | Path | Description | Tag |
|---|
export BASE_URL="https://your-host/v1"
export API_KEY="xxxxx" # optional
curl -s "$BASE_URL/health" \
-H "x-api-key: $API_KEY"
If you use gateway auth, add your API key header. For CORS checks, use /test-cors.
curl -s "$BASE_URL/base-score/kits" | jq '.[0]'
# Fields: kit_name, aliases, score_scale, model_type, modules
A kit defines required input aliases and scoring modules (often aligned with positions/roles).
curl -s "$BASE_URL/base-score/predict" \
-H "Content-Type: application/json" \
-d '{
"kit_name": "attacker_core",
"model_type": "gb",
"score_scale": "0-10",
"show_features": true,
"payload": {
"shots_total_p90": 2.8,
"xg_p90": 0.35,
"pressures_p90": 10.2
}
}' | jq '{score: .score, breakdown: .modules[0:2]}'
Switch score_scale between 0–10 and 0–100; enable show_features for interpretability.
curl -s "$BASE_URL/role-cluster/legend" | jq '.[0]'
curl -s "$BASE_URL/role-cluster/search?query=benzema&limit=5"
legend explains labels and sample counts; search supports fuzzy queries and returns role/team/league.
curl -s "$BASE_URL/database/base-score/dataset?page=1&page_size=20" \
-G --data-urlencode "season=2023/2024" \
--data-urlencode "league=EPL" \
--data-urlencode "position=FW"
Use the output for leaderboards or visualization; pair it with the charts below for model performance context.
Add a short takeaway with a key metric (e.g., R², error range).
Use these to communicate label distribution and interpretability alongside search/predict.
assets/css/athlemetrics_ui.css / assets/js/athlemetrics_ui.js). Click any chart to zoom (Esc to close, ←/→ to navigate).