Get a store's reviews
Read a store's reviews across every product from its review source, 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 known. REVIEWS.io and CusRev also mix in reviews of the store itself, which carry a null product; the Yotpo, Stamped and Judge.me feeds are product reviews only. A store using none of the supported sources is a 404, and so is one whose sources have no reviews.
/store-reviews Reviews https://api.fetchlayer.dev/woocommerce-stores/store-reviews Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
store string required Store domain, for example example.com, or any URL on the store. 3–255 characters.
provider string optional woocommerce (the store's native reviews), cusrev, judgeme, yotpo, stamped or reviewsio. Omit to use whichever source the store has. Naming one the store does not use is a 404, and so is naming woocommerce on a store whose native reviews are not published. Naming an app 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. CusRev supports only newest and helpful. (default: newest)
format string optional json or markdown. (default: json)
timeoutMs number optional Per-request time limit in milliseconds (max 600000).
Response Fields
store-reviews
Get a store's reviews
requestedUrl string The store this result corresponds to.
scrapedAt string ISO 8601 timestamp of the read.
blocked boolean Always false on a successful response.
transport string Always woocommerce-store.
store string The store domain the reviews were read for.
provider string The review source that answered: woocommerce, cusrev, judgeme, yotpo, stamped or reviewsio.
summary.averageRating number | null Average star rating, or null when the source does not publish one.
summary.reviewCount number | null Total reviews the source reports, not just the ones in this response.
summary.ratingDistribution object | null Review count per star, keyed "1" to "5". Null for native WooCommerce reviews and CusRev, which do not publish one.
reviews object[] The reviews, in the requested sort order.
reviews[].id string The review's id on its source.
reviews[].rating number Star rating, 1 to 5.
reviews[].title string | null Review headline, where the source has one.
reviews[].body string Review text. Can be empty for a rating-only review.
reviews[].author object name, verified (a confirmed buyer) and country, each null when the source does not say.
reviews[].createdAt string | null When the review was written, as an ISO timestamp.
reviews[].product object | null The product the review was left on: id, handle (the product slug) and title. Null on a review of the store itself.
reviews[].media object[] Customer photos and videos, each with type and url.
reviews[].reply object | null The merchant's public reply: body and createdAt.
reviews[].helpful object | null Helpful votes as up and down. Null where the source has no votes, including native WooCommerce reviews.
reviews[].sourceUrl string | null The page the review appears on.
nextCursor string | null 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 source uses, rounded up, minimum 1. Rating-breakdown lookups, detection probes, storefront page reads and retries are not counted. Each page counts as one request against your plan.
notes string[] Caveats about this result, such as a named app that has no reviews. Read it before treating a result as complete.
Request
curl -X POST "https://api.fetchlayer.dev/woocommerce-stores/store-reviews" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"store":"otimos.co.uk","limit":20}'Response
{
"blocked": false,
"requestedUrl": "https://otimos.co.uk",
"resultType": "store-reviews",
"store": "otimos.co.uk",
"provider": "reviewsio",
"summary": {
"averageRating": 4.86,
"reviewCount": 588,
"ratingDistribution": {
"1": 4,
"2": 1,
"3": 11,
"4": 40,
"5": 530
}
},
"reviews": [
{
"id": "store_review-30914521",
"provider": "reviewsio",
"rating": 5,
"title": null,
"body": "Pillow is easy to use and small enough to throw in the bag. Used it for a 10 day hike In greenland and it worked well and wasn't too heavy at 155g.",
"author": {
"name": "Vicki Guy",
"verified": true,
"country": null
},
"createdAt": "2026-09-12T23:48:43.000Z",
"product": null,
"media": [],
"reply": null,
"helpful": {
"up": 0,
"down": null
},
"sourceUrl": null
}
],
"nextCursor": "eyJ2IjoxLCJwIjoicmV2aWV3c2lvIg",
"pagesScraped": 1,
"notes": []
}