AliExpress Products Scraper
Pricing
Pay per event
AliExpress Products Scraper
The price on an AliExpress card is usually a discounted one, so the row carries the original and the discount percent beside it, with product ID, title, star rating, order count, image and product URL. One search term in, one row per product.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Type a search term, get product rows back: productId, title, price, originalPrice,
discountPercent, rating, orders, ordersText, imageUrl, isChoice, isAd and a canonical
productUrl.
It reads AliExpress search listings. No account, no API key, no browser, no proxy of your own.
$0.12 per 1,000 products, plus $0.001 to start a run. Flat on every plan, charged per row returned. A run that finds nothing costs the start fee.
| Products | Cost |
|---|---|
| 500 | $0.061 |
| 1,000 | $0.121 |
| 10,000 | $1.201 |
Every price in one currency
AliExpress picks display currency from wherever the request came from. Leave that alone and a scraper rotating through proxies hands you some rows in USD, some in CAD, some in EUR, with nothing on the row telling you which. That happened during development: identical searches came back in CAD and USD depending on the exit address.
This pins currency and ship-to country on every request, so price means one thing across the whole
dataset. Pick from 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.
A row
{"productId": "1005010018401645","title": "Leather Phone Case For iPhone 17 Pro Max 16 Pro Max 15 14 Plus Shockproof Soft TPU 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 a buyer
sees on the page. Both are there because the badge is what shoppers react to and the number is what
you can sort on.
Field coverage over a real 150-row run: productId, title, productUrl, price, currency and
imageUrl on 100%; orders and ordersText on 99%; rating on 97%; discountPercent on 39%;
originalPrice on 29%.
originalPrice and discountPercent only exist where the seller is running an actual markdown.
Most listings sell at one price, and those rows get null rather than a copy of the current price
dressed up as a discount.
Input
{"searchQueries": ["phone case", "wireless earbuds"],"maxItems": 1000,"currency": "USD","country": "US"}
| Field | What it does |
|---|---|
searchQueries | What to search for. One row per product found. |
productUrls | 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 comes back in. Default USD. |
country | Two-letter ship-to country used for pricing. Default US. |
requestDelayMs | Gap between page requests. Default 800. |
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 bit before you build on it.
- Search results only. It does not open individual product pages. Despite the field name,
productUrlstakes search URLs and reads the keyword out of them. Feed it an item page and you get aBAD_INPUTrow. - No sorting. AliExpress's mobile listings serve one order, their 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 ship a dropdown that silently changes nothing, there isn't one. Sort the dataset yourself. - Roughly 20-25% of rows are paid placements. They're real listings, marked
isAd: true, so filter them if you don't want 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 there's no store column rather than one that's always empty.
- No review text and no shipping cost. Both live on the product page, which this doesn't open.
ordersis lifetime, not recent. It's the cumulative count AliExpress reports.- 20 products per page, so a 1,000-product run is 50 requests.
- Results reshuffle between pages. Rows are deduplicated by
productIdas they're collected, somaxItemsmeans unique products.
Why it can be this cheap
www.aliexpress.com sits behind Alibaba's punish gate. It serves results for roughly twenty
requests 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. Changing TLS fingerprint didn't help. That gate is why
AliExpress scrapers usually answer with headless browsers and residential bandwidth, and bill it
through.
m.aliexpress.com is a different gate. On the very same address 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 results into the HTML, so it's one request per
20 products with no API to reverse-engineer.
No browser, no residential bandwidth, no Chinese IP. That's the whole reason $0.12 per 1,000 works.
FAQ
Do I need an account or API key? No. Everything it reads is public.
Do I need residential proxies? No, and it deliberately doesn't offer them. See above.
How fast is it? 1,000 products took 139 seconds with the default 800 ms gap between page requests.
How deep can one search term go? Page 60 was still serving a full 20 results in testing, with no
ceiling found. Depth is bounded by maxItems, not by the site.
Is isChoice the AliExpress Choice badge? Yes.
Affiliated with AliExpress or Alibaba? No. It reads public listing data. Check AliExpress's terms and your local rules before using the output commercially.