AliExpress Products Scraper
Extract public AliExpress product pages and direct search cards with product IDs, prices, ratings, reviews, orders, stores and images.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
searchQueries,productUrls,maxItems(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
searchQueries | What to search AliExpress for. One row is returned per product found. | array |
productUrls | Or paste AliExpress search URLs instead of typing terms — the keyword is read out of the URL. | array |
maxItems | Total products across all search terms. | integer |
currency | Currency prices are returned in. AliExpress decides this from the exit address unless it is pinned, so leaving it set keeps every row in one currency. | string |
country | Country used for pricing and availability, as a two-letter code. | string |
requestDelayMs | Gap between page requests. Raise it if runs start hitting rate limits. | integer |
What you get
A structured dataset — each result includes fields like:
titlepriceoriginalPricediscountPercentcurrencyratingordersisChoiceproductUrlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
Related tools in E-commerce & Price Tools
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Taobao Category Products Scraper
Scrape Taobao products by category. 20 categories, prices in CNY, seller and shop IDs, product URLs. No account, no cookies. $1.95 per 1,000 products.
Amazon Product & Reviews Scraper
Scrape Amazon product details, prices, ratings and reviews by ASIN or keyword search across any marketplace. No login or API key needed.
Shopify Products Scraper
Scrape any Shopify store's full catalog: product titles, prices, variants, SKUs, stock and images. No API key or login. Export to JSON, CSV or Notion.
Structured Product Price & Stock Monitor — JSON-LD / Shopify
Track product price and stock from a store's own JSON-LD/Shopify data. Get price-drop and restock events plus Slack/Discord alerts. No API key.
eBay Sold Listings Scraper
Get eBay sold and completed listings with sale price, shipping, sold date and condition. 9 marketplaces, no eBay API key. $0.70 per 1,000 listings.
1688 Wholesale Scraper
Scrape 1688.com wholesale listings: product ID, title, unit price, quantity price tiers, minimum order quantity, supplier company, sales counts.
Where this tool sits
- Categories
- E-commerce & Price Tools
AliExpress Products Scraper
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 a flat rate — no volume tiers to unlock, no plan gates, and no minimum spend. Most AliExpress scrapers charge several times this per 1,000, with a larger run-start fee on top.
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_asc returned results identical to the default, and sortType=... 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
maxItems means 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.