List review sites for a store
Overview
List every review site configured for a store, each with its URL, scraper flag, connection card-state and review-site metadata — drives the store's connection/listing page.
Prerequisites
- A bearer token. Callable with Partner and Account tokens.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/store-review-site/list
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner and Account tokens.
-
The store is targeted by
store_idORclient_location_id. An ownership check confirms the store sits in the auth user's company hierarchy. -
Partners reach any store under their tree. Account users reach only their own account's stores.
Rate limit
- No rate limit.
Request body
- Body:
| Field | Type | Required | Description |
|---|---|---|---|
store_id | integer | required without client_location_id | Must be an existing location and belong to the caller. |
client_location_id | string | optional | Max 255; partner-owned stable id, resolved to store_id server-side; an ownership check. |
has_landing_page | integer (0/1) | optional | 1 filters to rows that have a non-empty landing_page_url. |
check_connection | integer (0/1) | optional | 0 short-circuits connection resolution (empty card-state) for a cheaper call. |
sort_field | string (review_site) | optional | Accepted but listing is ordered by a fixed FIELD priority. |
sort_by | string (asc/desc) | optional |
{
"store_id": 123,
"has_landing_page": 1,
"check_connection": 1
}Response
data[](array) — each row:id,url,landing_page_url,created_at,url_status,connectionStatus,is_connected,lock_color,sendto_scrapper,display_as_connected,reviews_status,posting_status,has_url,error_code,error_title,error_reason,fix_sheet,last_scraped_at,connect_page_url, and nestedreview_site(id,name,publisher,link,review_site_icon,review_site_color,self_form_enabled,auth_type,scraping_enabled,posting_enabled,keywords).store_name(string) — top-level, store name with optional- {storeid}suffix.
200 Success · 200
200{
"data": [
{
"id": 5,
"url": "https://maps.google.com/maps?cid=6987565896915883812",
"landing_page_url": "https://search.google.com/local/writereview?placeid=ChIJ...",
"created_at": "2026-06-12T11:54:11.000000Z",
"url_status": "enable",
"connectionStatus": "Disconnected",
"is_connected": 0,
"lock_color": "gray",
"sendto_scrapper": "N",
"display_as_connected": false,
"reviews_status": "offline",
"posting_status": "offline",
"has_url": true,
"error_code": "E-002",
"error_title": "Posting paused",
"error_reason": "Google connection has expired. Please reconnect this location.",
"fix_sheet": "oauth_reconnect",
"last_scraped_at": null,
"connect_page_url": "https://production.shoutaboutus.com/connect-review-sites/xxxxx/edit-site/xxx/Google/xxx/",
"review_site": {
"id": 44,
"name": "Google",
"publisher": "maps.google.com",
"link": "http://maps.google.com",
"review_site_icon": "https://.../google_ic.png",
"review_site_color": "#4285F4",
"self_form_enabled": "N",
"auth_type": "oauth",
"scraping_enabled": true,
"posting_enabled": true,
"keywords": [
"[reviewSite_44]"
]
}
}
],
"store_name": "Demo Brew - 89"
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/store-review-site/list" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"store_id": 123, "has_landing_page": 1, "check_connection": 1}'Updated 8 days ago
Did this page help you?
