Get a product's reviews
Read one product's customer reviews from the store's review source: the average rating, review count and star distribution, then each review with its rating, title, text, author, verified-buyer flag, country, date, photos and videos, the merchant's reply and helpful votes. Filter to one star rating, sort, and page with a cursor. Sources publish different fields, and anything a source leaves out comes back null: native WooCommerce reviews have no star filter, helpful votes or distribution, and CusRev has no distribution and sorts only by newest or helpful. Judge.me ended WooCommerce support in October 2025, so treat Judge.me results as best-effort. A missing product is a 404, and so is a product nobody has reviews for.
/product-reviews Reviews https://api.fetchlayer.dev/woocommerce-stores/product-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.
product string required The product's slug, its URL, or its numeric id.
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.
rating number optional Only reviews with this star rating, 1 to 5. Not supported for native WooCommerce reviews.
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
product-reviews
Get a product's reviews
product object The product the reviews belong to: id, handle (the product slug), title and url.
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/product-reviews" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"store":"theveritasfarms.com","product":"2216","limit":20}'Response
{
"blocked": false,
"requestedUrl": "https://theveritasfarms.com",
"resultType": "product-reviews",
"store": "theveritasfarms.com",
"product": {
"id": "2216",
"handle": "cbd-drops",
"title": "Full Spectrum CBD Oil for Calm",
"url": "https://theveritasfarms.com/product/cbd-drops"
},
"provider": "yotpo",
"summary": {
"averageRating": 4.62,
"reviewCount": 218,
"ratingDistribution": {
"1": 9,
"2": 5,
"3": 6,
"4": 19,
"5": 179
}
},
"reviews": [
{
"id": "873951175",
"provider": "yotpo",
"rating": 5,
"title": "Cbd tincture",
"body": "Great stuff! I can get out of bed in the morning and not have pains.",
"author": {
"name": "Trudy G.",
"verified": true,
"country": "US"
},
"createdAt": "2026-07-25T22:56:44.000Z",
"product": {
"id": "2216",
"handle": "cbd-drops",
"title": "Full Spectrum CBD Oil for Calm"
},
"media": [],
"reply": null,
"helpful": {
"up": 0,
"down": 0
},
"sourceUrl": "https://theveritasfarms.com/product/cbd-drops"
}
],
"nextCursor": "eyJ2IjoxLCJwIjoieW90cG8i",
"pagesScraped": 1,
"notes": []
}