AliExpress Search Scraper - Products, Prices, Ratings & Sales avatar

AliExpress Search Scraper - Products, Prices, Ratings & Sales

Pricing

$1.00 / 1,000 products

Go to Apify Store
AliExpress Search Scraper - Products, Prices, Ratings & Sales

AliExpress Search Scraper - Products, Prices, Ratings & Sales

Search AliExpress by keyword (or supply your own search URL) and get titles, prices, discounts, ratings, sold counts and images from the results pages. For dropshippers and product researchers.

Pricing

$1.00 / 1,000 products

Rating

0.0

(0)

Developer

Luke Hunter

Luke Hunter

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

AliExpress Search Scraper — Products, Prices, Ratings & Sales

For dropshippers doing product research, price monitoring, and anyone who needs structured AliExpress search results without a browser. Give it one or more keywords (or your own AliExpress search URL) and it returns every product on the results page — title, price, discount, rating, sold count and image — read straight from the search page itself. No login, no API key, no browser.

Pay-per-result: $0.001 per delivered product — 1,000 products = $1.

Quick start (1 minute)

  1. Open the Input tab and list the keyword(s) you want, e.g. phone case.
  2. Click Start. Export the resulting dataset to CSV/Excel/JSON, or pull it through the API shown below.
{
"searchTerms": ["phone case"],
"maxItems": 20
}

That prefilled example finishes in well under a minute and costs $0.04.

How it works

An AliExpress search-results page (/wholesale?SearchText=...) embeds its own product list as JSON inside the page — this Actor requests that page, locates that JSON, and maps it to a flat row per product. This Actor:

  1. Checks AliExpress's own robots.txt for the exact search path it is about to read, once per run, and skips a search (reporting why, in the run's status message) if that path is disallowed.
  2. Fetches up to maxPagesPerSearch result pages per keyword or supplied URL, about one request every 2 seconds.
  3. Normalises every product on each page into one flat dataset row.
  4. If a page comes back as a captcha/interstitial ("please verify you're human") or without the expected results data, it stops that one search and reports it honestly in the run's status message — this Actor never tries to solve a captcha or evade a block.

Use cases

  • Dropshippers: pull current prices, discounts and sold counts for a niche keyword before sourcing.
  • Price monitoring: run the same keywords on a schedule and track price/discountPercent over time.
  • Product research: compare rating, sold count and price across everything AliExpress surfaces for a search term.

Input

{
"searchTerms": ["phone case"],
"startUrls": [],
"maxPagesPerSearch": 1,
"maxItems": 60
}
FieldTypeDefaultDescription
searchTermsstring[](none)Keywords to search, e.g. "phone case". Provide this, startUrls, or both.
startUrlsstring[](none)Full AliExpress /wholesale or /w/ search-results URLs to use as-is. Individual item pages are not supported.
maxPagesPerSearchinteger11–10. Result pages fetched per keyword/URL (about 60 products per page).
maxItemsinteger601–3,000. Hard cap on rows delivered across the whole run — your cost cap.

At least one of searchTerms or startUrls is required.

Output fields

CategoryFields
IdentityproductId, title, url
Priceprice, originalPrice, currency, discountPercent
Reputationrating, soldCount, soldText
MediaimageUrl
Seller (see Limitations)storeName, storeId, storeUrl
ShippingshippingText
Search contextsearchTerm, page, position, scrapedAt

Missing values are returned as null. Nothing is invented.

Output example

{
"productId": "3256809276917537",
"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",
"url": "https://www.aliexpress.com/item/3256809276917537.html",
"price": 1.55,
"originalPrice": 15.1,
"currency": "USD",
"discountPercent": 89,
"rating": 4.7,
"soldCount": 10000,
"soldText": "10,000+ sold",
"imageUrl": "https://ae-pic-a1.aliexpress-media.com/kf/Sf898ce9c147a42edb66872faa1120d79n.jpg",
"storeName": null,
"storeId": null,
"storeUrl": null,
"shippingText": null,
"searchTerm": "phone case",
"page": 1,
"position": 1,
"scrapedAt": "2026-09-27T00:00:00.000Z"
}

(Real values from a live capture of an AliExpress search for "phone case".)

Use it as an API

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("lukehunter/aliexpress-scraper").call(
run_input={
"searchTerms": ["phone case", "drone"],
"maxItems": 200,
}
)
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["title"], product["price"], product["soldCount"])

Pricing and cost control

Pay per delivered product row.

$0.001 per product — 1,000 products = $1.

Rows deliveredCost
20$0.02
1,000$1.00
10,000$10.00

There is no charge for starting a run, and no charge for a search that is blocked, skipped or produces nothing. maxItems gives you a hard upper bound on cost.

Limitations

  • Search results only. This Actor reads AliExpress search-results pages, not individual product pages — no full description, no per-variant pricing/SKUs, no seller/store name or reviews. AliExpress's own search cards do not expose seller name or id at all, so storeName/storeId/storeUrl are always null today.
  • Prices reflect whatever AliExpress served this session/region at scrape time — shown in whatever currency and price tier AliExpress chose for that request (USD in every fixture verified so far). Prices can vary by account region, currency and ongoing promotions; this Actor reports exactly what the page showed, never a converted or estimated figure.
  • soldCount is AliExpress's own rounded figure, parsed from text like "5,000+ sold" or "100K+ sold" — not an exact count, because AliExpress itself never publishes one.
  • No sort order control. AliExpress's search URL does not have a publicly documented, verified sort parameter, so this Actor always reads AliExpress's own default result order rather than guess at an undocumented one.
  • This Actor honours robots.txt and never bypasses a captcha, "verify you're human" interstitial, or block — a blocked search is reported, not evaded. No proxies, no User-Agent rotation.
  • This is an independent tool, not affiliated with, endorsed by, or connected to AliExpress or Alibaba Group. You are responsible for using the collected data in accordance with AliExpress's terms and applicable law.

FAQ

Can I use my own AliExpress search URL?

Yes — put it in startUrls. Only /wholesale and /w/ search-results URLs are supported; item/product pages are not.

Does it scrape individual product pages for full descriptions or variants?

No. This Actor is scoped to search-results data only — see Limitations.

Why is storeName always null?

AliExpress's own search-results cards do not include the seller/store name or id anywhere in the page data this Actor reads — verified against three live captures. The field is kept in the schema in case a future page layout adds it.

What happens if AliExpress shows a captcha?

That search stops immediately, is reported in the run's status message, and nothing is charged for it. This Actor never attempts to solve or bypass a captcha.

Other data tools from the same developer, built to the same standard: official or public sources, hard cost caps, and honest documentation of limits.