AliExpress Product Search Scraper & API - Prices, Orders
Pricing
from $1.50 / 1,000 results
AliExpress Product Search Scraper & API - Prices, Orders
AliExpress scraper for product research and dropshipping: search by keyword, search URL or category and get price, original price, discount, rating, exact orders sold, store, Choice and ad flags, delivery days, images and URL. Any ship-to country and currency. 1,000 products = $1.50.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Giovanni Rich
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 hours ago
Last modified
Categories
Share
AliExpress scraper for product research: give it keywords, AliExpress search URLs or category URLs and get the product list as clean JSON, CSV or Excel, with price, original price, discount, star rating, exact orders sold, store, AliExpress Choice and ad flags, delivery days and the product URL. It works as an AliExpress search scraper, an AliExpress product scraper for dropshipping product research, and an unofficial AliExpress API, with prices calculated for the ship-to country and currency you choose (US / USD by default).
It reads the page data AliExpress already sends over plain HTTP, with no headless browser and no login, so 600 products take about a minute.
What you get
One dataset item per product, in the order AliExpress shows them:
- Identity:
productId,title,url(https://www.aliexpress.com/item/<id>.html),imageUrl,images(all card images),categoryIdandcategoryPath(AliExpress category IDs),listedAt(date the listing went live). - Price:
price(the price on the card),originalPrice(strike-through),discountPercent,currency. AliExpress shows first-time buyers a welcome price on many cards; those rows havepriceIsNewShopperDeal: true,newShopperSavings("New shoppers save $21.89") andregularPrice(= price + savings) so you can compare like with like. - Demand:
rating(0-5),ordersCount(exact count when AliExpress exposes it, otherwise parsed from "10,000+ sold"),ordersText. - Seller and delivery:
storeName(when AliExpress includes it on the card),isChoice,isAd,tags("Free shipping", "Top selling on AliExpress", "Delivery: Oct 13 - 16"...),deliveryDaysMin/deliveryDaysMaxanddeliveryDateMin/deliveryDateMaxfor the ship-to country. - Context:
position(overall rank across pages),page,keyword,shipToCountry,searchUrl,scrapedAt.
A RUN_SUMMARY record in the key-value store lists per-search counts, pages read, AliExpress's reported total and why each search stopped.
Sample output
Real rows from a run for "mechanical keyboard", US / USD (from sample-output.json):
| title | price | originalPrice | rating | ordersCount | isChoice | deliveryDaysMax |
|---|---|---|---|---|---|---|
| AJAZZ AK820 and AK820PRO Mechanical Gaming Keyboard 75% Layout PBT ... | 21.70 | 60.83 | 4.9 | 34,938 | true | 13 |
| Akko MonsGeek FUN68 FUN60 PRO&MAX HE Magnetic Keyboard 60% 65% Gaming ... | 32.55 | 69.24 | 4.9 | 22,237 | true | 13 |
| AJAZZ NK61 Wired Mechanical Gaming Keyboard, Supports Full-Key Hot-Swap ... | 11.87 | 41.22 | 4.9 | 16,991 | true | 13 |
Use cases
- Dropshipping research: sort by orders, filter by price and free shipping, and shortlist products with 10,000+ orders and 4.7+ ratings.
- Price monitoring: schedule the same keywords daily and track
price,regularPriceanddiscountPercentover time. - Market sizing: compare
ordersCountand the total result count across niches and countries. - Supplier sourcing: collect listings for a category, then open the best product URLs.
- AI agents: one call returns structured product data an agent can rank, filter and summarise.
Pricing
$1.50 per 1,000 products (pay per result; failed requests are never charged). The two most-used AliExpress scrapers on the Store charge $8.00 and $9.00 per 1,000.
| You scrape | You pay |
|---|---|
| 100 products | $0.15 |
| 1,000 products | $1.50 |
| 10,000 products | $15.00 |
| 100,000 products | $150.00 |
Plus a $0.00005 start fee per run. The Apify free plan's $5 monthly credit covers about 3,000 products. The prefilled input ("phone case", 20 products) finishes in about 8 seconds and costs about $0.03.
Why this one
- Exact orders sold per product, the number dropshippers use to spot proven winners (sort by
orders). - Prices for your market: any ship-to country and currency, with new-shopper deals flagged so you compare like with like.
- AliExpress Choice and ad flags, delivery days and store info on every row.
- Fast and cheap: no browser, about 600 products a minute.
FAQ
Is it legal to scrape AliExpress? It collects only publicly visible product listing data, no personal data and nothing behind a login. You're responsible for using it in line with AliExpress's terms and applicable law. This is not legal advice.
Does it need a login, cookies or a browser? No. Plain HTTPS requests only, which keeps it fast and cheap.
How fast is it and how many results can I get? About a minute for 600 products. AliExpress shows 60 products per page and at most 60 pages per search (up to 3,600 per keyword); duplicates are dropped and never charged.
Can I get prices in euros or pounds, for another country?
Yes. Set currency (EUR, GBP, CAD, AUD, BRL, PLN...) and shipToCountry (DE, GB, CA, AU...). Delivery estimates follow the ship-to country. Very low prices like $1.09 are usually new-shopper deals, flagged priceIsNewShopperDeal: true.
Can I schedule it, use it via API, and which proxy do I need? Yes, run it on an Apify schedule or through the API, Make, Zapier, n8n or MCP. The default Apify datacenter proxy works; captcha or 403/429 replies are retried on a fresh IP (8 retries by default). Switch to RESIDENTIAL only if you see repeated captcha retries. It does not scrape product pages or reviews.
How to use
- Enter one or more Search keywords (e.g.
phone case,mechanical keyboard) and pick a Sort order (ordersfinds proven best sellers). Optionally set Min / Max price, Free shipping only and AliExpress Choice only. Or paste full AliExpress search or category URLs with filters already applied. - Set Ship-to country and Currency (default US / USD), and Max products per search (default 60 = one page; up to 3,600). Untick Include ads for organic results only.
- Click Start. Download the results as JSON, CSV, Excel or HTML from the Output tab, or pull them through the Apify API, Make, Zapier, n8n or an MCP client.
Input example
{"keywords": ["wireless earbuds", "led strip lights"],"sort": "orders","shipToCountry": "DE","currency": "EUR","maxItemsPerSearch": 300,"includeAds": false}
URLs work too:
{"searchUrls": ["https://www.aliexpress.com/w/wholesale-phone-case.html?SortType=total_tranpro_desc","https://www.aliexpress.com/category/100003109/women-clothing.html"],"maxItemsPerSearch": 120}
Output example
Real item from a cloud run (phone case, US / USD):
{"position": 1,"productId": "1005010018401645","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","price": 1.33,"originalPrice": 3.31,"discountPercent": 60,"currency": "USD","priceIsNewShopperDeal": true,"newShopperSavings": null,"regularPrice": null,"rating": 4.6,"ordersCount": 27061,"ordersText": "20K+ sold","storeName": "Caynes Store","isAd": false,"isChoice": true,"tags": [],"deliveryDaysMin": 7,"deliveryDaysMax": 13,"deliveryDateMin": "2026-10-16","deliveryDateMax": "2026-10-22","categoryId": "202229403","categoryPath": ["202192403", "202228401", "202229403"],"listedAt": "2025-09-22","imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sc2976671fe8c4f6b83e3de29cab49c3fH.jpg","url": "https://www.aliexpress.com/item/1005010018401645.html","page": 1,"keyword": "phone case","shipToCountry": "US","searchUrl": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone+case","scrapedAt": "2026-10-09T17:19:38.184Z"}
API example
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("rel8ble/aliexpress-search-scraper").call(run_input={"keywords": ["phone case", "mechanical keyboard"], "sort": "orders", "maxItemsPerSearch": 60, "shipToCountry": "US", "currency": "USD"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"][:60], item["price"], item["ordersCount"])
One HTTP call that runs the actor and returns the rows (curl):
curl -X POST "https://api.apify.com/v2/acts/rel8ble~aliexpress-search-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"keywords": ["phone case", "mechanical keyboard"], "sort": "orders", "maxItemsPerSearch": 60, "shipToCountry": "US", "currency": "USD"}'
Integrations
- API: start runs and read datasets over the Apify REST API or the JavaScript / Python clients.
- MCP / AI agents: call it from Claude, ChatGPT or any MCP client through the Apify MCP server; inputs and outputs are documented field by field.
- No-code: Make, Zapier, n8n, Google Sheets, Airtable, Slack, webhooks.
- Scheduling: run hourly, daily or weekly in Apify Schedules to track prices and orders.
Limits (read before large runs)
- AliExpress shows 60 products per page and at most 60 pages per search. Sorting by orders or narrowing by price returns more distinct products than one broad search.
- Pages can repeat a few products; duplicates are dropped (and not charged), so a page sometimes adds fewer than 60.
storeNameis only on cards where AliExpress includes it (mostly ads); open the product URL for full store data.
How it works (for developers)
AliExpress search pages (/w/wholesale-<keyword>.html?page=N) and category pages embed the full result list as JSON in window._dida_config_._init_data_. The actor extracts that object with a string-aware brace scanner (no eval), reads mods.itemList.content and pageInfo, and maps each card: prices from prices.salePrice / originalPrice (or the tracking map when a welcome card hides them), exact orders from real_trade_count, delivery from delivery_info, category IDs from the card trace. Ship-to country, currency and language are set with the aep_usuc_f cookie. Pagination stops at maxItemsPerSearch, the last page, or when a page adds nothing new.
Run it locally:
npm installnpm test # parser tests on saved fixtures (US, DE/EUR, GB/GBP, category)node src/main.js # input in storage/key_value_stores/default/INPUT.json