image

Product details include a rating and a review count. The comments are a separate call. You pass the same productId you used for GET /v1/aliexpress/product/detail, or the id from search. The response pages buyer text, a five-star rating, photos, and a summary of the rating breakdown.

👉 To access this endpoint, you must obtain an API key: https://steadyapi.com/register


Authentication

Every call uses a Bearer token from your SteadyAPI dashboard.

Documentation:
https://docs.steadyapi.com/#authenticating-requests

headers = {
  'Authorization': 'Bearer YOUR_API_KEY'
}

Where this fits

Search is GET /v1/aliexpress/search. Detail is GET /v1/aliexpress/product/detail. Reviews take productId from either one. The description call is different: it wants description_token from the detail response as token, not the product id. Reviews do not use that token.


Reviews for one product

Endpoint: GET /v1/aliexpress/product/reviews

Documentation:
https://docs.steadyapi.com/#aliexpress-GETapi-v1-aliexpress-product-reviews

Parameters

  • productId — required product id
  • page — optional integer, default 1
  • filter — optional all or image, default all
  • lang — optional, default en_US

page moves through the comments. filter=image keeps reviews that include photos. filter=all is the default. Any other filter value is rejected. lang defaults to en_US. There is no sort parameter on this route.

Python

import requests

url = "https://api.steadyapi.com/v1/aliexpress/product/reviews"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

response = requests.get(url, headers=headers, params={
    "productId": product["product_id"],
    "page": 1,
    "filter": "all",
})
response.raise_for_status()
payload = response.json()
print(payload.get("meta", {}).get("total"))

for review in payload.get("body", {}).get("reviews", [])[:8]:
    print(review.get("rating"), review.get("buyer_country"), review.get("content"))

Annotated sample

{
  "id": "30063078701207729",
  "buyer_name": "c***s",
  "buyer_country": "ES",
  "rating": 2.0,
  "content": "",
  "date": "17 Aug 2023",
  "sku_info": "Color:XT80 Black ",
  "images": [],
  "up_votes": 0,
  "down_votes": 0,
  "anonymous": false
}

Read each item from body.reviews with those keys. rating is a five-star score. In this row a source score of 40 becomes 2.0. content is the product feedback field, and it can be an empty string. images is a list. body.summary is the rating breakdown for the product, separate from the comment list. meta.total is the count, meta.page is the page you requested, and meta.product_id echoes the id. Store id if you are saving comments.


Practical use

Page with page, starting at 1. Stop when the page is empty or when the number of comments you have stored reaches meta.total. There is no cursor.

Use the fields listed above. content can be empty on a row that still has a rating, a date, and a sku_info. Do not expect a second text field on the mapped review.

filter=image changes meta.total as well as the list. A product with a high reviews_count on the detail call can still return a short page here when the filter is image.

👉 Get your API key and read reviews: https://steadyapi.com/register

How to Find Similar Amazon Products Using SteadyAPI Oct 08, 2026

How to Find Similar Amazon Products Using SteadyAPI

Learn how to find similar Amazon products with SteadyAPI. Pull related titles, prices, and ratings for an ASIN.

How to Read an X Profile Using SteadyAPI Oct 07, 2026

How to Read an X Profile Using SteadyAPI

Learn how to read an X profile with SteadyAPI. Pull a handle's name, follower counts, and protected flag.

How to Get an MLB Box Score Using SteadyAPI Oct 07, 2026

How to Get an MLB Box Score Using SteadyAPI

Learn how to get an MLB box score with SteadyAPI. Read each club's batting line for one game.

How to Read AliExpress Reviews Using SteadyAPI Oct 06, 2026

How to Read AliExpress Reviews Using SteadyAPI

Learn how to read AliExpress reviews with SteadyAPI. Page buyer comments, ratings, and photos for one product.