AliExpress Scraper: Products, Prices and Shipping per Country avatar

AliExpress Scraper: Products, Prices and Shipping per Country

Pricing

from $1.20 / 1,000 products

Go to Apify Store
AliExpress Scraper: Products, Prices and Shipping per Country

AliExpress Scraper: Products, Prices and Shipping per Country

AliExpress scraper for keywords, category pages and product URLs: every SKU with its price and stock, the shipping options to each country you list, the store and ratings. One row per product and ship-to country; products not sold there are free. Price tracker mode: only new or changed products.

Pricing

from $1.20 / 1,000 products

Rating

0.0

(0)

Developer

AgentToolWorks

AgentToolWorks

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

What is this AliExpress scraper?

This Actor is an AliExpress scraper for search, categories and product pages in one run: type keywords, paste category URLs or product URLs (or bare IDs), list the countries you ship to, and get one row per product and country with every SKU's price and stock, the shipping options to that country (carrier, fee, delivery days, ship-from), the store, rating, reviews count, orders, images and specifications. Turn details off for fast search rows only, or use it as an AliExpress price tracker: change mode returns only the products that are new or whose price or stock status changed since your last run.

In short

  • What you get: one row per product and ship-to country, with every variant (SKU) and its options, price and stock, the price range and discount, the delivery options to that country, the store and its positive feedback rate, rating, reviews count, units sold, images, category and specifications. Or, with details off, one row per search card (price, rating, units sold, ship-from).
  • What it costs: $1.50 per 1,000 detailed product rows (one per product and ship-to country) and $0.50 per 1,000 search rows without details, on the Free plan, less on higher Apify plans. Pay per row delivered, proxies included. Free: products AliExpress does not sell to a country, products not found, products that failed (each row says why), and duplicates.
  • Why this one (measured in this Actor's own cloud runs on 2026-10-27; Store figures read 2026-10-26):
    • Price: $1.50 per 1,000 detailed products, against $8.00 for the leading details Actor (2,038 users in 30 days), and $0.50 per 1,000 search rows, against $2.00 to $9.00 elsewhere (the comparison table below).
    • Several ship-to countries in one run, each with its own price, availability and shipping options. The current leader takes one shipTo and one currency per run (piotrv1001/aliexpress-product-details-scraper, Store record read 2026-10-26).
    • Search, categories and product URLs in one Actor: the leader's details Actor takes product URLs or IDs only, and sells search in a separate Actor.
    • Reliability: 1,000 of 1,000 products delivered on the default 8 parallel IPs (run 7QQ1p5Y1reU9NDx8x), and 998 of 1,000 on 4 (run hK0tyCOaGAXR5YzyQ); the 2 others were free rows with the reason, and 3 product IDs that do not exist came back as free not_found rows. The figure the Store shows for the leaders is another unit, the share of runs that succeeded in 30 days (96.38% for piotrv1001 details, 89.63% for kawsar search, 83.83% for khadinakbar).
    • A short result is never silent: when AliExpress refuses access more than usual, or more than 5% of the products fail, the run ends partial and says why in its status and summary, with the products not read (all counted, the first 200 listed by ID).

No AliExpress account, no API key, no login. Not affiliated with AliExpress or Alibaba Group.

What data can you extract from AliExpress?

One row per product and ship-to country. Where AliExpress does not give a field, it is null, never guessed.

Product and priceVariants and stockShipping, store and reviews
Product ID, URL, titleEvery SKU (skus): its options with the seller's own names (Color: Black), price, original price, stock, availability, imageDelivery options to the ship-to country (shipping): carrier, fee and its currency, free or not, delivery days and dates, ship-from country, tracking
Price range (price to priceMax) and original price, in the currency asked forOption lists (options: Color, Size, Ships From...)Cheapest shipping fee, free shipping, ship-from, delivery days
Discount of the cheapest SKUTotal stock (stockTotal), placeholder stock flaggedStore name, ID, URL, positive feedback rate, opening date; seller ID
Category ID and path, specifications, description URLIn stock or sold out (available)Rating, reviews count, units sold (orders, with its text), wishlist count
ImagesWhere the row came from: keyword or URL, page, position, sponsored

Field coverage measured on the 995 products of the access test (2026-10-26): title, price, currency, variants, stock, shipping, store, images and reviews count 100%; orders 92.2%; rating 73.7% (products without reviews have none).

What can you use AliExpress data for?

  • Dropshipping and product research: per-variant prices and stock, shipping cost and delivery days to each of your markets, in one table.
  • Price monitoring: schedule a run with Only new or changed products and get only the SKUs whose price moved or that sold out.
  • Market comparison: the same products priced and shipped to the US, the UK, Germany or Brazil, side by side (prices differ per country).
  • Supplier vetting: store feedback rate, opening date, rating, reviews count and units sold.
  • Catalog building and data for AI agents: one predictable JSON row per product and country.

How to scrape AliExpress

  1. Click Try for free (or Start) on this page and sign in to Apify.
  2. Type Keywords (wireless earbuds), paste Category or search URLs, or paste Product URLs or IDs.
  3. List the Ship to countries (US, GB, DE... or English names) and pick the Currency.
  4. Set Max products per keyword or category. You pay per row delivered, so start small to look at the data.
  5. Click Start. When the run finishes, open the Output tab, pick a view (Overview, Details, Shipping per country, Variants), and export as JSON, CSV, Excel or XML, or read it through the API.

Input

FieldWhat it does
keywordsSearch terms, each read as AliExpress's search page lists it, 60 products per page. A product URL or ID typed here is read as a product, with a note.
categoryUrlsCategory pages (/category/63705/earphones-headphones.html) or search pages (/w/wholesale-...), from any AliExpress country site. Their sort and filters are kept.
productUrlsProduct pages (/item/<id>.html on aliexpress.com, aliexpress.us or country sites) or bare IDs. Each is read in detail for every ship-to country. Short share links are not followed.
maxItemsProducts per keyword or category (default 100, up to 5,000). In our run, the "phone case" search stopped at page 60 with 2,978 distinct products, out of 183,827 results announced (run 3I6g9bQPiarhfZQBT): for more, split into categories or narrower keywords.
includeDetailsOn by default: each product found is read in detail and gives a detailed row per country. Off: search rows only (faster).
shipToCountries, as codes or English names (default US). Each gives its own detailed row. With details off, search results are read for the first country only.
currencyThree-letter code (default USD, the one measured). Each row says the currency AliExpress answered in.
onlyChanges, monitorNameChange mode (see below).
concurrencyProducts read at the same time, each from its own IP (default 8, up to 10). 1,000 products took 9 minutes on 8 and 20 minutes on 4 (runs 7QQ1p5Y1reU9NDx8x and hK0tyCOaGAXR5YzyQ).

Example: three markets for two products.

{
"productUrls": ["https://www.aliexpress.com/item/1005006678208098.html", "1005008070148600"],
"shipTo": ["US", "GB", "DE"]
}

Example: a keyword's first 200 products with details, shipped to France, priced in euros.

{
"keywords": ["neck fan"],
"maxItems": 200,
"shipTo": ["France"],
"currency": "EUR"
}

Example: a weekly price monitor of a category.

{
"categoryUrls": ["https://www.aliexpress.com/category/63705/earphones-headphones.html"],
"maxItems": 500,
"onlyChanges": true,
"monitorName": "earphones-weekly"
}

Output

The dataset has five views:

  • Overview: image, title, price, currency, ship-to, orders, rating, reviews, store, shipping fee, status.
  • Details: price range, discount, stock, SKUs, delivery days, store and category.
  • Shipping per country: one row per product, country and delivery option.
  • Variants (SKUs): one row per SKU, with its options, price, stock and availability.
  • All fields: every field of every row.

A row from this Actor's cloud run of 2026-10-27 (run hKJqds2ocDKjr5kBT, ship to the UK), lists shortened (35 SKUs and 35 models in the full row).

{
"rowType": "product",
"status": "ok",
"productId": "3256809276917537",
"url": "https://www.aliexpress.com/item/3256809276917537.html",
"title": "Ultra Thin Clear TPU Phone Cases For iPhone 18 17 16 15 14 13 12 11 Pro Max Plus Air 16E XR XS Max Transparent Silicone Cover",
"shipTo": "GB",
"currency": "USD",
"price": 2.09,
"priceMax": 2.79,
"originalPrice": 2.1,
"originalPriceMax": 2.8,
"discountPercent": 0,
"available": true,
"stockTotal": 45421,
"skuCount": 35,
"shippingFee": 1.99,
"freeShipping": false,
"shipFrom": "CN",
"deliveryDaysMin": 4,
"deliveryDaysMax": 7,
"storeName": "Shop1102861803 Store",
"storeId": "1102861803",
"storeUrl": "https://www.aliexpress.com/store/1102861803",
"storePositiveRate": 93.8,
"rating": 4.7,
"reviewsCount": 2988,
"orders": 10000,
"ordersIsLowerBound": true,
"ordersText": "10,000+ sold",
"categoryPath": "202192403/202228401/202228405",
"options": [{ "name": "Color", "values": ["Clear"] }, { "name": "Compatibility by Model", "values": ["iPhone 18 Pro Max", "iPhone 18 Pro", "iPhone Air", "iPhone17"] }],
"skus": [
{ "skuId": "12000049183381385", "options": { "Color": "Clear", "Compatibility by Model": "iPhone 16 Pro Max" }, "price": 2.56, "originalPrice": 2.57, "stock": 39, "stockIsPlaceholder": false, "available": true },
{ "skuId": "12000049183381384", "options": { "Color": "Clear", "Compatibility by Model": "iPhone 16 Plus" }, "price": 2.49, "originalPrice": 2.5, "stock": 2, "stockIsPlaceholder": false, "available": true }
],
"shipping": [
{ "carrier": "AliExpress Selection Premium shipping", "code": "CAINIAO_FULFILLMENT_PRE", "fee": 1.99, "feeCurrency": "USD", "freeShipping": false, "minDays": 4, "maxDays": 7, "etaMin": "Oct. 31", "etaMax": "Nov. 03", "shipsFrom": "CN", "tracking": true }
],
"source": "productUrls",
"sourceType": "product",
"input": "3256809276917537"
}

What the per-country rows look like, measured on one product on 2026-10-26 (run cNwNenzgH5H0ndVW8, USD): to the US 22.61 to 26.37 with AliExpress Selection Standard at $1.99 in 5 to 10 days; to the UK 20.33 to 23.74 with Premium shipping at $1.99 in 4 to 7 days; to Germany 33.49 to 37.33 and to France 35.34 to 39.47, $1.99 in 7 to 10 days; to Brazil 21.38 to 24.60, $3.50 in 11 to 18 days; to Australia 24.07 to 27.30, $1.99 in 5 to 10 days.

Only new or changed products (price tracker)

With onlyChanges on, the Actor remembers each product it read, per ship-to country and currency, in a key-value store of your own account named aliexpress-monitor-<monitorName>. Each run reads the products as usual and returns, and charges, only those that are new to the monitor or whose price or stock status changed on a SKU (a SKU sold out or back in stock, a price up or down). Each row lists its changes. The first run returns everything it reads. Stock counts going down with sales are not a change (only in stock against sold out). When a seller adds or removes SKUs (a relisting under new SKU ids, say), the product's lowest price and whether any SKU is in stock are compared too, as changes with skuId null. A product the spending limit kept back is not remembered, so the next run reports it. With details off, a search card's price is what is compared.

A monitor remembers up to 20,000 products per ship-to country and 1,100,000 SKU prices in all, shared among its countries. Past that, the products seen longest ago, and not read by the run, are forgotten (they are new again if read later): every product a run reads is kept, so a schedule that rereads the same products is never charged again for one that did not change. Only a run that alone reads more than twice its share of the SKU cap (2,200,000 SKU prices in one country, about 41,000 products at the average of 53 SKUs; a third of that in each of three countries) drops the products it read first, and its summary says so; split such a monitor in two (another monitorName).

Note: change mode reads every product to compare it, and charges only those that changed.

Run summary

The key-value store record SUMMARY holds the run's status (ok, partial with the reason, or failed), rows charged per event and free rows per reason, the products not read (all counted, the first 200 listed by ID, and why), each keyword's and category's pages read and products listed, and how many IPs were opened and refused. When the run stops early (AliExpress refusing more than usual, the run's time limit, your spending limit) or more than 5% of the products failed, the status message says so.

