Wish API endpoint
Returns a Wish product's customer reviews. id is taken from a search result's product_id field or a product page's URL. A product with zero reviews returns a normal, empty result rather than an error. A caller wanting more reviews should re-request with a larger count -- this endpoint does not support an offset/cursor parameter.
/wish/product/{id}/reviewsid is required, a 24-character hex Wish product id taken from a search result's product_id field or a product page's URL (e.g. 5c204af997fd253055250a4d). count is optional, 1 to 200, defaults to 10.
Notable response behavior:
count -- the upstream source does not support a working paging cursor, so exposing one here would promise pagination this endpoint cannot deliver.has_more reflects the upstream's own signal for whether more reviews exist beyond the returned count.result_count: 0) rather than an error.id returns 404. A malformed id returns 400 before any upstream request is made.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| id | 10 | |
| rating | 10 | 5 |
| comment | 10 | |
| upvote_count | 10 | 2 to 4, median 3 |
| image_ids | 10 | |
| created_at | 10 | 2019-06-20 to 2020-10-21 |
| user_name | 10 | |
| user_country_code | 10 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Wish product id, a 24-character hex id from a search result's product_id field | 5c204af997fd253055250a4d | |
| count | integer | No | 10 | Number of reviews to return, 1 to 200, defaults to 10 | 10 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wish/product/5c204af997fd253055250a4d/reviews?count=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"product_id": "5c204af997fd253055250a4d",
"count": 10,
"result_count": 10,
"has_more": true,
"reviews": [
{
"id": "5f9010f5e7e021e9388e830c",
"rating": 5,
"comment": "Beautiful ",
"upvote_count": 2,
"image_ids": [
"5f91a50bffa216889a593953"
],
"created_at": "2020-10-21T10:44:05+00:00",
"user_name": "Cassandra Mae",
"user_country_code": "US"
}
],
"source_url": "https://www.wish.com/api/mobile/get-product-ugc-ratings",
"fetched_at": "2026-08-11T10:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/wish.productReviewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | wish.ProductReviewsResponse | No | ||||
| data.count | integer | No | Number of reviews that was requested. | |||
| data.fetched_at | string | No | Time the data was fetched, in UTC (RFC 3339). | |||
| data.has_more | boolean | No | Whether more reviews exist beyond those returned. | |||
| data.product_id | string | No | Wish product id that was requested. | |||
| data.result_count | integer | No | Number of reviews returned. | |||
| data.reviews | array | No | Customer reviews of the product. | |||
| data.reviews[].color | string | No | Product color the review is for. | |||
| data.reviews[].comment | string | No | Text of the review. | |||
| data.reviews[].created_at | string | No | Time the review was posted, in ISO 8601 format. | |||
| data.reviews[].downvote_count | integer | No | Number of downvotes the review received. | |||
| data.reviews[].id | string | No | Wish review id. | |||
| data.reviews[].image_ids | array | No | Ids of the photos attached to the review. | |||
| data.reviews[].is_wish_star | boolean | No | Whether Wish marks the review as a Wish Star rating. | |||
| data.reviews[].rating | integer | No | Star rating the reviewer gave. | |||
| data.reviews[].title | string | No | Review headline written by the reviewer. | |||
| data.reviews[].upvote_count | integer | No | Number of upvotes the review received. | |||
| data.reviews[].user_country_code | string | No | Country code of the reviewer, such as `US`. | |||
| data.reviews[].user_name | string | No | Display name of the reviewer. | |||
| data.source_url | string | No | URL the data was read from. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/wish/product/5c204af997fd253055250a4d/reviews?count=10" \
-H "x-api-key: $CRAWLORA_API_KEY"