AliExpress Scraper — Fast Search & Product Details
Pricing
from $2.00 / 1,000 search results
AliExpress Scraper — Fast Search & Product Details
Scrape AliExpress search results over plain HTTP (no browser) and full product details for 20 ship-to countries. Documented output fields, pay per result.
Pricing
from $2.00 / 1,000 search results
Rating
0.0
(0)
Developer
CRNO
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
AliExpress Scraper - fast search and product details, 20 ship-to countries
Search AliExpress by keyword or collect available product details by URL or ID. Search tries HTTP first; product-detail requests use a browser. Fields can include prices, variants, specifications, shipping information, review summaries and store metadata.
Pick the ship-to country and get its prices, currency, language and delivery data. Every output field is documented, missing data is null (never invented), and items without a price are never charged.
Result fees apply to saved items. A separate memory-based Actor start fee also applies, including runs that produce no results. See Pricing below.
{"productId": "3256812556809370","title": "3 In 1 USB Fast Charging Cable 1.2M Type C Micro IOS Multi Charger Cable for iPhone Huawei Samsung Nylon Braided Cord","url": "https://www.aliexpress.com/item/3256812556809370.html","price": 2.55,"priceStr": "US $2.55","originalPrice": 5.1,"discountPct": 50,"currency": "USD","shipTo": "US","rating": 4.9,"reviewCount": null,"salesCount": 3773,"salesText": "3,000+ sold","storeId": null,"storeName": null,"storeUrl": null,"thumbnail": "https://ae-pic-a1.aliexpress-media.com/kf/S9c50825379fb48739a44d7bb43f479b0l.jpg","images": ["https://ae-pic-a1.aliexpress-media.com/kf/S9c50825379fb48739a44d7bb43f479b0l.jpg","https://ae-pic-a1.aliexpress-media.com/kf/S36a2cbebd5954c2a815ffb9fbab36a51c.jpg"],"hasVideo": null,"badges": ["choice","big-sale"],"freeShipping": null,"categoryPath": ["202192403","100001205","440504"],"isAd": false,"position": 1,"sourceKey": "usb c cable","mode": "search","scrapedAt": "2026-11-04T06:42:42.893Z"}
Collection methods and measured limits
| What you get | How it works (measured 2026-11-04) |
|---|---|
| Search without a browser | A listing page is one HTTP request of about 0.13 MB on the wire and carries 60 slots; 100 items took 6 - 9 s and 300 items 38 - 52 s (US, datacenter proxy; a 30 s timeout retry adds that much to a run). |
| Any of 20 ship-to countries without a per-country proxy | The ship-to country is a URL parameter; all 20 codes were verified over plain HTTP (requested code and currency echoed by the page). |
| Clean, documented output | 27 keys per search item, 35 per detail item, the same keys every time, exact types, null when unknown. |
| You only pay for real products | Free-gift promo cards (no price), duplicates, filtered and failed items are not pushed and not charged. |
| Honest failure handling | A blocked page is retried on a new IP, then through a real browser; a blocked keyword never crashes the run; RUN_SUMMARY tells what happened. |
| Cheap to run | Search needs no browser and no residential proxy by default (datacenter proxies passed 28 of 30 requests, residential 30 of 30). |
Modes
search: keywords in, one item per product listing out. Up to 60 result pages per keyword (a broad keyword gave 2,373 unique products in the full-depth test). Optional sort, price range, ads on/off.detail: product URLs (any AliExpress storefront host, tracking parameters ignored) or bare product ids in, one product-detail object out. Runs in a real Chrome browser, so it is slower and heavier than search.
Use cases
- Price and promo monitoring: run the same keywords on a schedule per ship-to country and compare
price,originalPrice,discountPctandbadgesover time. - Dropshipping and product research: bestsellers (
sort: orders),salesCount,rating, free-shipping tags, then detail mode for variants, stock, shipping cost and delivery estimate of the shortlist. - Cross-country price comparison: the same keyword with
shipToUS, UK, DE, FR, KR, ... returns each country's price, currency and language. - Catalog enrichment and feeds: clean product URLs, images, specifications, SKU variants with price and stock, and a plain-text description.
- Market and category sizing: how many unique products a keyword returns, price distribution (
minPrice/maxPriceslices), share of sponsored results (isAd).
Input examples
- Search, defaults (US, 100 items):
{ "mode": "search", "keywords": ["usb c cable"] }
- Search two keywords for the United Kingdom, 70 items each (prices in GBP):
{ "mode": "search", "keywords": ["wireless earbuds", "phone case"], "shipTo": "UK", "maxItems": 70 }
- Cheapest first inside a price range (listing currency), no sponsored results:
{ "mode": "search", "keywords": ["usb c cable"], "sort": "price_asc", "minPrice": 1.5, "maxPrice": 3, "includeAds": false, "maxItems": 40 }
- Bestsellers in Germany, many items:
{ "mode": "search", "keywords": ["phone case"], "shipTo": "DE", "sort": "orders", "maxItems": 1000 }
- Product details for three products shipped to the US (URL on any storefront host, or bare id):
{ "mode": "detail", "shipTo": "US", "productUrls": ["https://www.aliexpress.com/item/1005006727707575.html", "https://ko.aliexpress.com/item/1005005874124592.html", "1005010572711706"] }
Input fields
| Field | Type | Default | Meaning |
|---|---|---|---|
mode | search / detail | search | What to do. |
keywords | string[] | [] | 1 to 50 search phrases (search mode), up to 200 characters each, any language. |
productUrls | string[] | [] | 1 to 500 product URLs or numeric ids (detail mode). |
shipTo | enum | US | One of US, UK, DE, FR, ES, IT, KR, JP, CA, AU, NL, PL, BR, MX, SA, AE, IL, TR, CL, SE. The United Kingdom is UK (AliExpress's code). |
sort | enum | relevance | relevance, orders, price_asc, price_desc (search). See "Sorting" below. |
maxItems | integer | 100 | 1 to 2,900 items per keyword (AliExpress serves at most 60 pages per query, which gave 2,373 unique items for a broad keyword). |
minPrice, maxPrice | number | none | Price range in the currency of the ship-to country (search). |
includeAds | boolean | true | false skips sponsored listings (they are not charged). |
maxConcurrency | integer | 5 / 2 | 1 to 10 parallel requests (search / detail default). |
proxyConfiguration | object | datacenter for search, residential for detail | Apify Proxy settings. For detail the exit country is pinned to the ship-to country unless you set one. |
debug | boolean | false | Saves a screenshot and HTML of failed browser pages (ERROR_<n>.png/.html) and the raw payload of products that could not be normalised. |
Output
The default dataset has one item per result. Every key is always present; unavailable values are null (arrays [], objects null). The first 27 keys are the same in both modes.
| Field | Type | Example | Nullable | Notes |
|---|---|---|---|---|
productId | string | "1005006727707575" | no | Storefront specific: the US storefront reports 3256... ids for the same product. |
title | string | "Essager PD100W 60W Type C ..." | no | Language of the ship-to country. |
url | string | "https://www.aliexpress.com/item/1005006727707575.html" | no | Clean URL, no tracking parameters. |
price | number | 1.09 | no | Featured SKU price in major units of currency. |
priceStr | string | "US $1.09" | yes | As displayed. |
originalPrice | number | 5.36 | yes | Price before discount, when AliExpress shows it: 55.7% of 2,373 US search items had it (all KR items in the recon sample); detail: when the page shows it. |
discountPct | integer | 79 | yes | |
currency | string | "USD" | no | ISO 4217. |
shipTo | string | "US" | no | The ship-to code used (UK for the United Kingdom). |
rating | number | 4.9 | yes | 0 to 5; items without reviews have null. |
reviewCount | integer | 2476 | yes | Detail only. Taken from the review call the page makes (totalNum), else from the rating widget (totalValidNum); AliExpress aggregates reviews of similar items, so this is a page-level number, not necessarily the item's own. |
salesCount | integer | 88661 | yes | Search only (the listing's own counter). |
salesText | string | "80K+ sold" | yes | Rounded, localised text. |
storeId, storeName, storeUrl | string | "1103839280" | yes | Detail only, best effort: several Choice items report a shared store block, others the real vendor. |
thumbnail | string | "https://ae-pic-a1.aliexpress-media.com/kf/....jpg" | no | |
images | string[] | [...] | no | Search: listing thumbnails; detail: full-size images. |
hasVideo | boolean | false | yes | Detail only (null in search: the listing has no video flag). |
badges | string[] | ["choice", "free-shipping"] | no | Normalised: choice, local-plus, free-shipping, big-sale, new-user-deal, new-user-gift, brand-plus, super-deals, lowest-price-30d/60d/90d, coins-discount, bestseller, early-bird. |
freeShipping | boolean | true | yes | Search: true when the listing has an unconditional free-shipping tag, else null (there is no explicit flag). Detail: true when the shipping cost is 0, false when above 0. Shipping can vary at checkout. The tag and the product page can disagree (seen once: tag present, cost 2.99 USD): use detail mode for the displayed shipping estimate. |
categoryPath | string[] | ["202192403","100001205","440504"] | no | Category ids, root to leaf. AliExpress exposes ids only, no names. |
isAd | boolean | false | no | Sponsored listing. |
position | integer | 3 | no | Rank within the keyword after de-duplication and skips; 1 in detail mode. |
sourceKey | string | "usb c cable" | no | The keyword or the URL / id you supplied. |
mode | string | "search" | no | |
scrapedAt | string | "2026-11-04T05:52:38.657Z" | no | |
description | string | "Features: ..." | yes | Detail only. Seller description as plain text, up to 20,000 characters. |
specifications | object | {"Brand Name": "ESSAGER"} | yes | Detail only. |
variants | object[] | [{"skuId": "...", "attributes": {"Color": "60W Black"}, "price": 1.09, "originalPrice": 5.36, "stock": 203, "image": "..."}] | no ([]) | Detail only. One entry per SKU. |
shippingInfo | object | {"cost": 1.99, "currency": "USD", "estimatedDays": {"min": 7, "max": 12}, "shipsFrom": "China"} | yes | Detail only, for the ship-to country. |
returnPolicy | string | "Free return; ..." | yes | Detail only; the module exists on some pages only (null on all 6 pages tested for US and DE). |
imageCount | integer | 6 | yes | Detail only. |
reviewSummary | object | {"average": 4.9, "count": 2476, "distribution": {"1": 0, "2": 0, "3": 158, "4": 620, "5": 10834}} | yes | Detail only; distribution is null when the page's review call did not answer in time (1 of 6 tested pages had it). |
storeInfo | object | {"positiveRate": 98.2, "followers": 5769, "yearsOpen": 2} | yes | Detail only, best effort. |
A shortened detail item (real run, ship-to DE, description and variants shortened):
{"productId": "1005005874124592","title": "Toocki 100 W USB Typ C Kabel Für Huawei Honor Xiaomi Samsung Super Ladung Schnelle Lade USB C Ladegerät Datenkabel draht Kabel 1 m 2 m","url": "https://www.aliexpress.com/item/1005005874124592.html","price": 3.49,"priceStr": "3,49€","originalPrice": null,"discountPct": 12,"currency": "EUR","shipTo": "DE","rating": 4.7,"reviewCount": 250,"salesCount": null,"salesText": "2.000+ verkauft","storeId": "1103836314","storeName": "Toocki Direct Choice Store","storeUrl": "https://www.aliexpress.com/store/1103836314","thumbnail": "https://ae-pic-a1.aliexpress-media.com/kf/Sd2dbd7e52fc24f618c730be9aaea80efh.jpg?has_lang=1&ver=2","images": ["https://ae-pic-a1.aliexpress-media.com/kf/Sd2dbd7e52fc24f618c730be9aaea80efh.jpg?has_lang=1&ver=2","https://ae-pic-a1.aliexpress-media.com/kf/Sf31917c382c6439bafcc1025e673703fN.jpg?has_lang=1&ver=2"],"hasVideo": false,"badges": ["choice"],"freeShipping": false,"categoryPath": ["202192403","100001205","440504"],"isAd": false,"position": 1,"sourceKey": "https://www.aliexpress.com/item/1005005874124592.html","mode": "detail","scrapedAt": "2026-11-04T06:34:51.879Z","description": "Features: Verlust USB-C Schnellladegerät Digitalanzeige er′′ Datenkabel, Hochgeschwindigkeitsübertragung, E-Marker Smart Ship. Leistungsanzeige in Ech ...","specifications": {"Hochbetriebenes Chemikalienunternehmen": "Keine","Material": "Geflecht","Maximaler Strom": "6A","Eigenschaften": "LEDs,Schnellladekabel","Hat Einzelhandelsverpackung": "Ja","Markenname": "toocki","Ursprung": "CN (Herkunft)"},"variants": [{"skuId": "12000034658530010","attributes": {"Farbe": "100W Black","Länge": "2m"},"price": 3.99,"originalPrice": null,"stock": 293,"image": "https://ae-pic-a1.aliexpress-media.com/kf/Sd5be7094dd3f49b790178ff63ec35ab9w.jpg"}],"shippingInfo": {"cost": 1.99,"currency": "EUR","estimatedDays": {"min": 5,"max": 10},"shipsFrom": "China"},"returnPolicy": null,"imageCount": 6,"reviewSummary": {"average": 4.7,"count": 250,"distribution": null},"storeInfo": {"positiveRate": 98.2,"followers": 5769,"yearsOpen": 2}}
Field availability in search mode, measured on 2,373 US items (usb c cable): rating 89.8%, salesCount / salesText 97.9%, originalPrice 55.7%, discountPct 98.2%, freeShipping true for 35.9% (otherwise null), badges non-empty 97.9%, images and categoryPath 100%, sponsored (isAd) 5.7%; reviewCount, storeId, storeName, storeUrl and hasVideo are always null in search mode (the listing does not carry them: use detail mode).
RUN_SUMMARY (key-value store) records items pushed and skipped by reason (buy-free, duplicate, ad-excluded, price-filtered, unavailable-for-ship-to, ...), pages per path (http / browser), wire bytes, blocked events, retries and failed keys.
Sorting and price filters
sortandminPrice/maxPriceare applied by AliExpress. Each result page is sorted, but the pages are not globally ordered (measured: withprice_asc, page 2 starts again near the lowest prices).positionfollows AliExpress's page order. If you need one global price ranking, sort the dataset bypriceyourself, or use narrow price ranges.- Price filtered pages hold fewer than 60 items (41 to 46 measured). The Actor also drops any item outside the range as a safety net.
Pricing
| Event | Price | When it applies |
|---|---|---|
search-result | $0.002 per saved row ($2 per 1,000) | Search results saved to the dataset. |
detail-result | $0.085 per saved row ($85 per 1,000) | Product-detail results saved to the dataset. |
apify-actor-start | $0.00005 per start event | Apify counts one event per GB of allocated memory, with a minimum of one event. At the current default 4 GB, the start fee is $0.00020. |
For example, 100 search results at 4 GB cost $0.20020 in Actor events. Use the Pricing tab for the current prices. There is no additional automatic dataset-item event fee; platform compute and Apify proxy usage during the run are included in the event pricing. Later storage, API use or integrations follow your account plan.
The start fee can apply even when input is invalid, the source is blocked or no rows are returned. Skipped or failed items have no result fee. Rows already saved remain billable if a later request or storage operation fails; check RUN_SUMMARY and the dataset before retrying. Set a maximum charge limit for each run. Budget checks and dataset writes are serialized so concurrent keywords cannot each spend the same remaining allowance.
FAQ
Will I get blocked? AliExpress does block: a single IP is challenged after roughly 15 quick requests, with an HTTP 200 page that redirects to a slider captcha. The Actor never solves captchas; it rotates to a new proxy IP for every request, retries, then loads the page in a real browser. In the verification runs (about 280 proxied search requests through datacenter and residential proxies) no search page was blocked. Product pages (detail mode) are challenged more often: in the five measured residential runs 6 of 23 page loads were challenged and 4 more timed out; the retry on a new IP succeeded every time, so a delivered item cost 2.1 page loads on average. If a key still fails after the retries it is listed in RUN_SUMMARY.failed and the run goes on.
How fast is it? Search, US, datacenter proxy: 100 items in 6 - 9 s, 140 items (two keywords) in 6 s (47 s when a request timed out and was retried), 300 items in 38 - 52 s, 2,373 items (60 pages) in 281 s. Detail: measured 19 to 194 s per product (median 72 s, 9 residential samples) with 2 parallel browsers, so detail is for hundreds, not tens of thousands, of products per run.
How many items can I get per keyword? AliExpress serves at most 60 result pages (3,600 slots) per query and filter; after duplicates and price-less promo cards that is 2,373 unique products for usb c cable in the full-depth test (US, 60 pages, 281 s, 7.2 MB over plain HTTP, no block); a keyword where about half of the cards are price-less promo cards (phone case) gives fewer. Use several keywords, price ranges or sort orders for more.
Which countries? US, UK, DE, FR, ES, IT, KR, JP, CA, AU, NL, PL, BR, MX, SA, AE, IL, TR, CL, SE. For all 20 the search page reported the requested ship-to code and the expected currency (EUR, GBP, USD, KRW, JPY, CAD, AUD, PLN, BRL, MXN, SAR, AED, ILS, TRY, CLP, SEK) over plain HTTP. Detail mode was run for the US and Germany only; other countries are experimental in detail mode.
Does it need login or cookies? No. Only public pages are read.
Why is reviewCount / storeName sometimes odd? AliExpress merges "Choice" items and aggregates reviews of similar items; the Actor reports what the page says (see the field table).
Is the product available for my country? Some products are not sold to some countries; in detail mode they are skipped as unavailable-for-ship-to (not charged) with the site's own reason in RUN_SUMMARY.
Reviews, store pages, category browsing? Not in this version.
Legal
This Actor reads publicly visible AliExpress pages without logging in and does not intentionally extract reviewer identities or account profiles; seller-provided free text can still contain personal information. You are responsible for using the data lawfully and in line with AliExpress's terms and applicable law in your jurisdiction (including database, copyright and consumer-data rules). Do not use it to overload the site.
Changelog
2026-11-06: clarified result and start fees, corrected budget-stop counting, and serialized budget checks and dataset writes. Historical measurements above are examples from the stated test conditions, not speed or availability guarantees.