Skip to main content
GET
/
products
/
{productId}
/
reviews
Get Product Reviews
curl --request GET \
  --url https://cdn.tailoredd.com/apiV2/products/{productId}/reviews
{
  "reviews": [
    {
      "id": "rev_abc123",
      "rating": 5,
      "attributes": {
        "would_recommend": "yes",
        "fit": "true_to_size",
        "quality": "excellent"
      },
      "title": "Great product!",
      "text": "Really happy with this.",
      "authorName": "Sarah M.",
      "verified": true,
      "wouldRecommend": true,
      "pros": "Fast shipping, great quality",
      "cons": "Packaging could be better",
      "helpful": 8,
      "notHelpful": 0,
      "deliveryExperience": {},
      "createdAt": "2023-11-07T05:31:56Z",
      "mediaUrls": [
        "<string>"
      ],
      "mediaAssets": [
        {}
      ],
      "merchantReply": {}
    }
  ],
  "totalReviews": 148,
  "averageRating": 4.7,
  "ratingDistribution": {
    "1": 2,
    "2": 3,
    "3": 10,
    "4": 41,
    "5": 92
  },
  "hasMore": true,
  "lastVisible": "rev_abc123"
}
GET {BASE_URL}/products/{productId}/reviews

Query parameters

limit
integer
Default 20.
sort
string
newest · oldest · highest · lowest · helpful
status
string
approved (default). Other statuses require admin auth. See All reviews (admin).
sentiment
string
positive · neutral · negative — Growth/Enterprise only.
page
integer
Page number.

Response

{
  "reviews": [
    {
      "id": "rev_abc123",
      "rating": 5,
      "title": "Great product!",
      "text": "Really happy with this.",
      "authorName": "Sarah M.",
      "verified": true,
      "wouldRecommend": true,
      "pros": "Fast shipping, great quality",
      "cons": "Packaging could be better",
      "helpful": 8,
      "notHelpful": 0,
      "attributes": { "fit": "true_to_size", "quality": "excellent" },
      "deliveryExperience": null,
      "createdAt": "2026-01-10T08:22:11.000Z",
      "mediaUrls": [],
      "mediaAssets": [],
      "merchantReply": null
    }
  ],
  "totalReviews": 148,
  "averageRating": 4.7,
  "ratingDistribution": { "1": 2, "2": 3, "3": 10, "4": 41, "5": 92 },
  "lastVisible": "rev_abc123",
  "hasMore": true
}
attributes is always present on each review. Reviews without custom attributes return {}.

Headers

X-Merchant-Id
string
Origin
string

Path Parameters

productId
string
required

Query Parameters

merchantId
string
limit
integer

Number of reviews to return

sort
string

Sort order: newest, oldest, highest, lowest, helpful

status
string

Filter by status: approved, pending, rejected, flagged, all

page
integer

Page number for pagination

Response

Successful response

reviews
object[]
required
totalReviews
integer
required
Example:

148

averageRating
number
required
Example:

4.7

ratingDistribution
object
required
Example:
{ "1": 2, "2": 3, "3": 10, "4": 41, "5": 92 }
hasMore
boolean
required
Example:

true

lastVisible
string | null
Example:

"rev_abc123"