AliExpress Search Scraper: Prices, Sold Counts & Delivery avatar

AliExpress Search Scraper: Prices, Sold Counts & Delivery

Pricing

from $1.50 / 1,000 products

Go to Apify Store
AliExpress Search Scraper: Prices, Sold Counts & Delivery

AliExpress Search Scraper: Prices, Sold Counts & Delivery

Scrape AliExpress search results and category pages: price, original price, discount, rating, exact sold count, delivery dates, ship-from country, Choice and ad flags, images and category IDs. Any ship-to country, currency and language. No login. $1.50 per 1,000 products.

Pricing

from $1.50 / 1,000 products

Rating

0.0

(0)

Developer

Naveen Raja

Naveen Raja

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Categories

Share

Get AliExpress search results and category listings as clean rows: price, original price, discount, rating, exact sold count, delivery estimate (days and dates), ship-from country, Choice and ad flags, store name, images and category IDs. Search by keyword or paste search / category URLs, choose the ship-to country, currency and language, sort by orders or price, filter by price and warehouse country. No login, no browser, no AliExpress account. Pay per product, no usage fees.

What you pay forPrice
product: one product row$0.0015 ($1.50 per 1,000 products)
Actor start (standard Apify event, per run)$0.00005
ExampleRowsCost
Quick check: 1 keyword, first 20 products20$0.03
1 keyword, 600 products (10 pages)600$0.90
Product research: 10 keywords x 300 products3,000$4.50
A whole search: up to 60 pagesup to 3,600up to $5.40
Our larger test run: 4 keywords + 1 category, 600 each3,000$4.50

Apify platform costs are included. Duplicates (AliExpress repeats products across pages), skipped ads, failed or invalid inputs and the run summary are free. Unknown category IDs and verification pages are free too. Set Maximum cost per run (or maxTotalChargeUsd in the API) and the Actor stops cleanly at that amount, also when several searches run in parallel: a page is only downloaded when at least part of it can still be paid for, and you are never charged above your maximum.

