WooCommerce API — Product Reviews as JSON
Documentation menu
FetchLayer FetchLayer API

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.

POST /product-reviews Reviews
https://api.fetchlayer.dev/woocommerce-stores/product-reviews
OpenAPI JSON

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": []
}