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

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://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_id OR client_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:
FieldTypeRequiredDescription
store_idintegerrequired without client_location_idMust be an existing location and belong to the caller.
client_location_idstringoptionalMax 255; partner-owned stable id, resolved to store_id server-side; an ownership check.
has_landing_pageinteger (0/1)optional1 filters to rows that have a non-empty landing_page_url.
check_connectioninteger (0/1)optional0 short-circuits connection resolution (empty card-state) for a cheaper call.
sort_fieldstring (review_site)optionalAccepted but listing is ordered by a fixed FIELD priority.
sort_bystring (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 nested review_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

{
  "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

StatusMeaning
401The bearer token is missing, expired or invalid
422The request failed validation — the response names the fields
500Unexpected 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}'

Did this page help you?