# AliExpress Scraper - Products, Prices, Orders Sold & Ratings (`get_anything/aliexpress-scraper`) Actor

Scrape AliExpress search results by keyword or URL: price, original price, discount, units sold, rating, ship-from, free shipping, Choice and best-seller badges, attributes, images. Any ship-to country and currency. Monitor mode: only new products and price changes. No login.

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

## Pricing

from $1.26 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Scraper - Products, Prices, Orders Sold & Ratings

Scrape **AliExpress search results** by keyword or search URL and get every product card as clean data:

- 💲 **Price, original price and discount %**, in the currency and ship-to country you choose (USD, EUR, GBP, SGD, AED, CNY...).
- 📦 **Units sold** (`2,000+ sold` → `2000`) and **star rating**: the fastest way to spot proven winners.
- 🚚 **Ships from** (CN, US, ES, FR...), **free shipping**, **delivery days**, **Choice** and **Top selling** badges.
- 🏷️ **Product attributes** (brand, material, connector...), selling points ("30-day lowest price", bulk discounts), images and listing date.
- 🔁 **Monitor mode:** schedule it and get only **new products and price drops/increases** since the last run.

Search in any language (`wireless earbuds`, `蓝牙耳机`, `funda iphone`), sort by **most orders**, filter by price, or paste a search URL to keep the filters you set on AliExpress. Up to 3,600 products per search. No login, no cookies, no API key.

**中文简介：** 采集速卖通（AliExpress）搜索结果：价格、原价、折扣、销量、评分、发货地、包邮、Choice 与热销标签、商品属性、图片。支持任意收货国家与币种，支持按销量排序与价格筛选。监控模式只返回新品和价格变动。无需登录。

### What you can do with it

- **Dropshipping product research:** find best sellers (sort by orders) in a niche and price band, with sold counts and ratings.
- **Price monitoring:** track competitors' AliExpress prices daily with monitor mode and get price drops as they happen.
- **Sourcing for Shopify, Amazon and TikTok Shop sellers:** compare suppliers, ship-from warehouses and delivery times.
- **Market research:** how many products, at what prices, sell how much, per country and currency.
- **AI agents and LLMs:** ask an assistant to find trending products and it calls this Actor for live data.

### Input

| Field | Description |
|---|---|
| `searchKeywords` | What to search, one per line. Any language. |
| `searchUrls` | Optional AliExpress search URLs (`aliexpress.com/w/wholesale-...`). Filters in the URL are kept. |
| `maxResultsPerSearch` | Default 60 (one page). Up to 3,600. `0` = all. |
| `sortBy` | `best-match`, `orders` (best sellers), `price-low`, `price-high`. |
| `minPrice` / `maxPrice` | Price band, in the chosen currency. |
| `shipToCountry` | `US` by default. Prices and shipping follow it (`GB`, `DE`, `SG`, `AE`, `SA`, `AU`, `BR`...). |
| `currency` | `USD` by default (`EUR`, `GBP`, `SGD`, `AED`, `CNY`...). |
| `onlyChanges` | Monitor mode: return only new products and price changes since the last run. |

```json
{
  "searchKeywords": ["wireless earbuds", "phone holder car"],
  "sortBy": "orders",
  "minPrice": 5,
  "maxPrice": 30,
  "maxResultsPerSearch": 120,
  "shipToCountry": "US",
  "currency": "USD"
}
```

### Output

```json
{
  "resultType": "product",
  "productId": "3256812550576374",
  "title": "TWS Wireless Bluetooth Headset LED Display Gamer Earbuds with Mic ...",
  "url": "https://www.aliexpress.com/item/3256812550576374.html",
  "price": 6.53,
  "originalPrice": null,
  "discountPercent": 74,
  "currency": "USD",
  "priceText": "US $6.53",
  "sold": 90000,
  "soldText": "90K+ sold",
  "rating": 4.9,
  "shipFrom": "US",
  "freeShipping": true,
  "deliveryDays": 4,
  "choice": false,
  "bestSeller": false,
  "attributes": ["True Wireless", "Plastic", "With Microphone", "Type C"],
  "sellingPoints": ["Fastest delivery in 4 days", "Free shipping"],
  "image": "https://ae-pic-a1.aliexpress-media.com/kf/S623d5c89....jpg",
  "images": ["..."],
  "listedAt": "2026-07-15",
  "searchQuery": "wireless earbuds",
  "page": 1,
  "position": 1,
  "totalResults": 5727
}
```

