Get Leaderboard
Get the leaderboard for a specific entity type and statistic.
Allowed entity token types: title, title_player_account, game_server
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| LeaderboardNotFound | 1567 |
| NoLeaderboardForStatistic | 1421 |
| SpecifiedVersionLeaderboardNotFound | 1583 |
| StatisticNotFound | 1195 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"LeaderboardName": "Points",
"Version": 2,
"StartingPosition": 100,
"PageSize": 20
}
'import requests
url = "https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard"
payload = {
"LeaderboardName": "Points",
"Version": 2,
"StartingPosition": 100,
"PageSize": 20
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({LeaderboardName: 'Points', Version: 2, StartingPosition: 100, PageSize: 20})
};
fetch('https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'LeaderboardName' => 'Points',
'Version' => 2,
'StartingPosition' => 100,
'PageSize' => 20
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard"
payload := strings.NewReader("{\n \"LeaderboardName\": \"Points\",\n \"Version\": 2,\n \"StartingPosition\": 100,\n \"PageSize\": 20\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"LeaderboardName\": \"Points\",\n \"Version\": 2,\n \"StartingPosition\": 100,\n \"PageSize\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"LeaderboardName\": \"Points\",\n \"Version\": 2,\n \"StartingPosition\": 100,\n \"PageSize\": 20\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"Version": 5,
"Rankings": [
{
"Entity": {
"Id": "1784371290HJA9",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"DisplayName": "FastHand",
"Scores": [
"4503"
],
"Rank": 1
},
{
"Entity": {
"Id": "1947109JA18412",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"DisplayName": "Mouse",
"Scores": [
"4502"
],
"Rank": 2
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}Authorizations
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
Body
Request to load a leaderboard.
Request to load a leaderboard.
Name of the leaderboard.
Maximum number of results to return from the leaderboard. Minimum 1, maximum 1,000.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
Index position to start from. 1 is beginning of leaderboard.
Optional version of the leaderboard, defaults to current version.
Response
Leaderboard response
The Http status code. If X-ReportErrorAsSuccess header is set to true, this will report the actual http error code.
The Http status code as a string.
Leaderboard response
Show child attributes
Show child attributes
{
"Version": 5,
"Rankings": [
{
"Entity": {
"Id": "1784371290HJA9",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"DisplayName": "FastHand",
"Scores": ["4503"],
"Rank": 1
},
{
"Entity": {
"Id": "1947109JA18412",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"DisplayName": "Mouse",
"Scores": ["4502"],
"Rank": 2
}
]
}
Was this page helpful?
curl --request POST \
--url https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"LeaderboardName": "Points",
"Version": 2,
"StartingPosition": 100,
"PageSize": 20
}
'import requests
url = "https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard"
payload = {
"LeaderboardName": "Points",
"Version": 2,
"StartingPosition": 100,
"PageSize": 20
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({LeaderboardName: 'Points', Version: 2, StartingPosition: 100, PageSize: 20})
};
fetch('https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'LeaderboardName' => 'Points',
'Version' => 2,
'StartingPosition' => 100,
'PageSize' => 20
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard"
payload := strings.NewReader("{\n \"LeaderboardName\": \"Points\",\n \"Version\": 2,\n \"StartingPosition\": 100,\n \"PageSize\": 20\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"LeaderboardName\": \"Points\",\n \"Version\": 2,\n \"StartingPosition\": 100,\n \"PageSize\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Leaderboard/GetLeaderboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"LeaderboardName\": \"Points\",\n \"Version\": 2,\n \"StartingPosition\": 100,\n \"PageSize\": 20\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"Version": 5,
"Rankings": [
{
"Entity": {
"Id": "1784371290HJA9",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"DisplayName": "FastHand",
"Scores": [
"4503"
],
"Rank": 1
},
{
"Entity": {
"Id": "1947109JA18412",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"DisplayName": "Mouse",
"Scores": [
"4502"
],
"Rank": 2
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}