AliExpress Scraper: Products, Prices, Variants & Search avatar

AliExpress Scraper: Products, Prices, Variants & Search

Pricing

from $2.50 / 1,000 products

Go to Apify Store
AliExpress Scraper: Products, Prices, Variants & Search

AliExpress Scraper: Products, Prices, Variants & Search

Scrape AliExpress search results and product details: prices, discounts, sold counts, ratings, every variant (SKU) with price and stock, store and shipping info. Pinned ship-to country. $2.50 per 1,000 products.

Pricing

from $2.50 / 1,000 products

Rating

0.0

(0)

Developer

dheeraj kumar

dheeraj kumar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

44 minutes ago

Last modified

Categories

Share

Scrape AliExpress search results and product pages to JSON, CSV or Excel. You get prices, discounts, sold counts and ratings, plus, with details on, every variant (SKU) with its price and stock, item properties, all images, review count, store info and shipping cost and delivery estimate.

The ship-to country and currency are pinned, so you get consistent prices for the market you care about (US by default). No login needed.

$2.50 per 1,000 products, the same price for a search row or a full detail row. Leading AliExpress actors charge $5–9 per 1,000.

中文简介:速卖通(AliExpress)商品与搜索采集:价格、折扣、销量、评分;可选商品详情,包括全部 SKU 的价格与库存、属性、图片、评论数、店铺信息、运费与预计送达时间。可指定收货国家和币种。每 1000 个商品 2.5 美元。

What you can scrape

ModeInputOutput
searchkeywords, sort (best match, orders, price), up to 60 products per pageone row per product: price, original price, discount, sold, rating, Choice flag, ad flag, delivery tag
search + fetchDetailsthe samethe search fields plus variants, properties, images, reviews count, store, shipping
productproduct links or idsfull detail rows

Pricing (pay per event)

EventPrice
Run start$0.001
Product row (search or detail)$0.0025

Error rows are free. maxChargeUsd (default $5) stops the run cleanly before it goes over.

Input examples

{ "mode": "search", "searchQueries": ["bluetooth earbuds"], "maxResults": 120, "sort": "orders" }
{ "mode": "search", "searchQueries": ["phone case"], "maxResults": 20, "fetchDetails": true, "shipTo": "DE", "currency": "EUR" }
{ "mode": "product", "productUrls": ["https://www.aliexpress.com/item/1005006609906038.html", "1005009893532334"] }

Output example (real detail row, 2026-10-18, lists shortened)

{
"type": "product", "detail": "full", "detailStatus": "full", "productId": "1005009893532334", "usLocalId": "3256811467917760",
"url": "https://www.aliexpress.com/item/1005009893532334.html",
"title": "SK Small Headphones Wireless Bluetooth Headset Sport Sleeping Invisible Comfortable To Wear Bass Earbuds Earphone For All Phones",
"imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sebab286d68ac4d6183c1a1a8cce21316s.jpg",
"salePrice": 7.71, "salePriceMax": 7.71, "originalPrice": 33.83, "currency": "USD", "discountPct": 81,
"rating": 4.8, "reviewsCount": 33, "soldText": "293 sold", "soldCount": 293, "isAd": false, "isChoice": false,
"tags": ["New shoppers save $24.76", "Free shipping"],
"variantCount": 3,
"variants": [{ "skuId": "12000050501217752", "attributes": "Color: Black; Ships From: United States", "salePrice": 7.71, "originalPrice": 33.83, "stock": 1000879, "available": true }],
"properties": [{ "name": "Material", "value": "Plastic" }],
"store": { "name": "INSONIXN Audiovisual Store", "storeId": 1104069061, "sellerId": 6000542421, "positiveFeedbackPct": 90.7, "sold180Days": "1,000+", "openedYear": 2, "country": "China", "topRated": false },
"shipping": { "fee": 0, "feeText": "Free", "company": "USPS Priority Mail", "shipFrom": "United States", "deliveryDaysMin": 4, "deliveryDaysMax": 11, "estimate": "Oct. 22 - Oct. 29" },
"categoryPath": "44/100000306/63705", "shipTo": "US", "searchQuery": "bluetooth earbuds", "page": 1, "position": 2
}

A search row (without fetchDetails) has the same identity, price, rating and sold fields, plus delivery and listedAt.

detailStatus

Every product row carries detailStatus, either "full" (the per-product page + detail API both came back clean — variants, store, shipping, etc. are all present) or "search_only" (the row only has what the search results page itself returned). This is the same information detail has always carried ("full" / "search"); detailStatus is the more explicit name and the one to check in code going forward — both fields stay in sync.

With fetchDetails off, every row is search_only by design — that's just what you asked for. With fetchDetails on, a row still comes back search_only when AliExpress blocked every attempt at that one product's detail page (sliders, rate limits); detailError on the row then holds the reason code (e.g. "slider", "punish", "network"). The row isn't dropped or retried forever — you still get the search-level price/rating/etc. for it, same price, and the run keeps going instead of stalling on one stubborn product.

Compact output for AI agents

Set Output format to compact and the run still pushes the same rows to the dataset at the same price — nothing about billing changes. It additionally writes OUTPUT_COMPACT to the run's key-value store: a lossless columnar JSON encoding of the same rows (one column-name header plus one array per row, instead of repeating every key name on every row), which is cheaper to hand to an LLM than the plain dataset JSON.

Measured on a real 130-row export of this actor's product rows (see benchmarks/compact-output/ in this repo for methodology and all 5 actors' numbers):

TokenizerPretty JSONMinified JSONCompactvs Prettyvs Minified
cl100k_base (GPT-4/3.5)42,23832,15823,70743.9% smaller26.3% smaller
o200k_base (GPT-4o)42,42532,46124,15443.1% smaller25.6% smaller

Decoding it back to the normal row objects is five lines of Python:

def decode_columnar(payload):
cols, marker = payload["columns"], payload["missing"]
return [{c: v for c, v in zip(cols, row) if v != marker}
for row in payload["rows"]]

Good to know

  • US listings. With ship-to US, AliExpress shows aliexpress.us local listings. We return the global productId, which works on www.aliexpress.com, and the local id as usLocalId.
  • Sponsored results are flagged isAd: true. Use excludeAds to skip them.
  • Anti-bot. AliExpress sometimes shows a slider check. The actor starts a fresh session (new cookies and a new proxy IP), alternates to a mobile client fingerprint if the desktop one keeps getting sliders, and switches to residential proxies (country-matched to shipTo) if that keeps failing. If every request is blocked, the run fails instead of ending green with 0 rows.
  • Full details are slower than search, but detail fetches for a page of products run in parallel (detailConcurrency, default 4, each with its own proxy session) instead of one at a time — a blocked session doesn't stall the others.
  • Reviews text isn't included in v1.

Reliability

A self-test runs every day (search, sorting, product detail API) to catch layout changes early.

Keywords: AliExpress scraper, AliExpress API, AliExpress product data, AliExpress price tracker, AliExpress variants SKU, dropshipping product research, 速卖通采集.