AliExpress Scraper - Products, Prices & Orders
Scrape AliExpress search and category results: price, discount, rating and order count as a number.
Scrape AliExpress search and category results: price, discount, rating and order count as a number. Several keywords per run, or paste links with their filters. No seller data.
$3.00 / 1,000 · 100.0% success over 27 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
What you give it
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
keywords |
string | What to search for, exactly as you would type it into AliExpress. | usb cable |
moreKeywords |
array | More searches in the same run, one per line, with the same filters. maxItems is shared between them. | - |
startUrls |
array | Paste the address of a search (/w/wholesale-...html) or category (/category/...html) results page. Sorting, price band and other filters in the link apply. When links are given, the keyword fields and the filters below are not used. Product and store pages are refused, with the reason. |
- |
shipTo |
string | Which country the prices are for. AliExpress shows different offers and a different currency per destination, so this decides what you get - not just the exchange rate. Applies to links too. | US |
sortBy |
string | How AliExpress should order the results. 'Most orders' is the useful one for finding what actually sells. | - |
minPrice |
integer | Only products at or above this price, in the currency AliExpress serves you. | - |
maxPrice |
integer | Only products at or below this price. | - |
freeShipping |
boolean | Only products AliExpress flags as free shipping. | False |
maxItems |
integer | Stop after this many products in total, across every search and link. One page carries 60. | 200 |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"currency": "EUR",
"discountPercent": 12,
"imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/S11690960ec75424cb4d713633c037003x.jpg",
"ordersCount": 10000,
"ordersText": "10.000+ verkauft",
"originalPrice": null,
"price": 45.59,
"priceFormatted": "€ 45,59",
"productId": "1005009519310498",
"rating": 4.9,
"title": "Herbst-Damen-Trainingsanzug mit Reißverschluss und Hose, Gary, lässiges zweiteiliges Set, lässiger gelber Hose, Sportanzug mit Kapuze",
"url": "https://www.aliexpress.com/item/1005009519310498.html"
}
| Field | Type | Meaning |
|---|---|---|
productId |
string | AliExpress product id. |
title |
string | Product title as listed. |
url |
string | Canonical product URL, tracking stripped. |
price |
['number', 'null'] | Current sale price for the Ship to country, in the currency named by the currency field. |
currency |
['string', 'null'] | Currency of the price - the currency of the Ship to country. |
priceFormatted |
['string', 'null'] | Price exactly as AliExpress printed it. |
originalPrice |
['number', 'null'] | Pre-discount price when shown. |
discountPercent |
['number', 'null'] | Discount against the original price, when there is one. |
rating |
['number', 'null'] | Average star rating out of 5. |
ordersCount |
['number', 'null'] | How many orders the listing reports, as a number. |
ordersText |
['string', 'null'] | The orders line as AliExpress printed it, in its own language. |
imageUrl |
['string', 'null'] | Product thumbnail. |
Health
100.0% success over 27 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.