In monitor mode each row also has `changeTypes` (`new`, `price_drop`, `price_increase`), `previousPrice` and `previousSold`.

### Use it from ChatGPT, Claude & AI agents

This Actor works as a tool for AI assistants through the **Apify MCP server**:

- **Claude, ChatGPT, Cursor, VS Code, Windsurf:** add this MCP server URL as a connector and sign in with your Apify account:

  ```
  https://mcp.apify.com/?tools=get_anything/aliexpress-scraper
  ```

- **Claude Desktop / Cursor config:**

  ```json
  { "mcpServers": { "apify": { "url": "https://mcp.apify.com/?tools=get_anything/aliexpress-scraper" } } }
  ```

- **REST / GPT Actions / LangChain:** `POST https://api.apify.com/v2/acts/get_anything~aliexpress-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN`

Then ask, for example: *"Find the 20 best-selling wireless earbuds on AliExpress under $30 that ship from the US, with ratings."*

### Pricing

Pay per product returned, plus a tiny start fee. In monitor mode you only pay for the new or changed products that are returned. See the Pricing tab.

### FAQ

**Do I need an AliExpress account?** No. It reads the same search pages any visitor sees.

**Why is `originalPrice` sometimes empty?** AliExpress doesn't show a crossed-out price on every card. `discountPercent` is still filled when AliExpress shows a discount.

**Can I get full product pages, variants or reviews?** Not in this version. It covers search and listing data: price, sold, rating, shipping and badges.

**Why so few results for India?** AliExpress shows very few products for ship-to country India.

**Do I need a proxy?** The default Apify datacenter proxy is enough. If AliExpress shows its slider check, the page is fetched again from a fresh IP.

# Actor input Schema

## `searchKeywords` (type: `array`):

What to search on AliExpress, one per line. Any language works ('wireless earbuds', '蓝牙耳机', 'funda iphone').

## `searchUrls` (type: `array`):

Optional. Paste AliExpress search result URLs (aliexpress.com/w/wholesale-...) to keep the filters you set on the site. Sort and price inputs below are ignored for these.

## `maxResultsPerSearch` (type: `integer`):

How many products to return per keyword or URL. AliExpress shows 60 per page and up to 3,600 per search. 0 = all.

## `sortBy` (type: `string`):

Order of results for keyword searches.

## `minPrice` (type: `integer`):

Optional. Only products at or above this price (in the chosen currency).

## `maxPrice` (type: `integer`):

Optional. Only products at or below this price (in the chosen currency).

## `shipToCountry` (type: `string`):

Two-letter country code that prices, shipping and availability follow (US, GB, DE, FR, SG, AE, SA, AU, CA, BR...). Note: AliExpress shows very few products for India (IN).

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

Three-letter currency code for prices (USD, EUR, GBP, SGD, AED, CNY, BRL...).

## `onlyChanges` (type: `boolean`):

Remember each search's products and return only products that are new or whose price went up or down since the last run (with previousPrice). The first run returns everything as 'new'. Schedule it daily for price tracking.

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

Apify Proxy keeps runs reliable: if AliExpress shows its slider check, the page is retried from a fresh IP. The default datacenter proxy works well.

## Actor input object example

```json
{
  "searchKeywords": [
    "wireless earbuds"
  ],
  "maxResultsPerSearch": 20,
  "sortBy": "best-match",
  "shipToCountry": "US",
  "currency": "USD",
  "onlyChanges": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

One item per AliExpress product from the searches.

# 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 = {
    "searchKeywords": [
        "wireless earbuds"
    ],
    "maxResultsPerSearch": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("get_anything/aliexpress-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 = {
    "searchKeywords": ["wireless earbuds"],
    "maxResultsPerSearch": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("get_anything/aliexpress-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 '{
  "searchKeywords": [
    "wireless earbuds"
  ],
  "maxResultsPerSearch": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call get_anything/aliexpress-scraper --silent --output-dataset

```

## MCP server setup

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