AliExpress Products Scraper
Pricing
Pay per event
AliExpress Products Scraper
Extract public AliExpress product pages and direct search cards with product ID, title, price, rating, orders, store, image, and URL. Keyless direct HTTP first; optional residential fallback makes one retry only after a block.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Search AliExpress and get structured product rows back: product ID, title, current price, the price it was before the discount, discount percentage, star rating, order count, image and product URL.
No AliExpress account, no API key, no browser, no proxy of your own. Type a search term, get rows.
Price
$0.12 per 1,000 products, plus $0.001 to start a run.
That is the lowest price for AliExpress product data on Apify. The next cheapest charges $0.14 per 1,000 with a $0.005 start fee; after that the field jumps to $0.90, and the two most-installed AliExpress scrapers charge $1.50 and $2.00 per 1,000.
You are charged per product row returned. A run that finds nothing costs only the start fee, and sample and diagnostic rows are never charged.
| Products | Cost |
|---|---|
| 500 | $0.06 |
| 1,000 | $0.12 |
| 10,000 | $1.20 |
| 100,000 | $12.00 |
Prices come back in one currency
AliExpress decides display currency from wherever the request came from. Left alone, a scraper that rotates through proxies returns some rows in USD, some in CAD, some in EUR — with nothing in the row saying which, unless you check every one. This happened during development: identical searches came back in CAD and USD depending on the exit address.
This Actor pins currency and ship-to country for every request, so price means one thing across the
whole dataset. Set currency to USD, EUR, GBP, CAD, AUD, BRL, RUB, JPY, KRW or INR. Verified on a
real run: 150 rows requested in EUR came back 150/150 in EUR.
What a row looks like
{"productId": "1005010018401645","title": "Leather Phone Case For iPhone 17 Pro Max 16 18 Pro Max 13 11 15 14 Plus 12 Shockproof Soft TPU Funda Cover","productUrl": "https://www.aliexpress.com/item/1005010018401645.html","price": 1.39,"originalPrice": 2.96,"discountPercent": 53,"currency": "EUR","rating": 4.6,"orders": 18096,"ordersText": "10,000+ sold","imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sc2976671fe8c4f6b83e3de29cab49c3fH.jpg","isChoice": true,"isAd": false,"searchKeyword": "phone case","page": 1,"position": 7,"scrapedAt": "2026-08-09T07:02:11.031Z"}
orders is the exact number AliExpress tracks internally. ordersText is the rounded badge shown on
the page — "10,000+ sold" for the same product above. Both are included because the badge is what a
buyer sees and the number is what you can sort on.
Field coverage
Measured over a real 150-row run:
| Field | Present |
|---|---|
productId, title, productUrl, price, currency, imageUrl | 100% |
orders, ordersText | 99% |
rating | 97% |
discountPercent | 39% |
originalPrice | 29% |
originalPrice and discountPercent are only present where the seller is actually running a
markdown. Most listings are sold at one price, and those rows get null rather than a copy of the
current price dressed up as a discount.
Input
| Field | What it does |
|---|---|
searchQueries | What to search for. One row per product found. |
productUrls | Or paste AliExpress search URLs — the keyword is read out of the URL. |
maxItems | Total products across all terms. Default 40, ceiling 5,000. |
currency | Currency every price is returned in. Default USD. |
country | Two-letter ship-to country used for pricing. Default US. |
requestDelayMs | Gap between page requests. Default 800. |
{"searchQueries": ["phone case", "wireless earbuds"],"maxItems": 1000,"currency": "USD","country": "US"}
Run it with no input and you get one labelled sample row, uncharged, so you can see the shape before spending anything.
Limits
Read this part before you build on it.
- No sorting. AliExpress's mobile listings serve one order — its own relevance ranking. The
desktop sort parameters were tested against it and do nothing:
sort=price_ascreturned results identical to the default, andsortType=...returned a page with no results at all. Rather than expose a dropdown that silently changes nothing, there isn't one. Sort the dataset yourself. - About 20–25% of rows are paid placements. They are real listings and are marked
isAd: true, so you can filter them. - No seller or store fields. AliExpress removed store name, seller ID and seller country from its search cards. Nothing in the response carries them, so no store column is returned rather than one that is always empty.
- No review text or shipping cost. Both live on the product page, which this does not open.
ordersis lifetime, not recent — it is the cumulative count AliExpress reports.- 20 products per page, so a 1,000-product run is 50 requests.
- Results reshuffle between pages. Products are de-duplicated by ID as they are collected, so
maxItemsmeans unique products.
FAQ
Do I need an AliExpress account or API key? No. Everything it reads is public.
Do I need residential proxies? No, and it deliberately does not offer them. See "How it works".
How fast is it? 1,000 products in 139 seconds on the default settings.
What does it cost to scrape 1,000 AliExpress products? $0.12, plus the $0.001 start fee.
How deep can it go on one search term?
Page 60 was still serving a full 20 results in testing, with no ceiling found. Depth is limited by
maxItems, not by the site.
Can I get prices in my own currency?
Yes — set currency and country. Every row in the run comes back in that currency.
Is isChoice the same as the AliExpress Choice badge?
Yes, it flags listings in the Choice programme.
Can I export to CSV or Excel? Yes — Apify exports the dataset as JSON, CSV, Excel or XML, with a REST endpoint for the same data.
Is this affiliated with AliExpress or Alibaba? No. It reads public listing data. Check AliExpress's terms and your own local rules before using the output commercially.
How it works
www.aliexpress.com is behind Alibaba's punish gate. It serves results for a while — roughly twenty
requests during testing — and then refuses every exit address and keeps refusing. Measured after
that point: Apify datacenter 0 of 10, rented static-ISP addresses 0 of 3, and an ordinary home
connection, all returning the same 2 KB challenge script. Switching TLS fingerprints did not help.
This is why AliExpress scrapers usually cost what they cost: they answer it with headless browsers
and residential bandwidth, and bill that through.
m.aliexpress.com is a different gate. On the very same address that www had just refused, the
mobile host returned a full 290 KB result page, and plain datacenter addresses then served pages 1
through 60 without a single refusal. It also server-renders its results into the HTML, so there is
one request per 20 products and no API to reverse-engineer.
No browser, no residential bandwidth, no Chinese IP. That is the whole reason this can be the cheapest AliExpress scraper on the platform and still make money.