Limits worth knowing before you run it

  • AliExpress lets some IPs through and refuses others, decided per IP at its first product. In this Actor's 1,000-product run, about 1 in 5 new IPs was let through (116 of 555, the other 439 refused at their first call, run hK0tyCOaGAXR5YzyQ), and most of those then served 10 products (98 of 116). The Actor drops a refused IP for a new one, never answers the slider AliExpress shows, and retires each IP after 10 products, before the refusal measured on the 11th. Proxies are included at no extra charge to you.
  • If AliExpress tightens its access, so that 60 new IPs in a row are refused, the run stops reading, says so, and lists what it did not read. It does not switch to a browser behind your back: in our measurement a headless browser cost more than 40 times as much per product than the plain requests this Actor sends, a price no one would choose.
  • Speed: 1,000 products with details in 9 minutes on the default 8 parallel IPs (run 7QQ1p5Y1reU9NDx8x), about 55 s per 100; search rows without details go faster, 2,978 in under 5 minutes (run 3I6g9bQPiarhfZQBT).
  • Unavailable in a country: products stocked in a local warehouse are often not sold to other countries, and some sellers are barred in EU countries (SSELLER_BAN_DSA). Those rows are free and say so: 17% to 28% of answers in our runs of 50 products to the US, the UK, Germany, France and Brazil (runs hKJqds2ocDKjr5kBT, 0ua4L6Ca2oTIK0Pie, vDkvlhFOg9ZEQ9eKy, BaE54xleKxb3SwuZr), none for the US.
  • New-user offer cards: 15% to 21% of search cards are AliExpress's new-user offer ("{FREE} with any purchase", runs ivpzfa25Jju4YT7ng and 3I6g9bQPiarhfZQBT) and show no price block. Their row takes the welcome price and list price from the card's own data, the same welcome price the product page's data gives a logged-out visitor, and keeps the offer in promotion. If a page's other priced cards do not confirm that data's unit (at least 9 in 10 within 0.8 to 1.25 times the price they show), price stays null rather than guessed, and SUMMARY notes the page and why.
  • Placeholder stock: some sellers type a stock meaning "plenty" (99,999, 200,000, 999,996). SKUs at or above 99,990 are flagged stockIsPlaceholder and left out of stockTotal.
  • No reviews: review texts carry buyers' personal data and are not read. Rating and reviews count are.
  • Currencies: passed to AliExpress as its own currency menu does. Measured in USD, EUR (France) and GBP (UK): every row and every shipping fee came back in the currency asked for (runs mmfimdMHePHeYJJ9W and Ps7BZp0rkpbak5kZR).
  • The run stops itself before its timeout: a minute before (less on a short run), it starts nothing new, stores what it read, and ends with SUMMARY saying what was not covered. Only the rows in the dataset are charged.
  • If Apify moves the run to another server (a migration, which restarts it), the run carries on there without pushing or charging again the rows it had already delivered.

