AliExpress Product Detail Scraper — Variants & Shipping avatar

AliExpress Product Detail Scraper — Variants & Shipping

Pricing

from $13.87 / 1,000 product items

Go to Apify Store
AliExpress Product Detail Scraper — Variants & Shipping

AliExpress Product Detail Scraper — Variants & Shipping

Extract AliExpress product detail records from URLs or IDs. Get variants, shipping, seller data, specifications, ratings, stock, and images. Run with residential proxy; no product-page login or third-party key. Pricing: $0.0143 per record on Free.

Pricing

from $13.87 / 1,000 product items

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

1

Bookmarked

84

Total users

13

Monthly active users

15 hours ago

Last modified

Categories

Features

Limited permissions

Share

AliExpress Product Detail Scraper

Extract structured details from AliExpress product pages, including variants, prices, shipping, seller data, specifications, ratings, stock, and images. The Actor needs an Apify residential proxy for reliable access; the default proxy setting already selects it.

  • Compare variant prices and stock for sourcing, dropshipping, and resale.
  • Monitor sale prices, list prices, discounts, shipping, and delivery estimates.
  • Enrich catalogs with specifications, seller details, and image URLs.
  • Review parse_confidence and warnings with each record.

What you get

FieldsTypeEmpty value
product_idstringnever empty
title, price_text, currencystringnull (a blank string is also null)
urlstringnever empty
price, sale_price, original_pricenumbernull
discount_pctnumber (1 decimal)null unless sale is below original
variantsarray of objects[]
variant_countinteger0
variants[].sku_idstring"" when absent
variants[].variantstringnull without a label
variants[].pricenumbernull without a price
variants[].stockintegernull when the key is missing
variants[].availablebooleannull when the key is missing
shipping_costnumbernull; 0 is possible
free_shippingbooleannull when shipping_cost is null; otherwise shipping_cost == 0
shipping_currencystringnull when shipping_cost is null
delivery_estimatestringnull when no delivery text with a date or day count is found; independent of shipping_cost
seller_name, store_url, seller_level, seller_countrystringnull
seller_rating, ratingnumbernull
seller_idintegernull
seller_total_reviewsintegernull
seller_open_yearintegernull
review_countintegernull
specificationsobject of string to stringnull when no attributes
available_inventoryintegernull
imagesarray of strings[]
main_imagestringnull when images is empty
category_path, category, description_urlstringnull
parse_confidencenumber, 0 to 1, 3 decimalsnever empty
warningsarray of strings[]
scraped_atISO 8601 stringnever empty

A field is null when AliExpress does not provide it, unless the table gives another empty value. Values are copied from AliExpress without conversion, so their type can differ from the type shown.

Sample output

Shortened real record: only the first variants item and first images item are shown; category_path, category, and description_url are omitted. All other record fields are included.

{
"product_id": "1005008233186508",
"title": "80ST-M02430 220V 750W AC Servo Motor 2.39N.M. 3000RPM 0.75KW Servomotor Single-Phase AC Drive Permanent Magnet Matched Driver",
"url": "https://www.aliexpress.us/item/1005008233186508.html",
"price": 167.88, "sale_price": 167.88, "original_price": null, "discount_pct": null, "currency": null, "price_text": "$167.88",
"variants": [{"sku_id": "12000044823433404", "variant": "Speed: white shielded wire", "price": 296.59, "stock": 80, "available": true}], "variant_count": 8,
"shipping_cost": null, "shipping_currency": null, "free_shipping": null, "delivery_estimate": "Delivery: Dec 04 - 26",
"seller_name": "China Motor automation Store", "seller_id": 240411452, "store_url": "https://m.aliexpress.com/store/storeHome.htm?sellerAdminSeq=240411452", "seller_rating": 93.4, "seller_total_reviews": 708,
"seller_level": "21-s", "seller_country": "China", "seller_open_year": 6, "rating": 5, "review_count": 3,
"specifications": {"Does it include wireless functionality?": "No", "Does it include a Battery?": "No", "High-concerned chemical": "none", "EU LVD Voltage": "Low voltage: Below 50Vac or 75Vdc", "Model Number": "80ST-M02430 220V AC servo motor", "Phase": "Single-phase", "Protect Feature": "Waterproof", "Type": "Servo Motor", "Efficiency": "IE 1", "AC Voltage": "208-230 / 240 V", "Certification": "CE", "Origin": "Mainland China", "Output Voltage": "750W"},
"available_inventory": 720,
"images": ["https://ae-pic-a1.aliexpress-media.com/kf/S24c7bb15861249af93abb7fee431bcb0t.jpg_960x960.jpg?has_lang=1&ver=1"], "main_image": "https://ae-pic-a1.aliexpress-media.com/kf/S24c7bb15861249af93abb7fee431bcb0t.jpg_960x960.jpg?has_lang=1&ver=1",
"parse_confidence": 0.95, "warnings": ["shipping_cost_equals_price_dropped", "shipping_missing"],
"scraped_at": "2026-11-04T06:10:03.028730+00:00"
}

currency is null because neither the original-price object nor the sale-price object carried a currency. original_price and discount_pct are null, and price equals sale_price, because no original price was present.

