/v1/stats
Aggregated record — averages, wins, podiums
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/atcoder-api/v1/stats" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/atcoder-api/v1/stats", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/atcoder-api/v1/stats");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/atcoder-api/v1/stats",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"wins": 23,
"handle": "tourist",
"source": "AtCoder",
"podiums": 41,
"platform": "AtCoder",
"best_delta": 2720,
"color_tier": "red (legend)",
"peak_rating": 4229,
"worst_delta": -82,
"lowest_rating": 2720,
"current_rating": 3797,
"rated_contests": 71,
"total_contests": 140,
"avg_performance": 3945.2,
"best_performance": 4495,
"contests_by_year": {
"2016": 6,
"2017": 10,
"2018": 10,
"2019": 11,
"2020": 8,
"2021": 5,
"2022": 4,
"2023": 5,
"2024": 5,
"2025": 6,
"2026": 1
}
},
"meta": {
"timestamp": "2026-06-12T01:42:38.147Z",
"request_id": "f3b7ab96-e959-4245-8a69-9e6d69571f3b"
},
"status": "ok",
"message": "Stats retrieved successfully",
"success": true
}