How it compares (Apify Store, read 2026-10-26)

Every AliExpress product or search scraper on the Store with 150 or more users in 30 days. Prices on the Free plan and 30-day figures as each Actor's public Store record showed them on 2026-10-26 (pricingInfos and publicActorRunStats30Days), per 1,000 rows. "Success" is the share of runs that succeeded, not of products delivered. We did not run these Actors, and what each returns was not compared on the same input. thirdwatch's Actor also has a monitoring mode on search cards (only new or price-changed); this one compares every SKU's price and stock status, per ship-to country.

Detailed product, per 1,000Search row, per 1,000Ship-to countries per runSuccess, 30 daysUsers, 30 days
piotrv1001/aliexpress-product-details-scraper$8.00 (since 2026-10-24)separate Actor ($2.50)one96.38%2,038
kawsar/aliexpress-search-scrapernone$9.00by request origin89.63%1,280
zen-studio/aliexpress-scraper$2.49 + $3.99 details add-on$2.49one98.95%317
devcake/aliexpress-products-scraper$2.00 (details optional, same event)$2.00not checked99.70%272
khadinakbar/aliexpress-all-in-one-scraper$4.00$2.00not checked83.83%220
thirdwatch/aliexpress-product-scrapernone$3.00not checked96.72%220
pro100chok/aliexpress-scraper$6.00$2.00not checked99.30%150
This Actor$1.50$0.50several, one row eachnewnew

