# AliExpress Reviews Scraper (`axlymxp/aliexpress-reviews-scraper`) Actor

Scrape AliExpress product reviews at scale — star ratings, review text, buyer country, photos and a per-product 1–5★ breakdown — as clean JSON. No login or cookies. Feed product URLs or IDs; ideal for sentiment analysis, product research and QA. Pay only for the results you get.

- **URL**: https://apify.com/axlymxp/aliexpress-reviews-scraper.md
- **Developed by:** [axly](https://apify.com/axlymxp) (community)
- **Categories:** E-commerce, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 dataset items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## AliExpress Reviews Scraper

Extract **customer reviews from any AliExpress product** — star ratings, full review text, buyer country, review dates, buyer photos, helpful votes, and a per‑product **1–5★ rating breakdown** — as clean, structured JSON. Feed product URLs or IDs and get analysis‑ready data. **No login, no cookies, no CAPTCHAs.**

Reviews come from AliExpress's public feedback service, the most stable AliExpress data source, so runs finish reliably even for products with tens of thousands of reviews.

### Who uses this

- **E‑commerce & dropshipping sellers** — vet suppliers and products before listing; spot quality complaints and shipping issues early.
- **Market & product researchers** — build sentiment datasets across products, categories, and countries.
- **Brand & QA teams** — monitor what real buyers say about a product over time.
- **Data scientists / LLM builders** — collect multilingual, labeled (star‑rated) review corpora for training and analysis.

### Output fields

Each row is a single review with product context attached:

| Field | Type | Description |
| --- | --- | --- |
| `product_id` | string | AliExpress product ID |
| `product_url` | string | Canonical product URL |
| `review_id` | string | Unique review ID |
| `rating` | number | Review rating on a 0–5 scale |
| `review_text` | string | Buyer's written feedback |
| `buyer_name` | string | Buyer display name (may be anonymized) |
| `buyer_country` | string | Buyer country code (e.g. `US`, `BR`, `ES`) |
| `review_date` | string | Date the review was posted |
| `sku_info` | string | Purchased variant (color/size/etc.) |
| `logistics` | string | Shipping/carrier note when present |
| `images` | array | URLs of buyer‑uploaded photos |
| `images_count` | number | Number of buyer photos on the review |
| `thumbnails` | array | Thumbnail URLs for the photos |
| `up_votes` | number | "Helpful" votes |
| `product_average_rating` | number | Product's overall average star rating |
| `product_total_reviews` | number | Total number of reviews on the product |
| `product_star_breakdown` | object | Count of 5/4/3/2/1‑star reviews |
| `scraped_at` | string | ISO‑8601 timestamp of extraction |

### High‑value use cases

1. **Supplier vetting** — pull 200 newest reviews for a shortlist of products and rank suppliers by average rating and complaint keywords before you buy.
2. **Sentiment datasets** — export thousands of star‑labeled reviews across a category for NLP/LLM training.
3. **Photo evidence mining** — filter to reviews with buyer photos to see how products actually arrive.
4. **Cross‑market analysis** — group reviews by `buyer_country` to compare satisfaction by region.
5. **Product QA monitoring** — schedule weekly runs and track the 1–5★ breakdown drifting over time.

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| `productUrls` | array | — | AliExpress product URLs or bare numeric IDs (one dataset per product). **Required.** |
| `maxReviewsPerProduct` | integer | `100` | Stop after this many reviews per product. |
| `sort` | string | `most_relevant` | `most_relevant`, `most_helpful`, or `newest`. |
| `onlyWithPhotos` | boolean | `false` | Return only reviews that include buyer photos. |
| `language` | string | `en_US` | Locale for the request (reviews stay in each buyer's language). |
| `proxyConfiguration` | object | Apify Proxy | Optional — the endpoint is open, so a proxy is not required. |

#### Example input

```json
{
  "productUrls": [
    "https://www.aliexpress.com/item/3256806491670200.html",
    "1005006677984952"
  ],
  "maxReviewsPerProduct": 200,
  "sort": "newest",
  "onlyWithPhotos": false
}
```

#### Example output row

```json
{
  "product_id": "3256806491670200",
  "product_url": "https://www.aliexpress.com/item/3256806491670200.html",
  "review_id": "1005...889",
  "rating": 5.0,
  "review_text": "Great sound for the price, arrived in 12 days.",
  "buyer_name": "j***a",
  "buyer_country": "BR",
  "review_date": "12 Aug 2026",
  "sku_info": "Color: Black",
  "images": ["https://ae01.alicdn.com/kf/....jpg"],
  "images_count": 1,
  "up_votes": 3,
  "product_average_rating": 4.9,
  "product_total_reviews": 7446,
  "product_star_breakdown": { "five_star": 6800, "four_star": 420, "three_star": 120, "two_star": 60, "one_star": 46 },
  "scraped_at": "2026-08-22T10:14:21.000Z"
}
```

### Scheduling & integrations

- **Schedule** runs (hourly/daily/weekly) from the Apify Console to monitor review trends.
- **Webhooks** can push new results to your own endpoint on run completion.
- Export to **JSON, CSV, Excel, or Google Sheets**, or connect via **Make, Zapier, and the Apify API** to your CRM/warehouse.

### Use from AI assistants (MCP)

This Actor works with the **Apify MCP server**, so AI assistants (Claude, ChatGPT, and other MCP clients) can call it as a tool — ask your agent to "get the newest reviews for this AliExpress product" and pipe the structured output straight into your workflow.

### FAQ

**Do I need an AliExpress account or cookies?** No. Reviews come from a public endpoint — no login, cookies, or CAPTCHA solving.

**How many reviews can I get per product?** As many as the product has — popular items expose tens of thousands across pages. Set `maxReviewsPerProduct` to cap it.

**What languages are the reviews in?** Each review is returned in the buyer's original language, with a `buyer_country` code so you can filter or translate.

**How fresh is the data?** Every run fetches live data at request time; `scraped_at` records when.

**Can I get only reviews with photos?** Yes — set `onlyWithPhotos` to `true`.

**Is scraping this legal?** The Actor collects only publicly available review data. You are responsible for using the output in line with AliExpress's terms and applicable laws (e.g. GDPR for any personal data).

**A run got interrupted — do I lose progress?** No. Progress is checkpointed per product and resumes on a re‑run with the same input.

# Actor input Schema

## `productUrls` (type: `array`):

AliExpress product URLs (e.g. https://www.aliexpress.com/item/1005006677984952.html) or bare numeric product IDs. One review dataset is produced per product.

## `maxReviewsPerProduct` (type: `integer`):

Stop after collecting this many reviews for each product. AliExpress popular items can have tens of thousands of reviews.

## `sort` (type: `string`):

Order in which reviews are fetched.

## `onlyWithPhotos` (type: `boolean`):

Return only reviews that include buyer-uploaded images.

## `language` (type: `string`):

Locale used for the review request (reviews are returned in each buyer's original language regardless).

## `proxyConfiguration` (type: `object`):

Optional. The feedback endpoint is open, so a proxy is not required; enable it to distribute requests or run from a specific country.

## Actor input object example

```json
{
  "productUrls": [
    "3256806491670200",
    "https://www.aliexpress.com/item/1005006677984952.html"
  ],
  "maxReviewsPerProduct": 100,
  "sort": "most_relevant",
  "onlyWithPhotos": false,
  "language": "en_US",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Every extracted review as a structured JSON row.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "productUrls": [
        "https://www.aliexpress.com/item/3256806491670200.html"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("axlymxp/aliexpress-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "productUrls": ["https://www.aliexpress.com/item/3256806491670200.html"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("axlymxp/aliexpress-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "productUrls": [
    "https://www.aliexpress.com/item/3256806491670200.html"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call axlymxp/aliexpress-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,axlymxp/aliexpress-reviews-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/IvLfU7yF8zkJ7rjEI/builds/Z3B8dvSRFG0pd4R80/openapi.json
