Skip to content
GET /v1/rating

A user's full rating history contest by contest

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/codeforces-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/codeforces-api/v1/rating" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/codeforces-api/v1/rating", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/codeforces-api/v1/rating");
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/codeforces-api/v1/rating",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "count": 303,
        "handle": "tourist",
        "current": 3428,
        "history": [
            {
                "date": "2010-02-25T19:00:00.000Z",
                "rank": 14,
                "change": 1602,
                "contest": "Codeforces Beta Round 2",
                "contest_id": 2,
                "new_rating": 1602,
                "old_rating": 0
            },
            {
                "date": "2010-04-08T17:45:00.000Z",
                "rank": 5,
                "change": 162,
                "contest": "Codeforces Beta Round 8",
                "contest_id": 8,
                "new_rating": 1764,
                "old_rating": 1602
            },
            {
                "date": "2010-04-15T17:45:00.000Z",
                "rank": 18,
                "change": 114,
                "contest": "Codeforces Beta Round 10",
                "contest_id": 10,
                "new_rating": 1878,
                "old_rating": 1764
            },
            {
                "date": "2010-05-06T16:00:00.000Z",
                "rank": 11,
                "change": 89,
                "contest": "Codeforces Beta Round 13",
                "contest_id": 13,
                "new_rating": 1967,
                "old_rating": 1878
            },
            {
                "date": "2010-06-24T17:00:00.000Z",
                "rank": 2,
                "change": 96,
                "contest": "Codeforces Beta Round 19",
                "contest_id": 19,
                "new_rating": 2063,
                "old_rating": 1967
            },
            {
                "date": "2010-07-09T17:00:00.000Z",
                "rank": 15,
                "change": 18,
                "contest": "Codeforces Beta Round 23",
                "contest_id": 23,
                "new_rating": 2081,
                "old_rating": 2063
            },
            {
                "date": "2010-07-26T15:00:00.000Z",
                "rank": 20,
                "change": 17,
                "contest": "Codeforces Beta Round 24",
                "contest_id": 24,
                "new_rating": 2098,
                "old_rating": 2081
            },
            {
                "date": "2010-09-17T17:00:00.000Z",
                "rank": 11,
                "change": 30,
                "contest": "Codeforces Beta Round 28 (Codeforces format)",
                "contest_id": 28,
                "new_rating": 2128,
                "old_rating": 2098
            },
            {
                "date": "2010-10-07T17:00:00.000Z",
                "rank": 1,
                "change": 75,
                "contest": "Codeforces Beta Round 33 (Codeforces format)",
                "contest_id": 33,
                "new_rating": 2203,
                "old_rating": 2128
            },
            {
                "date": "2010-10-25T17:00:00.000Z",
                "rank": 3,
                "change": 53,
                "contest": "Codeforces 
…