How much does it cost to scrape AliExpress?

Pay per event, no subscription, platform usage and proxies included:

EventPrice
Product row with details (one per product and ship-to country)$1.50 per 1,000 ($0.0015 each; $1.35 and $1.20 on higher Apify plans)
Search row without details$0.50 per 1,000 ($0.0005 each; $0.45 and $0.40 on higher Apify plans)
Products not sold to a country, not found, failed, duplicatesfree
Run start$0.00005

Examples:

  • 1,000 products with details, shipped to the US: $1.50.
  • The same 1,000 products for the US, the UK and Germany: at most $4.50, less in practice, since a product AliExpress does not sell to a country gives a free row.
  • A keyword's full listing without details (2,978 cards for "phone case" in our run): about $1.50.
  • Apify's free plan includes $5 of monthly usage (apify.com/pricing), enough for about 3,300 detailed products a month.

Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached: it reads no product it could not charge.

Use the Actor through the Apify API

Run it and get the rows in one HTTP call (replace YOUR_APIFY_TOKEN, from Settings > API & Integrations in Apify Console):

curl -X POST "https://api.apify.com/v2/acts/agenttoolworks~aliexpress-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"productUrls": ["1005006678208098"], "shipTo": ["US", "GB"]}'

Node.js, with the official apify-client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('agenttoolworks/aliexpress-scraper').call({
keywords: ['wireless earbuds'],
maxItems: 50,
shipTo: ['US', 'DE'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((r) => r.status === 'ok').map((r) => [r.shipTo, r.title, r.price, r.shippingFee]));

Python, with the official apify-client:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("agenttoolworks/aliexpress-scraper").call(
run_input={"categoryUrls": ["https://www.aliexpress.com/category/63705/earphones-headphones.html"], "maxItems": 100, "includeDetails": False}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["title"], row["price"], row["orders"])

The API tab on this page has ready-made snippets for every language and endpoint.

FAQ

Do I need an AliExpress account or an API key?

No. The Actor reads AliExpress logged out, the way a visitor's browser does: search pages as they load, product details through the request the product page itself makes. It never logs in and never solves a captcha.

Can I get the price and shipping for several countries at once?

Yes: list them in Ship to. Each country gives its own row, with its own price, availability and delivery options.

Why is a product "unavailable_in_region"?

AliExpress answered that it does not sell that product to that country (often a product stocked in a local warehouse). The row is free.

How do I get only price changes every week?

Turn on Only new or changed products, give the schedule a Monitor name, and schedule the Actor (or a saved task) in Apify Console.

Can I get reviews?

Not in this version: review texts carry buyers' personal data. The rating and the reviews count are in every product row.

Can I use it with Make, Zapier, n8n or Google Sheets?

Yes, through Apify's integrations: the dataset works with every Apify integration, and a webhook can fire when a run finishes.

Can AI agents use it through MCP?

Yes. Apify's hosted MCP server exposes Store Actors to MCP clients such as Claude or Cursor: https://mcp.apify.com?tools=agenttoolworks/aliexpress-scraper.

The Actor reads only what AliExpress shows any visitor without logging in: product listings that sellers publish to be found. It uses no account, solves no captcha and reads no buyer's personal data (no reviews). AliExpress's terms of use prohibit systematic automated collection without its written permission and the commercial exploitation of its content; how you use the data is your responsibility. This Actor is not affiliated with AliExpress or Alibaba Group.

Something is missing or broken?

Open an issue in the Issues tab: we read every one.

Other Actors by AgentToolWorks

Learn more

Built by AgentToolWorks. Not affiliated with AliExpress or Alibaba Group.