AliExpress Products Scraper
Pricing
from $0.12 / 1,000 products
AliExpress Products Scraper
Scrape AliExpress products by search term. Each row has product ID, title, price, star rating, order count, image and product URL. The price on AliExpress is usually a sale price. So you also get the old price and the discount percent.
Pricing
from $0.12 / 1,000 products
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
AliExpress Products Scraper: search results with prices, ratings and order counts
Type a search term and get the AliExpress listings back as rows. Product ID, title, canonical link, current price, the old price where there is a real markdown, star rating, lifetime order count, the image and the Choice badge.
It reads search listings and stops there. It does not open individual product pages, so there is no seller name, no review text and no shipping cost in the output.
| Input | Search terms, or AliExpress search URLs |
| Output | One row per product |
| Ceiling | 5,000 products per run |
| Account needed | None, and no API key |
| Price | $0.12 per 1,000 products, flat on every plan |
🔍 What AliExpress Products Scraper does
You give it terms like phone case or wireless earbuds. It walks the search listings 20 products
at a time and writes a row for each one, until it has the number you asked for or the term runs out.
Every price in one currency. AliExpress decides the display currency on its own, and left alone a
single dataset can come back with some rows in USD and some in EUR with nothing on the row saying
which. Setting currency pins it for the whole run, so price means one thing when you sort or
total the file. There is a currency field on every row so you never have to remember what you
picked.
Results reshuffle as you page through them, which is AliExpress's doing. Rows are deduplicated on
productId as they arrive, so maxItems means unique products and not raw cards seen.
📥 What you give it
{"searchQueries": ["phone case", "wireless earbuds"],"maxItems": 1000,"currency": "USD","country": "US"}
| Field | Default | What it is |
|---|---|---|
searchQueries | none | What to search for. The box starts with phone case in it, which is a suggestion and not a default. |
productUrls | none | AliExpress search URLs, if you would rather paste than type. The keyword is read out of the URL. An item page here gives you a BAD_INPUT row. |
maxItems | 40 | Total products across all your terms, up to 5,000. |
currency | USD | The currency every price in the run comes back in. USD, EUR, GBP, CAD, AUD, BRL, RUB, JPY, KRW or INR. |
country | US | Two-letter ship-to country, which AliExpress uses for pricing and availability. |
requestDelayMs | 800 | Gap between page requests, in milliseconds. Raise it if a long run starts coming up short. Setting it to 0 falls back to 800. |
proxyConfiguration | none | Optional. Leave it empty; the actor is set up to run without it. Your own servers are used exactly as given. |
Run it with no input at all and you get one labelled sample row, so you can see the shape before committing to a list.
📤 What you get back
A real row from a recent run:
{"productId": "3256807846299122","title": "Soft Silicone Cute Cat Ear Phone Case For iPhone 16 17 13 15 14 12 11 Pro Max Air XS Max Funda Transparent Shockproof Back Cover","productUrl": "https://www.aliexpress.com/item/3256807846299122.html","price": 3.06,"originalPrice": null,"discountPercent": 13,"currency": "USD","rating": 4.8,"orders": 2336,"ordersText": "2,000+ sold","imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/S7bea8ef05d414461a09f1710f7e26ad5I.jpg","isChoice": true,"isAd": false,"searchKeyword": "phone case","page": 1,"position": 1,"scrapedAt": "2026-09-20T07:01:34.801Z"}
| Field | What it is |
|---|---|
price | What the listing sells for today, in your chosen currency. On AliExpress that is usually a sale price. |
originalPrice | The price before the markdown, and null when the seller is not running one. A lot of listings sell at one price, so expect plenty of nulls rather than a copy of price dressed up as a discount. |
discountPercent | The discount AliExpress advertises on the card. It can be present on a row where originalPrice is null, because the two come from different places on the card. |
orders | The exact lifetime order count, not a recent figure. Sort on this one. |
ordersText | The rounded badge a shopper actually sees, like 2,000+ sold. |
isChoice | The AliExpress Choice badge. |
isAd | true on a paid placement. Roughly a fifth to a quarter of search rows are these. They are real listings, just promoted. |
page, position | Where the row sat in the results, so you can reconstruct the ranking. |
productUrl | Rebuilt from the product ID, so it is clean and has no tracking on it. |
🧾 Reading the output
| Row | How to spot it | Charged |
|---|---|---|
| A product | It has a productId | yes |
| The sample row | _sample: true | no |
| A diagnostic | It has a status and no productId | no |
A diagnostic row tells you what happened to one search term:
status | What it means |
|---|---|
BAD_INPUT | That URL is not an AliExpress search URL. An item page does this. |
NO_RESULTS | AliExpress returned nothing for that term. Usually a typo or a term that is too narrow. |
SEARCH_FAILED | That term could not be read. Re-run it. |
BLOCKED | AliExpress stopped answering for that page. Whatever had already been delivered is kept. |
▶️ How to run it
- Open AliExpress Products Scraper and click Try for free.
- Type your terms into Search terms, one per line.
- Set Maximum products. Start at 40 to see the shape of the output.
- Pick a Currency and a Ship-to country if the defaults do not suit you, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it from the Apify API.
💰 How much does it cost?
$0.12 per 1,000 products. Flat on every Apify plan, no volume tiers.
You pay per product row. The sample row is not charged, diagnostic rows are not charged, and the same product appearing again on a later page is dropped before it becomes a row.
💡 What people use it for
- Sizing a niche before sourcing it: pull 1,000 rows for a term and look at where
priceclusters and how farordersruns. - Finding what actually sells rather than what ranks, by sorting on
ordersinstead of onposition. - Watching a term weekly and joining on
productIdto see which listings appeared, which moved up and which quietly changed price. - Filtering
isAdout to see the organic ranking on its own, or keeping onlyisAdrows to see who is paying for that term. - Pulling a competitor's whole category into a sheet in one currency so the totals mean something.
🚧 What it does not do
- Search listings only. No product pages, which means no description, no specifications, no variants and no SKU-level prices.
- No seller or store fields. AliExpress took store name, seller ID and seller country off its search cards, so there is no column rather than a column that is always empty.
- No review text and no shipping cost. Both live on the product page.
- No sorting. AliExpress serves one order, its own relevance ranking, and the sort options it offers elsewhere do nothing here. Sort the dataset yourself.
ordersis lifetime, not recent. A listing from 2019 with 18,000 orders is not necessarily selling today.- Paid placements are mixed in, around a fifth to a quarter of rows. They are flagged
isAd. - A term can stop early. When AliExpress stops answering for a page, the run ends that term with
a
BLOCKEDrow and keeps everything already delivered. - Prices are what AliExpress shows for your ship-to country, before any coupon, and they move
constantly.
scrapedAtrecords when the row was read.
🧭 Which marketplace scraper do you need?
| If you want | Use |
|---|---|
| AliExpress search results with prices and order counts | This one |
| Wholesale prices, minimum order quantities and suppliers | 1688 Wholesale Scraper |
| Buyer reviews with photos and the SKU that was bought | 1688 Reviews Scraper |
| A Shopee shop's ratings and reviews | Shopee Shop Reviews Scraper |
| Classified listings in Russia and the CIS | Avito Listings Scraper |
❓ Questions people ask
Do I need an AliExpress account or an API key? No. Everything here is public search data.
Why are my prices in the wrong currency? They will not be if you set Currency. It is pinned for the whole run and echoed on every row.
Can I paste a product link? No. productUrls takes search URLs and reads the keyword out of
them. An item page comes back as BAD_INPUT.
Why is originalPrice empty on so many rows? Because most listings are not on a markdown. A
blank is the honest answer there.
How deep can one search term go? As deep as maxItems lets it. The limit is your setting, not a
page number.
Is scraping AliExpress legal? These are public listings. Check AliExpress's terms and your own local rules before using the output commercially. Apify's write-up on scraping and the law is a good starting point, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page. Send the search term and the run ID. If you got a
diagnostic row, its status usually names the problem on its own.