AliExpress Product Scraper - Prices, Sales & Ratings
Pricing
from $0.90 / 1,000 products
AliExpress Product Scraper - Prices, Sales & Ratings
Scrape AliExpress search results by keyword: price, original price, discount percent, exact units sold, star rating, warehouse country, launch date and a sponsored-listing flag. Sort by price or orders, filter by price range. No login needed.
Pricing
from $0.90 / 1,000 products
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What is AliExpress Product Scraper?
AliExpress Product Scraper lets you extract full product listings from AliExpress search results by keyword, helping you find winning products before your competitors do, track competitor pricing, and build supplier shortlists without opening a single browser tab.
It returns the numbers AliExpress hides behind rounded badges. Where the site shows you "4,000+ sold", this actor gives you 4,285.
- π― Find winning products faster: sort by order volume and read the exact units sold, the launch date and the discount depth on every listing, so you can spot a product that is selling hard and only launched six weeks ago.
- π° Track competitor pricing: pull current price, original price and discount percent across hundreds of listings for any keyword, then re-run it on a schedule to watch prices move.
- π Filter by warehouse country: every row says whether the item ships from a US, CN or other local warehouse, which is the difference between a 3-day and a 30-day delivery promise for your customers.
- π§Ή Get clean data, not a mixed bag: AliExpress quietly injects paid placements and "free with any purchase" gift cards into its own search results. Every row here is flagged, so you can drop them in one filter instead of wondering why a fifth of your rows look wrong.
- π Export anywhere: JSON, CSV, Excel or Google Sheets, or pull it straight from the Apify API into your own pipeline.
What the AliExpress site will not do for you: the search UI gives you no export, no exact order counts, and no way to tell a sponsored card from an organic one. This actor gives you all three, at 60 products per page and up to about 3,600 products per keyword.
What data does AliExpress Product Scraper extract?
- π· Product title and product ID (
title,productId) - π Canonical product URL (
productUrl) - π² Current sale price, currency and formatted price (
price,currency,priceFormatted) - π· Original pre-discount price and discount percent (
originalPrice,discountPercent) - π¦ Exact units sold, unrounded (
soldCount), plus the rounded text AliExpress displays (soldText) - β
A flag telling you whether that sold count is exact or rounded (
soldCountIsExact) - βοΈ Star rating (
rating) - π Warehouse country the item ships from (
shipFromCountry) - π
Listing launch date (
launchedAt), the field that lets you find new products - π£ Sponsored placement flag (
isSponsored) - π Promotion type and label for gift and channel cards (
promotionType,promotionLabel) - π Promo badges such as "Free shipping" and "Lowest price in 90 days" (
badges) - πΈ Main image plus the full image gallery (
imageUrl,images) - π SKU ID of the priced variant (
skuId) - π The search term, source URL, page and on-page position each row came from
How to use AliExpress Product Scraper
- Click Try for free to open the actor in Apify Console.
- Type one or more keywords into Search terms, one per line. Any language works, including Chinese.
- Set Max results to cap your spend. This is the number you are billed on.
- Optionally pick a Sort by order, set a price range, or tick Exclude sponsored listings.
- Click Start, then export the results as JSON, CSV or Excel, or fetch them from the API.
Input
{"searchTerms": ["wireless earbuds", "phone case"],"maxItems": 500,"sortBy": "ordersDesc","minPrice": 5,"maxPrice": 50,"excludeSponsored": true,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Type | Notes |
|---|---|---|
searchTerms | array | Keywords to search. Each is walked page by page. |
maxItems | integer | Total row cap across all terms. 0 means no limit. Defaults to 200. |
sortBy | string | relevance, ordersDesc, priceAsc or priceDesc. |
minPrice / maxPrice | integer | USD price range. Applied by AliExpress itself. |
excludeSponsored | boolean | Drop paid placements entirely. |
maxPagesPerQuery | integer | Cap page depth per term, 1 to 60. |
startUrls | array | AliExpress /w/wholesale-*.html search URLs, if you would rather build the search on the site. |
proxyConfiguration | object | Defaults to Apify datacenter proxy, which is enough here. |
Output
One row per product. Trimmed to the interesting fields:
{"productId": "3256811621288203","title": "2026 New Air 3 Pro Bluetooth Wireless Earbuds, Active Noise Cancellation","productUrl": "https://www.aliexpress.com/item/3256811621288203.html","price": 24.12,"currency": "USD","originalPrice": 63.89,"discountPercent": 62,"rating": 4.9,"soldCount": 4285,"soldCountIsExact": true,"soldText": "4,000+ sold","shipFromCountry": "US","launchedAt": "2026-03-09","isSponsored": false,"promotionType": null,"badges": ["Free shipping"],"searchTerm": "wireless earbuds","page": 1,"position": 1,"...": "..."}
The dataset ships two ready-made table views: Overview for the whole result set, and Product research for the demand signals on their own (exact units sold, price, discount, rating, launch date and badges).
How much does it cost to scrape AliExpress?
A flat $0.90 per 1,000 products. No monthly rental, no per-run minimum, no separate charge for pagination.
| Results | Cost |
|---|---|
| 1,000 | $0.90 |
| 10,000 | $9.00 |
| 100,000 | $90.00 |
You are billed per row returned, so maxItems is a hard spend cap. The cheapest comparable AliExpress actor on the Apify Store charges $2.00 per 1,000 and the most expensive charges $5.00, so this runs at roughly 45% of the cheapest alternative.
Gift-promo cards and sponsored rows are billed like any other row, which is why excludeSponsored exists. A search that finds nothing returns a single explanatory row rather than a page of unrelated suggestions, so a bad keyword costs you one row instead of sixty.
Measured coverage
From 549 product rows across 19 QA cases, all run through the Apify datacenter proxy on 2026-09-08. The "real listings" column excludes the 109 unpriced gift-promo cards, which carry no price by design.
| Field | All rows | Real listings |
|---|---|---|
productId, title, productUrl, imageUrl | 100% | 100% |
price, currency | 80.1% | 100% |
soldCount | 100% | 100% |
soldCount exact rather than rounded | - | 100% |
shipFromCountry, skuId | 80.1% | 100% |
launchedAt | 100% | 100% |
originalPrice, discountPercent | 78.0% | 97.3% |
images gallery | 99.6% | 99.5% |
badges | 67.8% | 84.5% |
rating | 87.2% | 84.1% |
rating is genuinely absent on new listings that have no reviews yet, and originalPrice is absent when an item is not discounted. Those are real gaps in AliExpress's data, not scraping failures, and they come back as null rather than as a dropped row.
Sponsored placements made up 19.7% of all rows returned across those runs.
Limits
- About 3,600 products per keyword. AliExpress serves 60 products per page and stops at roughly 60 pages. For a bigger harvest, split the keyword into narrower ones or add a price range.
- No "newest first" sort. AliExpress does not honour one, so the actor does not pretend to offer it. Sort by
ordersDescand use thelaunchedAtfield to find recent listings instead. - Search results only. This actor reads search and category pages. It does not open individual product pages, so there are no per-variant SKU prices, shipping quotes, seller profiles or reviews.
- Prices are what AliExpress shows your session. AliExpress personalises pricing with new-shopper and bulk discounts, so a price here can differ from what a logged-in buyer sees at checkout.
totalResultsis an estimate. AliExpress's own result count drifts between requests for the same keyword, so the actor never uses it as a stopping condition and neither should you.- Very narrow keywords return one explanatory row. When AliExpress has no strong match it offers unrelated suggestions; those are suppressed on purpose so you are not billed for them.
FAQ
Is it legal to scrape AliExpress?
This actor reads only public product listings that AliExpress serves to any visitor with no login and no cookies. It collects no personal data and no account data. Scraping publicly available information is broadly lawful in the US and EU, but you are responsible for how you use the data, including complying with AliExpress's terms and with copyright and database rights in your jurisdiction. If you are unsure, take legal advice.
Do I need an AliExpress account or API key?
No. There is no login step, no cookie to paste and no API key. Paste a keyword and run it.
Can I use AliExpress Product Scraper as an API?
Yes. Every Apify actor is callable over REST. See the Apify API docs and the API tab on the actor page for ready-made snippets with your token filled in.
Can I use this in Python?
Yes, with apify-client:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("cirkit/aliexpress-product-search-scraper").call(run_input={"searchTerms": ["wireless earbuds"], "maxItems": 500, "sortBy": "ordersDesc"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"], item["soldCount"])
How do I schedule AliExpress Product Scraper to run automatically?
Use Apify Schedules to run it hourly, daily or on any cron expression, then have each run append to the same dataset or fire a webhook. Scheduling a daily run on your key keywords is how you build a price-history series.
Can I integrate it with other apps?
Yes. Apify has native integrations for Google Sheets, Slack, Zapier, Make, GitHub and Airtable, plus generic webhooks that fire when a run finishes. You can push results straight into a sheet without writing any glue code.
Why did I get fewer results than expected?
The usual causes, in order of likelihood:
maxItemscapped the run. It is a total across all search terms, and terms are processed in order, so a low cap can be used up entirely by the first keyword.- A price range that almost nothing matches. The actor stops after a few near-empty pages rather than paging through the whole catalogue on your budget. Widen the range.
- The keyword is too narrow. AliExpress returned unrelated suggestions instead of matches, and those are suppressed. Try a broader term.
- You hit the roughly 3,600-product ceiling for that keyword.
The run log names which of these applied.
Why is price null on some rows?
Those rows are AliExpress "free with any purchase" gift cards, which genuinely have no price. They are flagged with promotionType: "buyFree", so you can filter them out in one step. Across QA runs, every single unpriced row was one of these, and every real listing had a price.
What is the difference between soldCount and soldText?
soldText is the rounded badge AliExpress displays, such as "4,000+ sold". soldCount is the exact figure behind it, such as 4285. soldCountIsExact tells you which you got. On real listings in QA, the exact number was available 100% of the time.
Can I get a field that is not listed?
If it appears on the AliExpress search results page, it can probably be added. Open an issue on the actor's Issues tab with the field and an example URL.
You might also like
- Amazon Product Scraper for the same product research on Amazon
- eBay Product Scraper for resale and sold-comps pricing
- Etsy Shop Product Scraper for handmade and print-on-demand niches
- Google Shopping Scraper to compare a product's price across retailers
- Walmart Product Scraper and Target Product Scraper for US retail benchmarks
Changelog
0.1 (2026-09-08)
- First release. Keyword and start-URL search, four sort orders, price-range filtering, sponsored-listing exclusion, exact sold counts, warehouse country, launch date and gift-promo detection.