AliExpress Price Tracker & Scraper - Price History
Pricing
from $0.80 / 1,000 results rows
AliExpress Price Tracker & Scraper - Price History
AliExpress price tracker and scraper: search results for any keyword, or the products you watch, priced for your country and currency, with variants, shipping, reviews, units sold and store. Scheduled runs report price drops, price history and new best-sellers.
Pricing
from $0.80 / 1,000 results rows
Rating
0.0
(0)
Developer
Akhil rajesh
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
19 hours ago
Last modified
Categories
Share
AliExpress Price Tracker & Scraper reads AliExpress search results for any keyword, priced for your country and currency, as clean JSON, and tells you what changed since your last run: price drops and other store price changes, each product's price history, units sold since and new best-sellers. Paste AliExpress search links with their own filters, or type keywords and pick a sort order, a price range and AliExpress's Free shipping, Choice and 4-star filters. It runs in the cloud on your schedule, with no login or browser extension, and you get the data as JSON, CSV or Excel, or through the API. To watch specific products, add your own free AliExpress affiliate key.
- Every product card AliExpress shows. Title, price and currency, original price and discount, rating, units sold (AliExpress's exact count, not just "10,000+ sold"), Choice and Plus badges, free shipping, delivery estimate, bulk price ("C$1.64 each, ≥ 2 pieces"), "Lowest price in 90 days", store name, ship-from country, category, listing date, images and the product link. Sponsored results and new shoppers' free gifts are marked.
- 32 ship-to countries, 23 currencies. AliExpress prices, offers and delivery estimates depend on where you ship to. Pick the country (the United States, Canada, the United Kingdom, Australia, Germany, France, Brazil, Japan...) and the currency, and the Actor reads the search the way a visitor from there sees it.
- A store price that's the same for every visitor. AliExpress takes a different amount off for each visitor: new shoppers get a first-order allowance that differs between visitors, and returning ones a smaller subsidy. The Actor reads each card's original price and promotions and gives you
storePrice, the price after the product's own discounts and before the visitor's. Across 1,004 products read by several visitors on 2026-10-11, it was the same for every visitor for all but 2 (which changed between captures hours apart), while the price shown often wasn't. Price changes and price history are tracked on it, so a change means the seller or the deal changed, not who was looking. - Units sold since your last run. AliExpress's exact sold counts are the same for every visitor, so
soldChangetells you how many units each product sold between two runs (between exact counts: a card that only says "10,000+ sold" isn't compared): a sales signal AliExpress doesn't show. - New best-sellers. Sorted by orders (the default), the Actor tells you which products on the first page no earlier run has seen, counting another store's listing of the same product as seen (AliExpress groups them:
productGroupId). - Only changes. Turn it on and a scheduled run outputs, and charges for, only what changed: store price changes and new products. The first run outputs the baseline; a quiet day costs almost nothing.
- Reviews. Turn on Add review summary for each product's review count, average rating, share of each star rating and of positive reviews, reviews with photos, newest review date, reviews in the last 30 days and AliExpress's review tags ("low volume", "fast delivery"), and on later runs the reviews added since: a sales signal. Ask for up to 20 of the newest reviews per product too, in English with the original text kept.
- Watch specific products. Paste product links or ids and, with your own free AliExpress affiliate key, every run returns each product's price, every variant's price including tax, the shipping fee and delivery days to your country, units sold, reviews and store, and what changed since the last run: price drops, shipping changes, a product no longer listed.
- Price history from your own runs. Each product's lowest, highest and average store price over your last 30 runs (or as many as you choose), whether it's at its lowest now, and the readings themselves.
- No made-up results. For a keyword AliExpress has no matches for, its US site shows 60 other products and calls it 60,000 results; the global site shows 5 related ones. The Actor reads AliExpress's own grading of each card and reports "no matches" instead of outputting them. For narrow keywords, the related products AliExpress adds once its matches run out are left out (and counted), unless you ask for them.
Searches need no login, API key or proxy; watching specific products uses your own free AliExpress affiliate key (see Watch products). The default run (one keyword's first page) takes about 5 seconds on Apify.
Use cases
- AliExpress price tracking and price drop alerts. Schedule a daily run with Only changes on, and send its rows to email, Slack or a spreadsheet with Apify's integrations or a webhook: you hear about the products whose store price moved, and a quiet day costs almost nothing.
- AliExpress price history. Each run adds a reading to every product's history, so you can check a product's lowest, highest and average price over your last 30 runs, and whether today's price is its lowest.
- Best-selling and trending products for product research and dropshipping. Sorted by orders, a search lists the products people buy most for a keyword, with AliExpress's exact units sold, the units sold since your last run and the products that newly reached the first page. With the review summary, check each product's ratings, review tags and how many reviews it gets a day before you list it.
- Supplier and competitor monitoring. Watch a niche's store prices, discounts, ratings and sales in any of 32 ship-to countries, or watch your suppliers' exact products, variant by variant, with their shipping fees and delivery times.
- Datasets for analysis and AI. One row per product with stable ids, prices in 23 currencies, ratings, sales, store and ship-from, ready for a spreadsheet, a database or a language model.
What you get
| Field | Example |
|---|---|
searchQuery, searchFilters | wireless earbuds, sortType=total_tranpro_desc |
position, organicPosition, page, sponsored | 5, 5, 1, false (sponsored cards count in position only) |
productId, globalProductId, productGroupId, title, url, imageUrl, images | 3256809175431647, 1005013101987227, QCY MeloBuds N70 Adaptive ANC Wireless Earbuds..., the product's page, its pictures |
price, currency, priceText | 43.78, USD, US $43.78 (the price shown to this visitor) |
storePrice | 50.28 (111.74 less the product's own Super Deals of 61.46, the same for every visitor) |
originalPrice, discountPercent | 111.74, 60 (as shown; AliExpress shows no original price in the EU) |
welcomeDeal, welcomeDealSaving, freeGift | true, 67.96, false (a new shopper's first-order price; a new shopper's free gift) |
rating, soldCount, soldCountExact, soldText | 4.8, 35850, true (AliExpress's exact count; false for the card's "10,000+"), "10,000+ sold" |
choice, plus, freeShipping, freeShippingOver, deliveryEstimate | true, false, true, "Free shipping over 10€", "Delivery: Oct 17 - 23" |
bulkPrice, bulkMinQuantity, lowestPriceInDays | 1.64, 2, 90 |
bundleDeal, bundlePrice, bundleMinItems | true, 2.00, 3 (AliExpress's Bundle Deals: "Buy 3+, duty covered" in Europe, Dollar Express in the US) |
storeName, shipFrom, categoryId, listedDate | Shop1105279284 Store, CN, 63705, 2026-01-07 |
badges | every tag the card shows, as written |
relatedProduct, cardLayout | false (AliExpress graded it a match for the keyword), app_us_local_card |
previousStorePrice, storePriceChange | 55.28, -5.00 |
previousSoldCount, soldChange, soldPerDay, previousSeenAt, previousSnapshotAt | 35800, 50, when a run last output the product (its previous units sold are from then), when the previous run of this search ran |
isNew, previousPosition, positionChange, movement | false, 9, 4, up (positions: for information) |
firstSeenAt, timesSeen | when a run of this search first met the product, how many runs have output it |
lowestStorePrice, highestStorePrice, averageStorePrice, atLowestStorePrice, storePriceReadings, storePriceHistory | 50.28, 55.28, 52.78, true, 2, [{at, price}] |
changes | ["price"] (new, price) |
rowType | search (a watched product's row says product: see Watch products) |
reviewCount, reviewRating, positiveReviewPercent, ratingBreakdown | 9551, 4.6, 89.3, {"5": 81.3, "4": 8.0, "3": 3.9, "2": 1.8, "1": 5.0} (with Add review summary) |
reviewsWithPhotos, latestReviewDate, reviewsLast30Days, reviewTags | 2015, 2026-10-13, 20 (of the 20 newest: 20 means 20 or more), [{"tag": "very good", "count": 561, "sentiment": "positive"}] |
reviewChange, reviewsPerDay, previousReviewCount, previousReviewsAt | 120, 60.0, 9431, when a run last read the product's reviews |
reviewsFromSimilarItems | false (true when AliExpress pools the reviews of similar items from various sellers) |
latestReviews | [{date, stars, country, text, originalText, variant, photos}] (with Newest reviews per product) |
shipTo, snapshotAt | US, when the run read it |
Sponsored results aren't compared: their comparison columns are empty.
A row from a scheduled US run on 2026-10-12 (trimmed): a new shopper was shown US $11.58, while the store price, the same for every visitor, was 31.77, and the product had 15 readings in its price history.
{"searchQuery": "wireless earbuds","position": 1,"productId": "3256812453673234","title": "Lenovo XT53 Wireless Bluetooth 5.3 Earphones Gaming Low Latency Dual Mode Music Earbuds ...","price": 11.58,"currency": "USD","storePrice": 31.77,"previousStorePrice": 31.77,"storePriceChange": 0,"welcomeDeal": true,"originalPrice": 31.77,"discountPercent": 63,"lowestStorePrice": 31.56,"highestStorePrice": 31.77,"averageStorePrice": 31.74,"storePriceReadings": 15,"rating": 4.9,"soldCount": 46918,"soldCountExact": true,"soldText": "10,000+ sold","soldChange": 0,"choice": true,"freeShipping": true,"deliveryEstimate": "Delivery: Oct 19 - 24","shipFrom": "CN","productGroupId": "1005012720030534","listedDate": "2026-07-02","isNew": false,"changes": [],"url": "https://www.aliexpress.us/item/3256812453673234.html","shipTo": "US","snapshotAt": "2026-10-12T18:52:47Z"}
Watch products (your own AliExpress affiliate key)
Paste the products you want to follow in Products to watch, one per line (up to 1,000): product links from any AliExpress site (https://www.aliexpress.com/item/1005007954929165.html, de.aliexpress.com, aliexpress.us), short links (a.aliexpress.com/_...) or product ids. Each run reads them through AliExpress's official affiliate API, with your own App Key, and returns one row per product (rowType: "product"):
| Field | Example |
|---|---|
productId, title, url, available | 1005007954929165, Lenovo XT53 Wireless Earbuds, the product's page, true |
price, priceSource, currency | 12.89, variants (the cheapest variant's price including tax), USD |
productPrice, originalPrice, discountPercent, appPrice | 12.89, 35.81, 64, the app's price |
variants | each variant: skuId, properties ({"Color": "Black"}), salePrice, price, shippingFee, delivery days, shipFrom |
variantCount, lowestVariantPrice, highestVariantPrice | 2, 12.89, 13.49 |
lowestShippingFee, fastestDeliveryDays, slowestDeliveryDays, shipsFrom | 0, 3, 12, ["CN", "US"] (with Include shipping and delivery) |
soldCount, soldLast30Days, rating, positiveFeedbackPercent, reviewCount | 46918, 4210, 4.6, 96.4, 9551 |
storeName, storeId, storeUrl, brand, category | the store, its id and page, the brand, the category path |
promotionLink, commissionRate, promoCode | your affiliate link (with your tracking ID), your commission %, a promo code when offered |
changes, previousPrice, priceChange, soldChange, soldPerDay, reviewChange | ["price"], 14.89, -2.00, 120, 60.0, 35 |
lowestPrice, highestPrice, averagePrice, atLowestPrice, priceHistory | over your last 30 runs (Price history: runs to keep) |
Change tracking works as for searches: changes says price (the price moved by at least Smallest price change; variant prices are compared with variant prices, a product's own price with its own), shipping (the cheapest shipping fee changed, or became free), unavailable (no longer listed) or available (listed again). Only changes outputs just those, and Only price drops just the drops. Each product keeps its own history, so you can add or remove products without losing the others'.
A product AliExpress's affiliate API doesn't list (not in the affiliate programme, no longer sold, or not sent to your ship-to country) gets a row with available: false that isn't charged, so a watch list never shrinks silently. Searches and watched products can run together.
Getting your App Key (free, about 10 minutes plus AliExpress's approval):
- Join the AliExpress affiliate programme at portals.aliexpress.com.
- Sign in to AliExpress's Open Platform (openservice.aliexpress.com) and complete your profile as an affiliate (individual or company; it can't be changed later).
- In App Console, create an app in the Affiliates API category (any name and callback URL of yours). AliExpress approves it within minutes to two business days.
- On the app's overview, copy the App Key and the App Secret (View), and click Apply Online if it shows.
- Optional: your Tracking ID from Portals, for the promotion links (needed if your account has several).
Then:
{"searchQueries": [],"productIds": ["https://www.aliexpress.com/item/1005007954929165.html", "1005008077610176"],"aliexpressAppKey": "<your App Key>","aliexpressAppSecret": "<your App Secret>","country": "US","includeDelivery": true}
Your key stays yours: the App Key and App Secret are secret inputs (encrypted by Apify, readable only inside your run), used only to sign that run's calls to AliExpress, and never logged or output. Calls go to AliExpress under your own app and its terms; AliExpress's call limits for your app apply (the run waits out a short rate ban, and stops cleanly and says so if your app's limit is reached). If your app may not read variants, rows come with the product's own price and the run says so once. AliExpress's affiliate API prices in 15 currencies (USD, EUR, GBP, CAD, AUD, JPY, KRW, BRL, MXN, TRY, INR, IDR, SEK, UAH, RUB): other currencies come in US dollars, and the run says so.
How to use it
Keywords
Type one keyword per line in Search keywords, such as wireless earbuds (up to 50 a run). Max results (60 by default, one results page) is shared between the keywords: a keyword with fewer products passes its share on to the others.
Sort order and filters
- Sort by: Orders (best-selling first, the default), Best match, Price low to high or Price high to low.
- Minimum and maximum price, in the search's currency.
- Free shipping only, Choice only and 4 stars and up only: AliExpress's own filters. AliExpress shows its "Free shipping" tag on only some cards, so
freeShippingis the card's tag, and true on every row of a search filtered to free shipping. - Ships from: AliExpress's own Ships from filter, such as the United States or Germany: faster delivery from local warehouses (59 of 60 US results for "power bank" shipped from the US with it, 3 of 60 without).
- Listed within (days): only products AliExpress listed recently, for spotting new products; applied after reading. New listings are rare among best-sellers: on 2026-10-13, 16 of 372 'phone holder' results sorted by orders were listed within 60 days, so such a run reads many pages, and AliExpress may refuse the deeper ones (the run says so). Narrow the keyword or sort by best match to find more.
- Minimum units sold and Minimum rating are applied after reading; a product whose card shows no units sold or rating doesn't pass. The run reads on until it has Max results such products or the search ends, and stops a search after 5 pages in a row where nothing passed. A run asks at most four times the pages Max results needs, plus two per keyword (at least 10, 400 in all, refused pages included), and says so when it stops there.
Pasted search links
Paste a search link from AliExpress (https://www.aliexpress.com/w/wholesale-phone-case.html?sortType=price_asc&minPrice=5) in Search keywords: it keeps its own sort, price range and AliExpress filters; the form's apply to typed keywords only (Minimum units sold, Minimum rating and the Include options apply to links too). Product links and other sites' links aren't searches; the run skips them and says so.
Ship-to country and currency
Ship to sets the country AliExpress prices and ships the search for, and Currency the currency (the country's own by default). A US visitor gets AliExpress's US site, with its own product ids and links (www.aliexpress.us). If AliExpress shows some prices in another currency than the one asked for, the run says so.
Reviews
Turn on Add review summary and every row gets the product's reviews: reviewCount, reviewRating, positiveReviewPercent (4 and 5 stars), ratingBreakdown (the share of each star rating, in percent), reviewsWithPhotos, latestReviewDate, reviewsLast30Days (counted among the 20 newest, so 20 means 20 or more) and reviewTags, AliExpress's own summary of what reviews say ("low volume": 138, negative). Set Newest reviews per product (up to 20) to add the newest reviews themselves in latestReviews: date, stars, the buyer's country, the text in English (AliExpress's translation when the buyer wrote in another language, with the original in originalText), the variant bought and photos. Some reviews are stars only, without text.
It takes one more request per product, about half a second each (a 60-row run takes about 40 seconds instead of 5), at no extra charge. The reviews come from the request AliExpress's own product page makes, sorted by newest; they're the same whichever ship-to country you pick. A product without reviews has reviewCount 0. On some products AliExpress shows "Reviews displayed are from various sellers for similar items": reviewsFromSimilarItems is then true, and the counts and ratings are the pool's. If a product's reviews don't load, its review fields are empty and the status message counts them; after 3 products in a row are refused, the run stops asking and says so. In a test from Apify's servers on 2026-10-13, 200 review requests in a row all answered.
On a schedule, reviewChange is the number of reviews added since the last run that read the product's reviews, and reviewsPerDay the same per day (runs at least an hour apart): a sign of how fast a product sells, alongside soldPerDay.
Related products
When a narrow keyword's matches run out, AliExpress fills its pages with related products: "brass fountain pen converter 0.38 mm left handed" had 4 matches and 56 other pen products on its first US page. They're left out by default and counted in the status message. Turn on Include related products to get them too, each marked relatedProduct.
Tracking changes on a schedule
Leave Compare with the previous run on (the default) and schedule the Actor, daily for example. Each run compares with the earlier runs of the same search (keyword, ship-to country and filters):
- Store price:
previousStorePriceandstorePriceChange, against the product's last store price in the same currency and card layout, andchangessays "price" when it moved by at least Smallest price change (1% by default). - Units sold:
previousSoldCountandsoldChange, since the product was last output (previousSeenAt), andsoldPerDay, its sales speed (runs at least an hour apart). - Reviews (with Add review summary):
reviewChangeandreviewsPerDay, since a run last read the product's reviews. - First seen and times seen:
firstSeenAtandtimesSeen, from the search's history. - New products (first page of a sorted search):
isNewis true for a product no run in the history has met, andchangessays "new".
The status message sums it up, for example "Compared with the run of 2026-10-12 09:00 UTC: 2 new, 4 price changes. 3,410 units sold since across 52 products. Biggest drop: QCY MeloBuds N70 Adaptive ANC Wireless… (-12%). Most sold: Lenovo XT53 Wireless Bluetooth 5.3 Earph… (+1,240)." The run summary (RUN_SUMMARY) lists the top five price drops, price rises and best sellers since the last run under topMovers.
Positions are for information. AliExpress shows each visitor a somewhat different selection, even sorted by orders: across 16 fresh visits to "wireless earbuds" on 2026-10-11, two visitors' first pages shared 51 of 60 products on average and as few as 15, and a product's place differed by 7.6 places on average (up to 33). Page 2 was another selection on every ask, even for the same visitor, and best match differed most (3 to 13 of the first 40 shared). So previousPosition, positionChange and movement show where a product was, but moves aren't counted as changes, and a product missing from one run isn't reported as gone. Part of the difference is that AliExpress shows each visitor one listing of a group of identical products (the same earbuds from another store): a listing whose group the history knows isn't new.
The history remembers each product for 30 days after it was last seen (up to about 1.5 MB per search: the oldest readings go first), so its price history and units sold carry on when it comes back. Products a filter left out are remembered too, so they aren't new when they pass later. Expect a few new products in the first runs of a search: they are often other visitors' listings, and the history learns them (in a simulation over the 16 visits, a second run found about 8, later ones 2 to 4). Only what a run delivered moves the history: a change a spending limit cut off is reported by the next run.
Only changes
Turn on Only changes and a run outputs, and charges for, only the rows that changed since the last run:
{ "searchQueries": ["wireless earbuds"], "onlyChanges": true }
- Max results is how many products are watched: the first N of each search's share are compared, and the changes among them are output. With 3 keywords and the default of 60, each keyword's top 20 is watched.
- Store price changes of at least Smallest price change, and new products on the first page of a sorted search.
- A change smaller than your limit isn't reported, and the last reported price stays the baseline, so small changes add up.
- Only price drops outputs drops and new products, not rises: a rise moves the baseline quietly, so the next drop counts from the higher price. Use it for price drop alerts.
- The first run of a search outputs everything as the baseline, and so does a product below the places earlier runs read (it arrives with
changes: []). A run with nothing to report succeeds with no rows and says "No changes since the run of …". Sponsored results are left out. If a search's history can't be read, nothing of it is output or charged that run (there is nothing to compare with), and the run says so.
The history is kept in a key-value store of your Apify account named aliexpress-tracker-history, one record per search. Give schedules that should track separately their own History name.
Price history
Each product keeps the store prices of its last Price history: runs to keep runs (30 by default, up to 365), and every row shows lowestStorePrice, highestStorePrice, averageStorePrice, atLowestStorePrice (true when the store price is now the lowest of two or more readings), storePriceReadings and storePriceHistory. The history is built from your own runs, so it starts with one reading. Set it to 0 to leave it out of the rows; the prices stored for the search stay, so another schedule's longer history isn't cut.
Why two prices?
AliExpress shows each visitor a different price for the same product. For "wireless earbuds" sorted by orders on 2026-10-11, a pair with an original price of $111.74 and a Super Deals discount of $61.46 was shown at $43.78 to one new shopper, $38.54 to another (a larger first-order allowance) and $45.51 to a returning one (a smaller subsidy). Every card lists its original price and promotions; the Actor takes off the product's own (Super Deals, limited-time discounts) and leaves out what AliExpress adds for the visitor (new-shopper allowances, platform subsidies, app discounts), which gives a store price of $50.28 for all three. It does so only when the parts add up to the price shown. European pages show no original price, and on them the card's figures are read the European way (the product's own deal is often already taken off): that gave a store price for 92–97% of German, French and Polish cards on 2026-10-12, the same for each of three visitors. Elsewhere about one card in ten doesn't add up, and more in Korea (about half of the cards) and Chile (most cards list no promotion amounts). Then storePrice is empty, and that card's price isn't compared that run. New shoppers' free gifts ("{FREE} with any purchase") have no store price either.
Bundle Deals in Europe. Since 2026-10-13 AliExpress shows many low-priced products in Europe as Bundle Deals, tagged "Buy 3+, duty covered" (36 to 47 of the first 60 cards of German searches for cables, phone holders and screen protectors). The price on such a card is the bundle's, and the card doesn't give the product's own price: the same products, shown to another visitor outside the bundle, had another price, every one of the 31 compared (higher for 27, such as €2.99 for a bundle price of €2.21). So a European bundle card has no storePrice. Its price is in bundlePrice instead, which was the same for every visitor shown the bundle (62 of 62 cards seen by two or three visitors), with bundleDeal true and bundleMinItems 3. US and Canadian bundle cards (Dollar Express, Bundle deals) list the bundle's discount, so their storePrice is the product's own price as before, and their bundlePrice is empty because the price shown includes the visitor's allowance.
price is what AliExpress showed the Actor's visitor, usually as a new shopper (welcomeDeal). On about one request in five, AliExpress shows another card layout (itemcard_new) with other promotions and no original price; the Actor asks again as a new visitor, up to twice more. A card that still comes in it has no store price: its listed promotions can't be told apart, and two of them taken off would leave a visitor's price.
Run summary for pipelines
Every run saves a RUN_SUMMARY record in its default key-value store (linked from the Output tab as Run summary), so a pipeline can check a run without reading its log. It holds outcome (succeeded; partial when something asked for didn't load, or the run stopped at its timeout, spending limit or page budget, or the dataset refused rows; failed; or stopped), the status message, rowsOutput, productsRead, filteredOut, relatedLeftOut and sponsoredLeftOut, each search's outcome (searches: loaded, partial, failed, empty, skipped or notRead, with AliExpress's result count, products read and delivered, and why), AliExpress's refusals by kind, the layout retries, the changes found (new, price, changed, unchanged, and selling products with sold units since), the review summaries loaded and not loaded (reviews, with Add review summary), the watched products (products: watched, output, charged, unavailable, not loaded, the affiliate API's calls and errors), and the run's start and end times. A run stopped by its input (or a history store it can't open) saves inputError: true. Read it with GET https://api.apify.com/v2/actor-runs/<runId>/key-value-store/records/RUN_SUMMARY.
Use it via the API, from code or from an AI assistant
Run it and get the rows in one call (the call waits up to 5 minutes; replace <YOUR_API_TOKEN> with your Apify API token):
curl -X POST "https://api.apify.com/v2/acts/akhil_rajesh~aliexpress-price-tracker/run-sync-get-dataset-items?clean=1" \-H "Authorization: Bearer <YOUR_API_TOKEN>" -H "Content-Type: application/json" \-d '{"searchQueries": ["wireless earbuds"], "country": "CA", "maxResults": 60}'
From Python, with the apify-client package (version 3):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("akhil_rajesh/aliexpress-price-tracker").call(run_input={"searchQueries": ["wireless earbuds", "usb c cable"], "country": "US", "onlyChanges": True})for row in client.dataset(run.default_dataset_id).iterate_items():print(row["title"], row["storePrice"], row["changes"])
From an AI assistant (Claude, Cursor, VS Code or any other MCP client), add the Apify MCP server with this Actor as a tool, https://mcp.apify.com?tools=akhil_rajesh/aliexpress-price-tracker, and ask, for example:
Use akhil_rajesh/aliexpress-price-tracker to find the 30 best-selling wireless earbuds on AliExpress shipped toCanada (country CA), and list each one's store price in CAD, units sold, rating and link, cheapest first.
For tracking, give the assistant the same search on a schedule, with onlyChanges on: each run returns only the price changes and new products since the last one, and RUN_SUMMARY names the top movers.
For price drop alerts, schedule the Actor (or a saved task) with Only changes on, and connect the run to email, Slack, Google Drive, Make, Zapier or n8n through the run's Integrations tab, or call your own webhook when a run succeeds.
How much does it cost?
You pay $1.00 per 1,000 results (search rows), $3.00 per 1,000 watched products (product rows with Products to watch), and less on larger Apify plans, plus a start fee of $0.00005 per run (per GB of memory, at least one; runs use 256 MB by default). Platform usage is included: there is no compute charge on top.
| Apify plan | Per 1,000 search rows | Per 1,000 watched products |
|---|---|---|
| Free and Starter | $1.00 | $3.00 |
| Scale | $0.90 | $2.70 |
| Business and above | $0.80 | $2.40 |
| Run | Rows | Cost (Free and Starter plans) |
|---|---|---|
| One keyword's first page (the default input) | 60 | $0.06 |
| 5 keywords, 100 results each | 500 | $0.50 |
| A daily schedule of 3 keywords with Only changes, on a quiet day | about 10 | about $0.01 |
| 100 watched products (your own affiliate key) | 100 | $0.30 |
The review summary and newest reviews cost nothing extra, and a watched product AliExpress doesn't list isn't charged. Calls to AliExpress's affiliate API are free. Searches with no matches, related products left out and pages that didn't load aren't charged. To cap spending, set Max results or a maximum cost per run in the run options; the Actor stops cleanly at the limit.
Input
| Field | Default | What it does |
|---|---|---|
searchQueries | ["wireless earbuds"] | Keywords, one per line, or AliExpress search links (up to 50) |
country, currency | US, the country's own | Ship-to country (32) and currency (23) |
sortBy | orders | orders, best-match, price-low-to-high or price-high-to-low |
minPrice, maxPrice | none | Price range, in the search's currency |
freeShipping, choiceOnly, fourStarsAndUp | off | AliExpress's own filters |
shipFrom | anywhere | AliExpress's own Ships from filter (a country code, such as US or DE) |
listedWithinDays | none | Only products listed within this many days (applied after reading) |
minOrders, minRating | none | Applied after reading (products without units sold or a rating don't pass); the run reads on to fill Max results |
includeSponsored, includeRelated | on, off | Sponsored cards; related products AliExpress adds once the matches run out |
maxResults | 60 | Most rows per run, shared between the keywords (each needs at least 1 to be read); with Only changes, how many products are watched |
trackChanges | on | Compare with the previous runs of the same search |
priceHistoryRuns | 30 | Runs of store prices kept for the lowest, highest and average (0: none in this run's rows; stored prices stay) |
reviewSummary | off | Add each product's review summary (one more request per product) |
latestReviews | 0 | Also add each product's newest reviews (up to 20); turns on the review summary |
productIds | none | Products to watch: links or ids, one per line (up to 1,000) |
aliexpressAppKey, aliexpressAppSecret | none | Your own AliExpress affiliate app's key and secret (secret inputs), needed to watch products |
aliexpressTrackingId | none | One of your Portals tracking IDs, for promotion links |
includeVariants, includeDelivery | on, off | Each product's variants; their shipping fees and delivery days |
onlyChanges | off | Output only what changed since the last run |
onlyPriceDrops | off | With Only changes: price drops and new products, not rises |
minPriceChangePercent | 1 | The smallest store price change that counts |
historyName | aliexpress-tracker-history | The key-value store that keeps the history (one record per search) |
proxy | none | Optional: Apify's datacenter proxy or your own (only the first of your own is used; residential is refused) |
Good to know
- AliExpress sometimes answers with a slider check instead of a page. This Actor never solves or bypasses it. It waits, asks again as a new visitor (6 tries over about a minute), and then names what didn't load and why in the status message. A run that got nothing fails, so you're not charged for results and the failure is visible. When only part of a run loads, you get the rest, and the message says what's missing. After two pages in a row are refused on every try, the rest isn't asked (it would wait through the same refusals), and the run names what it didn't read. AliExpress also sometimes answers with an error in place of the results ("flow control"), which is asked again the same way. In 65 test runs from Apify's servers on 2026-10-11 and 12, spaced out and covering all 32 countries, none was refused. A burst is another matter: after a dozen runs within a few minutes and two more started together, AliExpress refused Apify's servers for over four minutes, and the next run ten minutes later loaded normally. Give schedules a few minutes between runs rather than starting many at once.
- Some searches come in a lite format. For a few keywords and countries ("phone case" in Germany and the UK, on every ask) AliExpress serves cards with only the title, image and price: no rating, units sold, store or ship-from. The run says so, and with Minimum units sold or Minimum rating it reads just the first page (nothing could pass). "wireless earbuds" came in the full format in every country tried.
- A page for another country isn't taken. Every page names the country AliExpress priced it for; a page for another one is asked again as a new visitor and otherwise reported as not loaded. So is a later page that comes back empty while AliExpress counts more results.
- European Bundle Deals have no store price. Cards tagged "Buy 3+, duty covered" show the bundle's price, not the product's own, so their
storePriceis empty and they aren't compared run to run;bundlePricehas the bundle's (see Why two prices?). On cheap products in Europe that can be most of the first page. - AliExpress Mexico shows no units sold. Its cards carry neither "1,000+ sold" nor the exact count (checked on 2026-10-13; the other 31 countries show them), so units sold and units sold since are empty there, and with Minimum units sold a Mexican search reads only its first page.
- The first page is the reliable one. Page 2 and beyond are a different selection on every ask, and repeat some products of page 1 (each product is output once).
- Welcome deals and free gifts are personal. Most US and Canadian cards show a new shopper's first-order price, and some searches are full of new shoppers' free gifts ("{FREE} with any purchase": 34 of 60 cards for "phone case" in the US), whose price is what they cost otherwise. German pages showed neither. Compare
storePricebetween products and over time. - If AliExpress changes its pages, the run fails and says so. A page this Actor can't read fails its search with the page named in the log, never an empty success. A page whose products all carry AliExpress's "not a match" grade is reported as "no matches", never output as results.
FAQ
Why is the default sort Orders, not Best match? Orders puts the products people buy most first, and its first page differs least between visitors. Best match differs most: two fresh visitors shared as few as 3 of the first 40 products.
Does it read product pages? Not the pages themselves: product pages and their data request met AliExpress's slider check from Apify's servers for long stretches in tests from 2026-10-11 to 14 (after 4 to 14 products, every request), and this Actor doesn't get past it. Searches come from search pages, the review summary from the reviews request AliExpress's product page itself makes (it answered every request in the tests), and watched products from AliExpress's official affiliate API with your own key, which gives each variant's price, shipping and delivery.
Can I track a specific AliExpress product? Yes: paste its link in Products to watch, with your own free affiliate App Key (see Watch products). Each run returns its price and every variant's, shipping to your country, units sold and reviews, and what changed.
Can I get AliExpress reviews? Yes: turn on Add review summary for each product's review count, rating, star breakdown, review tags and newest review date, and set Newest reviews per product (up to 20) for the reviews themselves, in English.
Why do product ids differ between countries? AliExpress's US site has ids of its own (3256...), the global site others (1005...): a US id is the global one plus 2^51. Every row also has globalProductId, the same in every country, to join one product's rows across countries.
How do I track AliExpress prices? Type the keywords (or paste AliExpress search links), pick the ship-to country, and schedule the Actor, for example daily. Every run compares each product's store price with the run before and keeps its price history. Turn on Only changes to get just the price changes and new products.
How do I check an AliExpress product's price history? Run the same search on a schedule: every row carries storePriceHistory and the lowest, highest and average store price of your last 30 runs (up to 365). The history starts with your first run: AliExpress doesn't publish past prices, so earlier ones can't be read.
How do I get AliExpress price drop alerts? Schedule a run with Only changes on and set Smallest price change (1% by default). Each row it outputs is a change, with storePriceChange negative for a drop; send the rows to email, Slack or a spreadsheet through the run's integrations.
How do I find AliExpress best-selling and trending products? Sort by orders (the default): the first page lists the products bought most for the keyword, with AliExpress's exact units sold. On later runs, soldChange shows the units sold since, and isNew the products that newly reached the first page.
Do I need an AliExpress API key? Not for searches: they read AliExpress's public search pages and need only an Apify account. To watch specific products, yes: your own App Key and App Secret from AliExpress's free affiliate programme (see Watch products for the steps). The key is a secret input, used only to sign your run's calls.
How is it different from a price tracker browser extension? An extension follows the products you open in your browser. This Actor runs in the cloud on a schedule, reads whole searches (up to 50 keywords a run) for any of 32 ship-to countries, and gives you the data as JSON, CSV or Excel, or through the API.
Other Actors by this developer
- Amazon.ca Product & Trending Tracker: Amazon Best Sellers, prices, search positions and reviews on 23 marketplaces, with change tracking
- Price Tracker Canada - Best Buy, Walmart, Canada Computers: live price comparison across major Canadian retailers
- Google Hotels Scraper - Hotel Price Tracker & Comparison: hotel prices from Google Hotels, with price tracking
- Sports API - Live Scores, Stats & Odds (Soccer, NBA, NHL, NFL): scores, statistics and odds for seven sports
Disclaimer
This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by AliExpress or Alibaba. It reads publicly available search pages at a modest pace and never gets past AliExpress's slider checks. Use the data in line with AliExpress's terms and the laws that apply to you.