Shopify Store API — Store-Wide Reviews as JSON
Documentation menu
FetchLayer FetchLayer API

Get a store's reviews

Read a store's reviews across every product from its review service, newest first by default: a store-wide average rating, review count and star distribution, then each review in the same shape /product-reviews returns, carrying the product it was left on when the service says. REVIEWS.io's store feed covers product reviews only. A store using none of the supported services is a 404, and so is one whose services have no reviews.

POST /store-reviews Reviews
https://api.fetchlayer.dev/shopify-stores/store-reviews
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

store string required

Store domain, or any URL on the store — for example example.com, https://example.com/products/foo, or a myshopify.com domain.

provider string optional

judgeme, yotpo, loox, okendo, stamped or reviewsio. Omit to use whichever service the store has. Naming one the store does not use is a 404; naming one it uses that has no reviews is a 200 with an empty list and a note.

limit number optional

Maximum reviews returned (max 500). (default: 20)

cursor string optional

Resume from a previous response's nextCursor. Send the same other parameters with it: a cursor replayed with different ones is a 400.

sort string optional

newest, highest, lowest or helpful. (default: newest)

format string optional

json or markdown. Markdown returns the same result rendered for a model to read. (default: json)

timeoutMs number optional

Per-request time limit in milliseconds (max 120000).

Response Fields

store-reviews

Get a store's reviews

store string

The store domain the reviews were read for.

provider string

The review service that answered: judgeme, yotpo, loox, okendo, stamped or reviewsio.

summary.averageRating number

Average star rating, or null when the service does not publish one.

summary.reviewCount number

Total reviews the service reports, not just the ones in this response.

summary.ratingDistribution object

Review count per star, keyed "1" to "5", or null when the service does not publish it.

reviews object[]

The reviews, in the requested sort order.

reviews[].id string

The review's id on its service.

reviews[].rating number

Star rating, 1 to 5.

reviews[].title string

Review headline, or null. Loox reviews have none.

reviews[].body string

Review text.

reviews[].author object

name, verified (a confirmed buyer) and country, each null when the service does not say. Loox and Okendo publish no country.

reviews[].createdAt string

When the review was written, as an ISO timestamp, or null.

reviews[].product object

The product the review was left on (id, handle, title), or null when unknown.

reviews[].media object[]

Customer photos and videos, each with type and url.

reviews[].reply object

The merchant's public reply (body, createdAt), or null. Loox and Judge.me publish no reply date.

reviews[].helpful object

Helpful votes as up and down, or null when the service has no votes (Loox).

reviews[].sourceUrl string

The page the review appears on, or null.

nextCursor string

Pass back as cursor to continue, or null when there are no more reviews.

pagesScraped number

Pages of reviews returned: the review count divided by the page size the service uses, rounded up, minimum 1. Rating-breakdown lookups, detection probes and retries are not counted. Each page counts as one request against your plan.

notes string[]

Caveats about this result, such as a named service that has no reviews. Read it before treating a result as complete.

Request

curl -X POST "https://api.fetchlayer.dev/shopify-stores/store-reviews" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"store":"tatcha.com","limit":20}'

Response

{
  "store": "tatcha.com",
  "provider": "yotpo",
  "summary": {
    "averageRating": 4.67,
    "reviewCount": 71054,
    "ratingDistribution": {
      "1": 1353,
      "2": 1340,
      "3": 2981,
      "4": 7914,
      "5": 57466
    }
  },
  "reviews": [
    {
      "id": "890453394",
      "provider": "yotpo",
      "rating": 5,
      "title": "Love it!",
      "body": "It feels so nice on skin, it actually feels like a splash of refreshing water.",
      "author": {
        "name": "Jenna",
        "verified": false,
        "country": null
      },
      "createdAt": "2026-09-13T17:02:41.000Z",
      "product": {
        "id": "10225157570869",
        "handle": null,
        "title": "The Water Cream"
      },
      "media": [],
      "reply": null,
      "helpful": {
        "up": 0,
        "down": 0
      },
      "sourceUrl": null
    }
  ],
  "nextCursor": "eyJ2IjoxLCJwIjoieW90cG8i",
  "pagesScraped": 1,
  "notes": []
}