# AliExpress Search Scraper – Products & Prices (`unnoted/aliexpress-product-search`) Actor

Get AliExpress search results for any keyword: title, sale and original price, discount, units sold, star rating, image, Choice and ad flags, deal tags and position. Sort by best match, orders or price. Up to 3,600 products per search. Export JSON, CSV or Excel. No login needed. Unofficial.

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

## Pricing

from $2.25 / 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

### What does AliExpress Search Scraper – Products & Prices do?

AliExpress Search Scraper collects the search results of AliExpress.com for your keywords: product id and link, title, sale and original price, discount, units sold, star rating, image, deal tags, the Choice and ad flags and each product's position, as clean rows you can export or call by API.

Unofficial, not affiliated with AliExpress.

**Main features:** search by keyword, up to 100,000 products per run, no login needed, export to JSON, CSV or Excel, and full API and scheduling support on Apify.

### What data can you get from AliExpress?

Each product is one row with these fields:

| Field | Description |
|---|---|
| `productId` | AliExpress product id (always filled) |
| `url` | Link to the product page (always filled) |
| `title` | Product title as shown in the results (always filled) |
| `salePrice` | Price shown in the results (the lowest option's price, after the discount) |
| `originalPrice` | Price before the discount (empty when there is none) |
| `currency` | Currency of the prices (USD) |
| `discountPercent` | Discount in percent, as shown |
| `soldText` | Units sold as shown (e.g. 50,000+ sold) |
| `soldCount` | Units sold as a number (the lower bound of soldText, e.g. 50000) |
| `starRating` | Average star rating (0–5); empty for products without reviews |
| `imageUrl` | Main product image |
| `badges` | Text tags shown on the result (e.g. Free shipping, Delivery: Oct 15 - 19, Lowest price in 90 days) |
| `isChoice` | Whether the product carries the AliExpress Choice badge |
| `isAd` | Whether the result is a sponsored placement |
| `promotionText` | Promotion banner on the result (e.g. Dollar Express, FREE with any purchase) |
| `position` | Position in the results (1 = first result of page 1) |
| `page` | Results page it was found on (60 products per page) |
| `searchQuery` | The search term that found it |
| `scrapedAt` | When the product was collected (ISO 8601) |

### How to scrape AliExpress with AliExpress Search Scraper – Products & Prices

1. Open AliExpress Search Scraper – Products & Prices on Apify and go to the **Input** tab.
2. In **Search terms**, enter `phone case`.
3. In **Max products**, enter `60`.
4. Click **Start** and wait for the run to finish. A small run like this one takes under a minute.
5. Open the **Output** tab to see the results, or download them as JSON, CSV, Excel or HTML.

### Input

See the **Input** tab for every option. The fields:

| Field | Name | What it does | Default |
|---|---|---|---|
| `searchQueries` | Search terms | What to search for on AliExpress, one per line (e.g. phone case, usb c cable, led strip lights). Each search gives up to 3,600 products (60 pages of 60). |  |
| `sort` | Sort by | The order of the results, as on the AliExpress search page. Options: `bestMatch` (Best match), `orders` (Orders (most sold first)), `priceAsc` (Price (low to high)), `priceDesc` (Price (high to low)). | `"bestMatch"` |
| `maxItems` | Max products | Maximum number of products in total, across all searches. You pay only for products saved. | `100` |

Example input:

```json
{
  "searchQueries": [
    "phone case"
  ],
  "maxItems": 60
}
```

### Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. One real result:

```json
{
  "productId": "3256809832086893",
  "url": "https://www.aliexpress.com/item/3256809832086893.html",
  "title": "Leather Phone Case For iPhone 17 Pro Max 16 18 Pro Max 13 11 15 14 Plus 12 17 Air 17Promax Shockproof Soft TPU Funda Cover Coque",
  "salePrice": 1.33,
  "originalPrice": 3.35,
  "currency": "USD",
  "discountPercent": 60,
  "soldText": "10,000+ sold",
  "soldCount": 10000,
  "starRating": 4.6,
  "imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sc2976671fe8c4f6b83e3de29cab49c3fH.jpg",
  "badges": [],
  "isChoice": true,
  "isAd": false,
  "promotionText": "FREE with any purchase",
  "position": 1,
  "page": 1,
  "searchQuery": "phone case",
  "scrapedAt": "2026-10-08T06:30:56.982Z"
}
```

### How much does it cost to scrape AliExpress?

AliExpress Search Scraper – Products & Prices uses pay-per-event pricing: **$2.25 per 1,000 products** (Product). You pay only for products saved to the dataset; platform usage is included in the price. Each run also has Apify's standard start fee of a fraction of a cent.

| Products | Price |
|---|---|
| 100 | $0.23 |
| 1,000 | $2.25 |
| 10,000 | $22.50 |

Set **Max items** (and the run's maximum cost in the run options) to cap what a run can spend. The run stops when either limit is reached.

### Use cases

- **Dropshipping product research:** find what sells on AliExpress for a keyword, by units sold, rating and price.
- **Price monitoring:** schedule a search every day and track sale prices and discounts over time.
- **Competitor and market research:** see which products rank first for your keywords, and how many are sponsored or Choice.
- **Trend spotting:** compare the "sold" counts of new and old products for a niche.
- **Catalog building:** collect titles, images and prices for a list of keywords in one run.

### Tips

- Use **Sort by** "Orders" to get the best sellers first, or a price sort to find the cheapest and the most expensive offers.
- Each search gives up to 3,600 products (60 pages). For more, split it into narrower searches (e.g. "phone case iphone 16" and "phone case samsung").
- Products found by more than one search are saved once, so overlapping searches don't cost twice.
- Prices are the ones AliExpress shows a new visitor in the US, in US dollars. They can include new-shopper deals, so they may be lower than a returning buyer sees.
- Sponsored results are kept and marked with **isAd**, so you can filter them out or study them.

### FAQ

#### Is it legal to scrape AliExpress?

AliExpress Search Scraper – Products & Prices collects only data that AliExpress shows publicly to every visitor, and it leaves out personal data such as private profiles and contact details. Our Actors are ethical and do not extract private user data. Results could still contain personal data in titles or descriptions written by uploaders. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You are responsible for how you use the data.

#### Can I use it through an API?

Yes. Every Apify Actor has an API: start runs, pass input and read results over HTTP, or use the JavaScript and Python clients. See the **API** tab on the Actor page for ready-made examples.

#### Can I schedule runs and connect other apps?

Yes. Use Apify **Schedules** to run AliExpress Search Scraper – Products & Prices every hour, day or week, and integrations (Make, Zapier, Google Sheets, webhooks and more) to send the results where you need them.

#### Why did I get fewer results than expected?

The run stops at **Max items** or at the run's maximum cost, whichever comes first. AliExpress may also return fewer results for rare search terms. Duplicates across search terms are saved once. Check the run's `RUN_SUMMARY` record in the key-value store for the inputs that returned nothing.

#### What if it stops working?

Sites change. We run a daily check of our own and fix breakages quickly. If something looks wrong, open an issue in the **Issues** tab with the run link and we'll look at it.

#### Why is originalPrice empty for some products?

AliExpress shows a price before the discount only for discounted products. salePrice is filled for every product with a price.

#### Why do some products say "FREE with any purchase"?

That is AliExpress's welcome deal for new shoppers. The page hides the price on those cards; salePrice still holds the product's listed price, and promotionText says which deal applies.

#### Can I get variants, descriptions or reviews?

Not in this Actor: it reads the search results only, which is why it is fast and cheap. Each result links to its product page.

#### What if a search finds nothing?

When no product matches, AliExpress shows unrelated suggestions instead. The Actor skips those, saves nothing for that search and says so in the log, so you are not charged for them.

### Not included

No personal data: buyer reviews, reviewer names and store contact details are not collected. Product variants, descriptions and shipping costs per country are not in the search results, so they are not included either.

### More Actors from us

- [BBB Scraper – Business Ratings & Accreditation](https://apify.com/unnoted/bbb-business-search)
- [Bilibili Scraper – Video Search & Stats API](https://apify.com/unnoted/bilibili-video-scraper)
- [Bumeran Jobs Scraper – LATAM Job Listings](https://apify.com/unnoted/bumeran-job-listings)
- [Foundit Jobs Scraper – India Job Listings API](https://apify.com/unnoted/foundit-job-listings)
- [Google Jobs Scraper – Job Listings API](https://apify.com/unnoted/google-jobs-listings)
- [Google Play Reviews Scraper – App Reviews API](https://apify.com/unnoted/google-play-reviews-scraper)
- [Google Trends Scraper – Interest & Related Queries](https://apify.com/unnoted/google-trends-data)
- [Idealo Scraper – Price Comparison Data](https://apify.com/unnoted/idealo-price-search)
- [Kleinanzeigen Scraper – Listings & Prices](https://apify.com/unnoted/kleinanzeigen-listings-scraper)
- [Mercari Japan Scraper – Listings & Prices API](https://apify.com/unnoted/mercari-japan-search)
- [Resident Advisor Scraper – RA Event Listings](https://apify.com/unnoted/resident-advisor-events)
- [Sainsbury's Scraper – UK Grocery Prices](https://apify.com/unnoted/sainsburys-grocery-search)
- [Tokopedia Scraper – Product Search & Prices](https://apify.com/unnoted/tokopedia-product-search)
- [Workday Jobs Scraper – Any Careers Site](https://apify.com/unnoted/workday-jobs-scraper)
- [Yandex Maps Scraper – Places & Business Data](https://apify.com/unnoted/yandex-maps-places)

# Actor input Schema

## `searchQueries` (type: `array`):

What to search for on AliExpress, one per line (e.g. phone case, usb c cable, led strip lights). Each search gives up to 3,600 products (60 pages of 60).

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

The order of the results, as on the AliExpress search page.

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

Maximum number of products in total, across all searches. You pay only for products saved.

## Actor input object example

```json
{
  "searchQueries": [
    "phone case"
  ],
  "sort": "bestMatch",
  "maxItems": 60
}
```

# Actor output Schema

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

One item per product.

## `runSummary` (type: `string`):

Items saved, inputs done, and how complete each field was.

# 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 = {
    "searchQueries": [
        "phone case"
    ],
    "maxItems": 60
};

// Run the Actor and wait for it to finish
const run = await client.actor("unnoted/aliexpress-product-search").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 = {
    "searchQueries": ["phone case"],
    "maxItems": 60,
}

# Run the Actor and wait for it to finish
run = client.actor("unnoted/aliexpress-product-search").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 '{
  "searchQueries": [
    "phone case"
  ],
  "maxItems": 60
}' |
apify call unnoted/aliexpress-product-search --silent --output-dataset

```

## MCP server setup

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

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/aHV8UWEFOaTTWaZyh/builds/b1nMlZ7Arypz0tw95/openapi.json