What you get

  • One row per product from AliExpress search and category pages, 60 products per page, up to 60 pages (3,600 products) per search.
  • Prices: current price, price before discount, discount %, currency, the price as displayed, and flags for new-shopper prices and cards that hide the price (the price is still filled from the card's own data).
  • Demand signals: average rating and exact units sold (AliExpress shows "5,000+ sold"; the row has the real number, e.g. 7,637, when the page carries it).
  • Delivery: estimate as shown ("Delivery: Oct 23 - 28"), min / max days and dates, free-shipping label, ship-from country (CN, US, ES, ...).
  • Listing details: product ID (global 1005... ID plus the aliexpress.us ID when different), product URL, title, main image and all images on the card (usually 5-8), category path IDs, AliExpress Choice flag, sponsored flag, store name (when the card shows it), other card labels ("Extra 5% off with coins", "Lowest price in 90 days", ...), listing launch date and default variant ID.
  • Context: search term, position (1 = first result), page, sort order, ship-to country, language and the results page URL.
  • 54 markets: ship-to country (US, GB, DE, FR, ES, IT, NL, PL, BR, MX, CA, AU, JP, KR and more; all tested on 19 Oct 2026), currency (USD, EUR, GBP, BRL, ...) and title language (English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Turkish, Japanese, Korean, Arabic, Hebrew, Thai, Vietnamese, Indonesian).
  • Filters as on the site: sort by best match, orders, price low-high or high-low; minimum / maximum price; ships-from country; or paste any search / category URL with filters you set on aliexpress.com.
  • Each product once per run (de-duplicated across pages and searches), sponsored products marked with isAd (or skipped), no personal data.

Use cases

  • Dropshipping and product research: find what sells for a keyword (sort by orders), compare prices, discounts, ratings and sold counts, and check delivery times to your customers' country.
  • Price monitoring: schedule a daily run for your keywords or categories and track prices, discounts and sold counts over time. Note: in the US, AliExpress shows visitors who aren't logged in first-order new-shopper prices on many products (newShopperDeal: true); track originalPrice too, or a non-US market, for regular prices.
  • Market and trend research: how many results a niche has, which products and stores lead it, what ships from local warehouses (US, ES, FR, DE, PL, ...).
  • Sourcing: shortlist suppliers' products by price range, rating and sales before contacting them.
  • Catalog and lead lists: product IDs, titles, images and categories for a niche, ready for a spreadsheet or a database.

How to use

  1. Add Search terms (one per line) and / or Search or category URLs.
  2. Set Max products per search (60 per page; 3,600 at most).
  3. Choose Sort by, Ship-to country, optionally Currency and Language, and the filters (price range, ships from).
  4. Run it and download the results as JSON, CSV or Excel, or read them via API. The dataset has the views Products, Delivery & labels, Catalog and All fields.

Input examples

The prefilled input (one page, 10-25 seconds):

{
"searchTerms": ["wireless earbuds"],
"maxResultsPerSearch": 20,
"shipTo": "US"
}

Best sellers under $20 that ship from a US warehouse:

{
"searchTerms": ["phone case", "led strip lights"],
"maxResultsPerSearch": 300,
"sort": "orders",
"shipTo": "US",
"maxPrice": 20,
"shipFrom": "US",
"includeAds": false
}

German market, prices in euros, German titles, plus a category page:

{
"searchTerms": ["bluetooth kopfhörer"],
"startUrls": ["https://www.aliexpress.com/category/100003109/women-clothing.html"],
"maxResultsPerSearch": 120,
"shipTo": "DE",
"language": "de"
}

Output example

A real row from our test run on 18 Oct 2026 (search "wireless earbuds", ship to US; images shortened to two):

{
"productId": "1005009970168305",
"url": "https://www.aliexpress.com/item/1005009970168305.html",
"siteProductId": "3256809783853553",
"title": "Baseus Eli 2i Fit Open-Ear Earphones True Wireless Bluetooth 6.0 Ear Hooks Headphones IPX5 Waterproof Sports Earbuds Bass Boost",
"imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/S543f7b76a31e4c57b7b4c42b3296b98aC.png",
"images": [
"https://ae-pic-a1.aliexpress-media.com/kf/S543f7b76a31e4c57b7b4c42b3296b98aC.png",
"https://ae-pic-a1.aliexpress-media.com/kf/S568b997cce15443c851eca7f83f18116E.jpg"
],
"price": 26.19,
"originalPrice": 59.16,
"discountPct": 55,
"currency": "USD",
"priceText": "US $26.19",
"priceHidden": false,
"newShopperDeal": true,
"rating": 4.7,
"soldCount": 7637,
"soldText": "5,000+ sold",
"freeShipping": null,
"deliveryText": "Delivery: Oct 23 - 28",
"deliveryDaysMin": 6,
"deliveryDaysMax": 11,
"deliveryDateFrom": "2026-10-23",
"deliveryDateTo": "2026-10-28",
"shipFrom": "CN",
"isChoice": true,
"isAd": true,
"categoryId": "63705",
"categoryIds": ["44", "100000306", "63705"],
"storeName": "BASEUS Co.,Ltd. Store",
"tags": ["Top selling on AliExpress"],
"launchDate": "2025-09-16",
"skuId": "12000050730017990",
"cardFormat": "full",
"position": 4,
"page": 1,
"searchTerm": "wireless earbuds",
"sourceUrl": "https://www.aliexpress.com/w/wholesale-wireless-earbuds.html?SearchText=wireless+earbuds",
"sort": "default",
"shipFromFilter": null,
"shipTo": "US",
"language": "en",
"scrapedAt": "2026-10-18T05:39:53.000Z"
}

A row in AliExpress's basic card format (ship to GB, same test day): title, image and price only.

{
"productId": "1005013203706969",
"url": "https://www.aliexpress.com/item/1005013203706969.html",
"title": "Clear Case for iPhone 18 Pro Max 17 Air 17E 16E 16 Plus 15 14 13 Mini 12 11 18Pro Shockproof Transparent Phone Cover Accessories",
"price": 2.3,
"currency": "GBP",
"priceText": "£2.30",
"rating": null,
"soldCount": null,
"cardFormat": "basic",
"shipTo": "GB"
}

Fields AliExpress doesn't show on a card are null (never guessed). The run also writes a SUMMARY record with per-input counts (pages, products, duplicates, skipped ads, card formats), notes and errors.

Use it from the API

Run synchronously and get the rows in one call (keep your API token in the APIFY_TOKEN environment variable):

curl -X POST "https://api.apify.com/v2/acts/fairfetch~aliexpress-scraper/run-sync-get-dataset-items?maxTotalChargeUsd=0.50" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["phone case"], "maxResultsPerSearch": 120, "sort": "orders", "shipTo": "US"}'

Python (pip install apify-client):

import os
from decimal import Decimal
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fairfetch/aliexpress-scraper").call(
run_input={"searchTerms": ["yoga mat"], "maxResultsPerSearch": 200, "shipTo": "DE", "language": "de"},
max_total_charge_usd=Decimal("0.50"),
)
for row in client.dataset(run.default_dataset_id).iterate_items():
print(row["position"], row["title"], row["price"], row["currency"], row["soldCount"], row["rating"])

The Actor runs with limited permissions and pay-per-event pricing without usage fees.

