# AliExpress Product Details Scraper - Price, SKU, Reviews (`improved_knot_vyk/aliexpress-product-details-scraper`) Actor

Returns for each AliExpress product URL or ID: title, price, discount, SKU variants with stock, shipping cost and delivery time to your country, seller, rating, reviews count, orders and images. $3 per 1,000 products. No login.

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

## Pricing

$3.00 / 1,000 products

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## AliExpress Product Details Scraper

Get structured data for any AliExpress product: **price, original price, discount, every variant (SKU) with its
own price and stock, shipping cost and delivery time for your country, seller, rating, reviews, orders, images
and specifications.** $3 per 1,000 products.

- Input: product URLs (any locale), bare product IDs, or a search term. Pick the ship-to country and currency.
- Fast and light: about 100 products in 90 seconds. No login, no browser.
- **Pay per result**: you only pay for products successfully extracted. Failed or removed products are free.
- Works with Apify's free plan credits for a quick test.

Only need search results (title, price, rating, orders)? [AliExpress Search Scraper](https://apify.com/improved_knot_vyk/aliexpress-search-scraper)
is cheaper: $1 per 1,000 results.

### Use cases

- **Dropshipping and product research**: full variant prices, stock and shipping before you list a product.
- **Price and stock monitoring**: schedule runs and track price, discount and stock per SKU over time.
- **Supplier checks**: seller rating, store age, positive feedback rate and country.
- **AI agents and automations**: stable JSON fields, easy to use from the API, Make, Zapier or n8n.

### Input

| Field | Description |
|---|---|
| `productUrls` | Product URLs from any AliExpress site (`www`, `pt`, `de`...) or bare product IDs. |
| `searchTerm` | Optional: find products by keyword instead of URLs. |
| `maxItems` | Stop after this many products (default 50). |
| `shipTo`, `currency` | Country and currency for prices and shipping, e.g. `BR` and `BRL`. |

```json
{
  "productUrls": ["https://www.aliexpress.com/item/1005013092454380.html", "3256812858197446"],
  "shipTo": "US",
  "currency": "USD"
}
```

### Example output

```json
{
  "productId": "3256812800329908",
  "url": "https://www.aliexpress.com/item/3256812800329908.html",
  "title": "Nylon Data Cable Fast Charger USB A to Type C Charging Cable For Huawei Samsung Android Phone TypeC Charging Device 1M 2M 3M",
  "price": 2.06,
  "originalPrice": 4.12,
  "currency": "USD",
  "discountPercent": 49,
  "rating": 4.9,
  "reviews": 8765,
  "orders": "This seller: 50,000+ sales | Total sales: 50,000+",
  "totalStock": 343,
  "sellerName": "Stone's Store",
  "sellerId": "2678280160",
  "storeUrl": "https://www.aliexpress.com/store/1103576287",
  "sellerPositiveRate": 100,
  "storeOpenedAt": "2024-03-01 00:05:27",
  "sellerCountry": "China",
  "categoryPath": "44/629/200001706/100000356",
  "attributes": {
    "Brand Name": "koovesy",
    "Model Number": "uab cable",
    "Origin": "Mainland China"
  },
  "images": [
    "https://ae-pic-a1.aliexpress-media.com/kf/S222f6871da5e4f0398011765881ff2a4l.jpg?has_lang=1&ver=1",
    "https://ae-pic-a1.aliexpress-media.com/kf/Sa05aa0aefa674d98b7f15326dd26a6813.jpg?has_lang=1&ver=1"
  ],
  "variants": [
    {
      "skuId": "12000059958688769",
      "attributes": {
        "Color": "Blue",
        "Cable length": "1m"
      },
      "price": 2.07,
      "originalPrice": 4.14,
      "discount": "49% off",
      "stock": 8,
      "image": "https://ae-pic-a1.aliexpress-media.com/kf/S370445cf5eb9424bb869425e8eecaa8bJ.jpg"
    },
    {
      "skuId": "12000059958688768",
      "attributes": {
        "Color": "Blue",
        "Cable length": "3m"
      },
      "price": 2.95,
      "originalPrice": 5.9,
      "discount": "50% off",
      "stock": 6,
      "image": "https://ae-pic-a1.aliexpress-media.com/kf/S370445cf5eb9424bb869425e8eecaa8bJ.jpg"
    }
  ],
  "shipping": [
    {
      "company": "AliExpress Selection Standard",
      "cost": 1.99,
      "currency": "USD",
      "deliveryDayMin": 7,
      "deliveryDayMax": 11,
      "shipFrom": "China",
      "shipTo": "US"
    }
  ],
  "shipTo": "US",
  "fetchedAt": "2026-10-12T21:12:28Z"
}
```

*Shortened: `variants`, `images` and `attributes` hold every item in the real output.*

### Output fields

| Field | Description |
|---|---|
| `productId`, `url`, `title` | Product id, link and title. |
| `price`, `originalPrice`, `discountPercent`, `currency` | Price of the default SKU, before and after discount. |
| `variants` | Every SKU: attributes (color, size...), price, original price, discount, stock, image. |
| `totalStock` | Units available across all SKUs. |
| `shipping` | Shipping options to your country: company, cost, currency, delivery days, ship-from. |
| `rating`, `reviews`, `orders` | Star rating, number of reviews, sales text. |
| `sellerName`, `sellerId`, `storeUrl`, `sellerPositiveRate`, `storeOpenedAt`, `sellerCountry` | Seller details. |
| `attributes`, `categoryPath`, `images` | Specifications, category ids and gallery. |
| `error` | Only on failed items: `NOT_FOUND_OR_REMOVED`, `BLOCKED` or `REQUEST_FAILED`. Not charged. |

### Pricing

**$3 per 1,000 products** (one `item-detail` event per product extracted). Proxy and compute are included: you
pay only for products returned. Set a maximum total charge on the run to cap your spend; the Actor stops
cleanly when it is reached.

### FAQ

**Which currencies and countries work?** Any country AliExpress ships to. Prices, shipping costs and delivery
times follow `shipTo` and `currency`.

**Why did a product fail?** `NOT_FOUND_OR_REMOVED` means the listing no longer exists. `BLOCKED` means
AliExpress kept showing a bot check; raise "Retries per blocked product" in the input. Neither is charged.

**Do I need proxies?** Residential proxies are the default and are included in the price. The Actor switches
IPs automatically, because AliExpress allows only a few products per IP.

**Can I monitor prices daily?** Yes: save your input as a task and add a schedule in Apify Console.

### Issues

Open an issue in the Issues tab; I reply within 24 hours. If the Actor helped you, a review on the Store helps a
lot.

# Actor input Schema

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

AliExpress product URLs (any locale) or bare product IDs, e.g. 1005013092454380.

## `searchTerm` (type: `string`):

If set, products are found by this search term instead of URLs.

## `maxItems` (type: `integer`):

Stop after this many products. You are charged only for products successfully extracted.

## `shipTo` (type: `string`):

Prices and shipping are computed for this country.

## `currency` (type: `string`):

Currency for prices, e.g. USD, EUR, BRL. Shipping costs come in the same currency.

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

Residential proxies (default) work best: AliExpress allows about 10 products per IP, and the Actor switches IPs automatically. Proxy traffic is small (about 25 KB per product).

## `maxRetries` (type: `integer`):

How many fresh sessions (new proxy IP) to try for a product when AliExpress shows a bot check.

## `concurrency` (type: `integer`):

Products fetched in parallel in HTTP mode.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.aliexpress.com/item/1005013092454380.html",
    "https://www.aliexpress.com/item/3256812858197446.html"
  ],
  "maxItems": 50,
  "shipTo": "US",
  "currency": "USD",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxRetries": 20,
  "concurrency": 3
}
```

# Actor output Schema

## `products` (type: `string`):

Table view of the extracted products in the default dataset.

## `productsFull` (type: `string`):

Every field of every product, including variants, shipping options and attributes.

# 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/1005013092454380.html",
        "https://www.aliexpress.com/item/3256812858197446.html"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("improved_knot_vyk/aliexpress-product-details-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/1005013092454380.html",
        "https://www.aliexpress.com/item/3256812858197446.html",
    ],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("improved_knot_vyk/aliexpress-product-details-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/1005013092454380.html",
    "https://www.aliexpress.com/item/3256812858197446.html"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call improved_knot_vyk/aliexpress-product-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,improved_knot_vyk/aliexpress-product-details-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/9sy7kB7rbWMf7klhh/builds/T17Ndbbjd445unie6/openapi.json
