Monthly ranking
Overview
Get the account's average rating for each of the last four full months, side by side for each year.
Use this for a monthly comparison panel.
You'll need an account token. The window is fixed: there are no date parameters.
Returns one row per year that has reviews (up to the last four years), each with the average rating for the last four full months (the current month isn't included).
Prerequisites
- A bearer token. See Authentication.
- Optional: a review site (
review_site_id).
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/account/dashboard/get-ranking-report
Authentication
Account token
- The ratings cover the locations of the caller's own account (the locations whose account is the caller's company). A Partner token has no locations of its own here, so it gets no data (zero counts or an empty list).
- A user limited to some locations sees only those.
Rate limit
120 requests per minute, counted per user (the token’s user). See Rate limits.
Request parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
store_id | query | integer | No | Accepted (and checked: it must exist and be inside your account tree) but not used; the report always covers the whole account. |
review_site_id | query | integer | No | Only this review site, e.g. 44 for Google. Must be an existing review site. |
Request body
None.
Request payload
None.
Response body
data is an array with one row per year, oldest first. The month keys are the names of the last four full months, so they change from month to month.
| Field | Type | Description |
|---|---|---|
data[] | array of objects | One row per year with reviews, oldest first. |
data[].Year | integer | The year. |
data[].June | number | Average rating for that month of the year, 2 decimals; 0 when there are no reviews. There is one key per month for the last four full months, named in English (here June to September). |
data[].July | number | As above, for the next month. |
data[].August | number | As above, for the next month. |
data[].September | number | As above, for the last full month. |
Response payload
{
"data": [
{
"Year": 2023,
"June": 4.67,
"July": 4.5,
"August": 4.67,
"September": 4.5
},
{
"Year": 2024,
"June": 4,
"July": 5,
"August": 4,
"September": 5
},
{
"Year": 2025,
"June": 4,
"July": 5,
"August": 3.67,
"September": 5
},
{
"Year": 2026,
"June": 4.27,
"July": 4.53,
"August": 4.45,
"September": 4.33
}
]
}Examples
Success payload
Called in October 2026, so the months are June to September: see Response payload.
Error payload
422 Location outside your tree
{
"message": "The selected store id does not belong to your company hierarchy.",
"errors": {
"store_id": [
"The selected store id does not belong to your company hierarchy."
]
}
}422 Review site doesn't exist
{
"message": "The selected review site id is invalid.",
"errors": {
"review_site_id": [
"The selected review site id is invalid."
]
}
}429 Too many requests
{
"message": "Too Many Attempts."
}| Status | Meaning |
|---|---|
200 | One row per year. |
401 | The token is missing, expired or invalid. |
422 | store_id doesn't exist or is outside your tree, or review_site_id doesn't exist. |
429 | More than 120 requests in a minute from this user. |
500 | Unexpected server error. |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/account/dashboard/get-ranking-report?review_site_id=44" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 17 days ago