Performance and limits

  • From our test runs on Apify (256 MB, 18 Oct 2026): the prefilled input took 10-25 seconds; 3,000 products (4 keywords + 1 category, 68 pages) about 2 minutes; a full 56-page search about 3.5 minutes. Peak memory stayed under 100 MB.
  • At most 60 pages (3,600 products) per search, as on the site. AliExpress repeats products across pages: duplicates are skipped (and free), so a deep search returns fewer unique products. The Actor stops a search after two pages in a row without new products.
  • New-shopper prices. AliExpress shows visitors who aren't logged in its first-order prices, especially in the US (often $0.33 to $1.09 for one item). Those rows have newShopperDeal: true; originalPrice is the price before all discounts. Prices of returning customers aren't public.
  • Card formats. AliExpress tests a basic card format (title, image and price only), mostly outside the US and for some keywords. When a page comes back that way, the Actor asks for it again (up to 2 times) to get the full format; if AliExpress keeps the basic format, rating, sold count and delivery fields stay null and cardFormat is basic.
  • Ship-to countries: the 54 countries in the input's list. Russia, Belarus and Kazakhstan are served by the separate site aliexpress.ru, and AliExpress shows almost no products to India and Indonesia, so these are not supported (the run ends with a clear input message, no charge). Turkey works but AliExpress shows far fewer results there (a few hundred to a few thousand per search, against about 80,000 elsewhere in our test).
  • Category URLs work with the classic category IDs from the site's category links (e.g. 44, 100003109). The newer IDs in the output's categoryIds (e.g. 200000345, 202192403) are real categories, but AliExpress's category pages don't serve them; use a search instead. Unknown or unserved IDs are reported as not_found and not charged: AliExpress answers them either with no results or with a mixed listing from unrelated categories, which the Actor detects from the products' category data (on basic cards outside the US this data is missing, so check category URLs on the site first).
  • Ships from works like the site's filter: AliExpress lists products that can ship from that country. A product's default variant may still ship from elsewhere: shipFrom shows the default variant's warehouse (or null when the card shows none) and shipFromFilter the filter you used; all listed products are returned and charged. AliExpress offers the filter per ship-to country (in our tests: ship to the US, warehouses in the US or China; ship to Germany, warehouses in Germany, Spain, France, Poland or China). When it doesn't offer it, it shows a fallback listing of exactly 60 products for your keyword from other warehouses: the Actor recognises that (60 results and at most 2 cards from the chosen warehouse, also when the cards show no warehouse at all), reports the search as not_found and charges nothing. A genuine filtered result of exactly 60 products whose cards show no warehouse would be treated the same way (not seen in our tests; real filtered searches reported 150 results or more).
  • Search and category pages only. Product pages (variants and stock per SKU, specifications, descriptions, shipping options per carrier, seller ratings) and reviews are not included; product URLs are reported as invalid input and not charged.
  • Platform migrations are handled: progress is rebuilt from the rows already in the dataset, pages whose products are already saved are not fetched again, and no product is returned or charged twice.
  • Requests are polite: one page at a time per search, the same session (IP and cookies) for consecutive pages like a browser, Apify datacenter proxy by default. If AliExpress answers with a verification (CAPTCHA) page, the Actor asks for that page once more from another session; if that is a verification page too, the page is reported as blocked, nothing from it is charged, and the search stops there. The Actor never solves CAPTCHAs. In our tests about 5% of page requests got a verification page.
  • discountPct is the discount from originalPrice to price. deliveryText is the delivery label as shown in the page language.

FAQ

Do I need an AliExpress account or API key? No. The Actor reads the public search and category pages that every visitor sees.

Why are the US prices so low? For visitors who aren't logged in, aliexpress.us shows new-shopper prices on many products (newShopperDeal: true). Use originalPrice for the regular list price, or choose another ship-to country to see that market's prices.

Why is price filled but priceText empty on some rows? Some cards (free gifts for new shoppers) hide the price on the search page; the price comes from the card's own data and priceHidden is true.

Why are rating and sold count empty for my country? AliExpress showed its basic card format for that search (see cardFormat). The Actor already retries such pages; the format depends on the market and the keyword.

What does soldCount mean? Units sold as recorded by AliExpress. When the card carries the exact number it is used (e.g. 7,637); otherwise the lower bound of the label ("5,000+ sold" = 5,000). soldText is the label as shown.

Which product ID should I use? productId is the global ID (1005...) that works on aliexpress.com in every country. aliexpress.us lists the same product under another ID (siteProductId, 3256...).

Can I scrape a store or a product page? Not with this Actor. It reads search and category pages.

What happens if one keyword or URL fails? The other inputs still run. Failures are listed in the status message and the SUMMARY record with the reason and are not charged. Invalid input (a product or non-AliExpress URL, a bad country code) is reported the same way and the run still finishes successfully with a clear status message. The run is marked failed only when no input could be read because of a problem on our side (AliExpress answered verification pages twice in a row, changed its pages, or network errors). A search with no exact matches returns the loosely related products AliExpress shows and says so in the status message; an unknown category ID is reported as not found.

What if Apify moves my run to another server? The run continues where it stopped. The new server reads the rows already saved in the dataset, skips the pages they came from and never returns or charges those products again.

Does it collect personal data? No. Rows contain public listing data. Store names are the sellers' public business names. No reviews, reviewer names or customer data.

AliExpress's Terms of Use (clause 3.2(a)) do not allow systematic retrieval of content by robots or other automated means without AliExpress's permission. This Actor has no such permission. It reads only the public search and category pages that every visitor sees, does not sign in, does not solve CAPTCHAs and does not collect personal data. When AliExpress answers with a verification page, it asks once more from another session and otherwise reports the page as blocked. Whether and how you use it, and the data, is your decision and your responsibility, including compliance with AliExpress's terms and the laws that apply to you.

This Actor is not affiliated with, endorsed or sponsored by AliExpress or Alibaba Group. "AliExpress" is a trademark of its owner and is used here only to describe where the data comes from.