shipping_cost is null because AliExpress gave no explicit fee. The only fee-like value equalled an item price, so the Actor dropped it and added shipping_cost_equals_price_dropped. shipping_currency and free_shipping are therefore null, while delivery_estimate is filled because it is read separately.

shipping_missing lowers the score by 0.05. The score starts at 1.0, and the dropped-fee warning deducts nothing, giving parse_confidence 0.95.

Pricing

This Actor uses pay-per-event pricing. One product-item event is charged for each non-empty product detail record pushed to the dataset.

Planproduct-itemapify-actor-start
Free plan$0.0143 per event$0.00005 per event

On the Free plan, 1,000 product-item events cost $14.3; 10,000 cost $143.

An empty record has no title and neither price nor sale_price, or has parse_confidence below 0.5; it is written without a product-item charge. Failed products are skipped without that charge.

The apify-actor-start event is charged once per GB of run memory, with a minimum of one event per run. The default run memory is not specified in the Actor configuration, so price examples count only product-item events and assume one apify-actor-start event per run, at minimum.

The Apify Free plan includes $5 of monthly platform usage credit. With one Free-plan apify-actor-start event assumed, the $5 credit covers 349 product results at the Free-plan product-item price.

Platform usage of your runs (compute, proxy traffic, and storage) is billed to you separately because this Actor uses the Pay per event + usage option.

How to use

  1. Open the Actor in an Apify account.
  2. Paste AliExpress product URLs or bare numeric IDs of at least 8 digits into productUrls.
  3. Choose US, GB, DE, FR, ES, RU, or BR for country, and set apifyProxyCountry to that market.
  4. Keep currency as USD and set maxItems to 1 for the first check run, then read the returned currency.
  5. Use the residential proxy configuration below.
  6. Run and review records, confidence, and warnings.
  7. Repeat the run through Apify Schedules; daily is a starting point for prices and stock.
{
"productUrls": ["https://www.aliexpress.com/item/1005008233186508.html"],
"country": "US",
"currency": "USD",
"maxItems": 1,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
productUrlsRequired URLs or bare numeric IDs of at least 8 digits. Valid IDs are deduplicated and processed once.Required
countryTrimmed and uppercased. US → www.aliexpress.us; GB, DE, FR, ES, BR → www.aliexpress.com; RU → aliexpress.ru; any other code → www.aliexpress.us. Shipping, delivery, and price follow the proxy exit.US
currencyTrimmed, uppercased, and sent as requested. Returned currency is AliExpress's value.USD
maxItemsProcesses the first deduplicated IDs in input order. 0 means all; a positive value limits the count. Minimum: 0.0
proxyConfigurationBrowser proxy. A residential proxy is required for reliable access.{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}
disableUsageStatsSet to true to turn off the run summary described in Usage statistics.false

Limits and edge cases

ConditionWhat you seeWhat to do
No valid URL or numeric ID of at least 8 digitsThe run ends as Failed and nothing is charged. The status message names the problem.Paste a product URL or an ID.
A product is deleted or cannot be parsedThat product is skipped without a charge; other products continue.Check the URL and rerun it.
AliExpress blocks the sessionThe Actor makes at most 4 session attempts and re-queues each product at most twice.Use a smaller input or run later.
Some products stay unreachable after rows were pushedThe run ends as Succeeded with a short dataset. The log lists up to 10 IDs still unprocessed; the reason appears in the log as a Partial delivery warning.Compare product_id values with your input and rerun missing IDs.
No product is deliveredThe run ends as Failed with a status message. Nothing is charged. Empty records may be in the dataset.Try later, or use a smaller input.
The time limit is reached after rows were pushedThe run ends as Succeeded with the pushed rows. The status message says results are partial because of the time limit.Use a larger timeout or a smaller input.
The time limit is reached before any product is deliveredThe run ends as Failed and nothing is charged.Use a larger timeout or a smaller input.
You abort the run, or the platform stops itRows already pushed stay in the dataset. A product is charged only after its row is written.Read the rows and rerun the rest.
The browser is unavailable and no row was pushedThe run ends as Failed and nothing is charged.Try again later.
The browser becomes unavailable after rows were pushedThe run ends as Succeeded with those rows. The remaining IDs are not processed.Rerun the remaining IDs.
Shipping or an optional detail is unavailableThe field can be null, and warnings or lower confidence can appear. Delivery may still be present.Check warnings and parse_confidence.

FAQ

How much does it cost to scrape an AliExpress product?

On the Free plan, each product-item event costs $0.0143 and each apify-actor-start event costs $0.00005. The Free plan includes the $5 monthly platform usage credit described in Pricing; 1,000 product-item events cost $14.3.

Why did my run return no products?

No valid URL or ID, an unavailable browser, empty AliExpress data, or products remaining unreachable after the bounded session attempts can leave the run with no charged product record. Check the status message and log. If the dataset has fewer rows than the input, compare product_id values with the input list.

What should I do if access is not working?

Use the residential proxy configuration shown above. If the time limit hits or products stay unreachable, use a larger timeout or a smaller input.

The Actor collects publicly available product information shown on AliExpress product pages. Whether collecting or using it is legal or allowed depends on your use case, applicable law, and AliExpress's terms; review those requirements before using the output.

Usage statistics

This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.

A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.

To opt out, set disableUsageStats to true in the input. Nothing is sent then.

Full list of collected fields