The leaderboard API retrieves historical data (Championship Points and Play! Points) from the 2026 leaderboard. To make calls to the API you need to use an access key. For now, it is the same for everyone : supercalifragilisticexpialidocious Only one endpoint is in use : https://pokedata.ovh/2026/api/ 2 parameters can be used (1 at a time): 'players' or 'top' 'players' allows you to filter the leaderboard while 'top' returns the top players. With 'players' you can send multiple queries. Each query can use the following parameters, none are mandatory: - name : the name of the player, or part of it ("Tord Reklev" or "Tord*") - game : the type of game ("tcg" or "vg") - region : the region of the leaderboard ("AP", "EU", "LA", "NA", "RU", "SO") - division : the division ("master", "junior", "senior") - country : the country 3-letters code, used in the official leaderboard ("NOR") Example: JS: let options = { method: 'POST', headers: {accept: 'application/json', 'content-type': 'application/json'}, body: JSON.stringify({ 'APIKEY':'supercalifragilisticexpialidocious', 'players': [ {'name':'Tor*','game':'tcg', 'division':'master', 'country':'NOR', 'region':'EU'}, {'name':'Miloslav*','game':'tcg', 'division':'master'}, {'name':'Joseph U*','game':'vg', 'region':'NA'} ] }), }; fetch('https://pokedata.ovh/2026/api/', options) .then(response => response.json()) .then(response_json => { console.log(response_json); }); Python: import requests url = 'https://pokedata.ovh/2026/api/' body = {'APIKEY': 'supercalifragilisticexpialidocious', 'players': [ {'name':'Tor*','game':'tcg', 'division':'master', 'country':'NOR', 'region':'EU'}, {'name':'Miloslav*','game':'tcg', 'division':'master'}, {'name':'Joseph U*','game':'vg', 'region':'NA'} ] } x = requests.post(url, json = body) print(x.text) will return : [ { "name": "Tor Kristian T\u00f8nnesen", "country": "NOR", "pp": [ { "date": "2025-07-16 00:00:00.000000", "points": 1 }, { "date": "2025-07-21 00:00:00.000000", "points": 2 } ], "cp": [], "rank": 0, "division": "master", "region": "EU", "product": "tcg", "points": 0 }, { "name": "Torbj\u00f8rn \u00d8", "country": "NOR", "pp": [ { "date": "2025-07-16 00:00:00.000000", "points": 1 }, { "date": "2025-08-02 00:00:00.000000", "points": 2 } ], "cp": [ { "date": "2025-07-16 00:00:00.000000", "points": 10 } ], "rank": 3121, "division": "master", "region": "EU", "product": "tcg", "points": 10 }, { "name": "Miloslav Posledn\u00ed", "country": "CZE", "pp": [ { "date": "2025-08-02 00:00:00.000000", "points": 1 }, { "date": "2025-08-03 00:00:00.000000", "points": 2 }, { "date": "2025-08-04 00:00:00.000000", "points": 3 } ], "cp": [ { "date": "2025-08-02 00:00:00.000000", "points": 15 }, { "date": "2025-08-03 00:00:00.000000", "points": 65 }, { "date": "2025-08-04 00:00:00.000000", "points": 90 } ], "rank": 120, "division": "master", "region": "EU", "product": "tcg", "points": 90 }, { "name": "Joseph Ugarte", "country": "USA", "pp": [ { "date": "2025-07-17 00:00:00.000000", "points": 1 } ], "cp": [], "rank": 0, "division": "master", "region": "NA", "product": "vg", "points": 0 } ] Only 1 query is sent with 'top'. A query can use the following parameters, none are mandatory: - count : default is 100 - name : the name of the player, or part of it ("Tord Reklev" or "Tord*") - game : the type of game ("tcg" or "vg") - region : the region of the leaderboard ("AP", "EU", "LA", "NA", "RU", "SO") - division : the division ("master", "junior", "senior") - country : the country 3-letters code, used in the official leaderboard ("NOR") Example: JS: function Sample() { let options = { method: 'POST', headers: {accept: 'application/json', 'content-type': 'application/json'}, body: JSON.stringify({ 'APIKEY':'supercalifragilisticexpialidocious', 'top':{'count':3, 'name':'*t*', 'game':'tcg', 'division':'master', 'country':'NOR', 'region':'EU'} }), }; fetch('https://pokedata.ovh/2026/api/', options) .then(response => response.json()) .then(response_json => { console.log(response_json); }); } Python: import requests url = 'https://pokedata.ovh/2026/api/' body = {'APIKEY': 'supercalifragilisticexpialidocious', 'top':{'count':3, 'name':'*t*', 'game':'tcg', 'division':'master', 'country':'NOR', 'region':'EU'} } x = requests.post(url, json = body) print(x.text) will return: [ { "name": "Ola Petersen Nordby", "country": "NOR", "pp": [ { "date": "2025-07-16 00:00:00.000000", "points": 2 }, { "date": "2025-07-18 00:00:00.000000", "points": 3 }, { "date": "2025-07-20 00:00:00.000000", "points": 4 }, { "date": "2025-07-21 00:00:00.000000", "points": 5 }, { "date": "2025-07-27 00:00:00.000000", "points": 6 } ], "cp": [ { "date": "2025-07-16 00:00:00.000000", "points": 15 }, { "date": "2025-07-18 00:00:00.000000", "points": 23 }, { "date": "2025-07-21 00:00:00.000000", "points": 35 }, { "date": "2025-07-27 00:00:00.000000", "points": 50 } ], "rank": 449, "division": "master", "region": "EU", "product": "tcg", "points": 50 }, { "name": "christer pettersen", "country": "NOR", "pp": [ { "date": "2025-08-03 00:00:00.000000", "points": 1 } ], "cp": [ { "date": "2025-08-04 00:00:00.000000", "points": 40 } ], "rank": 750, "division": "master", "region": "EU", "product": "tcg", "points": 40 }, { "name": "Jannice B\u00e5rtvedt", "country": "NOR", "pp": [ { "date": "2025-07-30 00:00:00.000000", "points": 1 }, { "date": "2025-08-03 00:00:00.000000", "points": 2 } ], "cp": [ { "date": "2025-08-03 00:00:00.000000", "points": 25 } ], "rank": 1307, "division": "master", "region": "EU", "product": "tcg", "points": 25 } ]