Get Item Reviews
Get a paginated set of reviews associated with the specified item. Individual ratings and reviews data update in near real time with delays within a few seconds.
Allowed entity token types: title, master_player_account, title_player_account
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| DatabaseThroughputExceeded | 1113 |
| ItemNotFound | 1047 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Catalog/GetItemReviews \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Count": 2,
"Top": 10,
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
'import requests
url = "https://{titleId}.playfabapi.com/Catalog/GetItemReviews"
payload = {
"Count": 2,
"Top": 10,
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
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({Count: 2, Top: 10, Id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'})
};
fetch('https://{titleId}.playfabapi.com/Catalog/GetItemReviews', 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/Catalog/GetItemReviews",
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([
'Count' => 2,
'Top' => 10,
'Id' => 'dddddddd-dddd-dddd-dddd-dddddddddddd'
]),
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/Catalog/GetItemReviews"
payload := strings.NewReader("{\n \"Count\": 2,\n \"Top\": 10,\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\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/Catalog/GetItemReviews")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Count\": 2,\n \"Top\": 10,\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Catalog/GetItemReviews")
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 \"Count\": 2,\n \"Top\": 10,\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"Reviews": [
{
"ReviewId": "372f84cd-b45b-48a7-9549-2c09a6c12104",
"ItemId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ReviewerEntity": {
"Id": "ABCD1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"ReviewerId": "title_player_account!ABCD1234",
"ItemVersion": "2.1.4",
"Title": "Best game ever",
"ReviewText": "I play this game every day. It's so much fun!",
"Rating": 3,
"IsInstalled": true,
"Locale": "en-us",
"HelpfulPositive": 11,
"HelpfulNegative": 17,
"Submitted": "2018-08-17T22:32:10.4729879+00:00"
},
{
"ReviewId": "372f84cd-b45b-48a7-9549-2c09a6c12104",
"ItemId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ReviewerEntity": {
"Id": "ABCD1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"ReviewerId": "title_player_account!ABCD1234",
"ItemVersion": "2.1.4",
"Title": "Best game ever",
"ReviewText": "I play this game every day. It's so much fun!",
"Rating": 3,
"IsInstalled": true,
"Locale": "en-us",
"HelpfulPositive": 11,
"HelpfulNegative": 17,
"Submitted": "2018-08-17T22:32:10.4729879+00:00"
}
],
"ContinuationToken": "+RID:IQkbAIvkRQD9oQIAAAAAAA==#RT:1#TRC:10#FPC:AgEKHAoKAPEhAOAhQP8DWIAMAgB8rRACAJeAHAIA0r0="
}
}{
"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
Number of items to retrieve. This value is optional. Default value is 10.
An alternate ID associated with this item.
Show child attributes
Show child attributes
An opaque token used to retrieve the next page of items, if any are available.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
The unique ID of the item.
An OData orderBy used to order the results of the query. Possible values are Helpfulness, Rating, and Submitted (For example: "Submitted desc")
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.
Show child attributes
Show child attributes
{
"Reviews": [
{
"ReviewId": "372f84cd-b45b-48a7-9549-2c09a6c12104",
"ItemId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ReviewerEntity": {
"Id": "ABCD1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"ReviewerId": "title_player_account!ABCD1234",
"ItemVersion": "2.1.4",
"Title": "Best game ever",
"ReviewText": "I play this game every day. It's so much fun!",
"Rating": 3,
"IsInstalled": true,
"Locale": "en-us",
"HelpfulPositive": 11,
"HelpfulNegative": 17,
"Submitted": "2018-08-17T22:32:10.4729879+00:00"
},
{
"ReviewId": "372f84cd-b45b-48a7-9549-2c09a6c12104",
"ItemId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ReviewerEntity": {
"Id": "ABCD1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"ReviewerId": "title_player_account!ABCD1234",
"ItemVersion": "2.1.4",
"Title": "Best game ever",
"ReviewText": "I play this game every day. It's so much fun!",
"Rating": 3,
"IsInstalled": true,
"Locale": "en-us",
"HelpfulPositive": 11,
"HelpfulNegative": 17,
"Submitted": "2018-08-17T22:32:10.4729879+00:00"
}
],
"ContinuationToken": "+RID:IQkbAIvkRQD9oQIAAAAAAA==#RT:1#TRC:10#FPC:AgEKHAoKAPEhAOAhQP8DWIAMAgB8rRACAJeAHAIA0r0="
}
Was this page helpful?
curl --request POST \
--url https://{titleId}.playfabapi.com/Catalog/GetItemReviews \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Count": 2,
"Top": 10,
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
'import requests
url = "https://{titleId}.playfabapi.com/Catalog/GetItemReviews"
payload = {
"Count": 2,
"Top": 10,
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
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({Count: 2, Top: 10, Id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'})
};
fetch('https://{titleId}.playfabapi.com/Catalog/GetItemReviews', 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/Catalog/GetItemReviews",
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([
'Count' => 2,
'Top' => 10,
'Id' => 'dddddddd-dddd-dddd-dddd-dddddddddddd'
]),
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/Catalog/GetItemReviews"
payload := strings.NewReader("{\n \"Count\": 2,\n \"Top\": 10,\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\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/Catalog/GetItemReviews")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Count\": 2,\n \"Top\": 10,\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Catalog/GetItemReviews")
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 \"Count\": 2,\n \"Top\": 10,\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {
"Reviews": [
{
"ReviewId": "372f84cd-b45b-48a7-9549-2c09a6c12104",
"ItemId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ReviewerEntity": {
"Id": "ABCD1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"ReviewerId": "title_player_account!ABCD1234",
"ItemVersion": "2.1.4",
"Title": "Best game ever",
"ReviewText": "I play this game every day. It's so much fun!",
"Rating": 3,
"IsInstalled": true,
"Locale": "en-us",
"HelpfulPositive": 11,
"HelpfulNegative": 17,
"Submitted": "2018-08-17T22:32:10.4729879+00:00"
},
{
"ReviewId": "372f84cd-b45b-48a7-9549-2c09a6c12104",
"ItemId": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"ReviewerEntity": {
"Id": "ABCD1234",
"Type": "title_player_account",
"TypeString": "title_player_account"
},
"ReviewerId": "title_player_account!ABCD1234",
"ItemVersion": "2.1.4",
"Title": "Best game ever",
"ReviewText": "I play this game every day. It's so much fun!",
"Rating": 3,
"IsInstalled": true,
"Locale": "en-us",
"HelpfulPositive": 11,
"HelpfulNegative": 17,
"Submitted": "2018-08-17T22:32:10.4729879+00:00"
}
],
"ContinuationToken": "+RID:IQkbAIvkRQD9oQIAAAAAAA==#RT:1#TRC:10#FPC:AgEKHAoKAPEhAOAhQP8DWIAMAgB8rRACAJeAHAIA0r0="
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}