AliExpress Scraper: Products, Reviews & Stores avatar

AliExpress Scraper: Products, Reviews & Stores

Pricing

from $1.99 / 1,000 products

Go to Apify Store
AliExpress Scraper: Products, Reviews & Stores

AliExpress Scraper: Products, Reviews & Stores

Scrape AliExpress products, prices, variants, stock, reviews, sellers, shipping, supplier stores, and monitor product changes with localized data.

Pricing

from $1.99 / 1,000 products

Rating

0.0

(0)

Developer

Kenneth Lingo

Kenneth Lingo

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 hours ago

Last modified

Share

AliExpress product scraper

Turn AliExpress search results, product pages, reviews, and supplier stores into structured data. AliExpress Scraper: Products, Reviews & Stores supports keyword product research, exact product details, variants and SKU stock, seller and shipping data, buyer reviews, store catalogs, and recurring price or inventory monitoring.

Run it in the Apify Store, call it as an AliExpress products API, or connect it to an AI agent through Apify MCP. On Apify cloud, proxy routing is managed for you—no customer-provided proxy or proxy setup is required.

Platform architecture

This repository maintains one scraping engine and two thin distribution layers:

API marketplaces / direct clients / MCP
|
Cloudflare Worker gateway
|
Apify Actor REST API
|
AliExpress research workflows
  • src/ and .actor/: production Actor, schemas, datasets, monitoring state, and run reports.
  • gateway/: TypeScript/Hono Worker with versioned REST endpoints, authentication, cost/rate/input limits, normalized envelopes/errors/usage, OpenAPI, Scalar docs, marketplace adapters, and Apify-run jobs.
  • mcp/: stdio MCP server that calls the gateway; it contains no scraper code.
  • marketplaces/product.json: shared listing source of truth.
  • artifacts/: generated marketplace and Postman files.
  • docs/marketplaces/: provider-specific human launch instructions.

Search is the only synchronous data workflow. Product detail, reviews, store catalogs, monitoring, and larger research requests return Apify run IDs as background jobs because those paths can be browser-heavy or unpredictable.

Developer setup

npm ci
npm test
npm --prefix gateway ci
npm run gateway:test
npm run gateway:check
npm --prefix mcp ci
npm run mcp:test
npm run marketplace:all

Copy .env.example to an ignored local environment file and replace placeholders. Never commit Apify, Cloudflare, marketplace, API, facilitator, or wallet credentials. For Worker development, use an ignored gateway/.dev.vars; set deployed secrets with interactive wrangler secret put commands. Required production secrets are APIFY_TOKEN and DIRECT_API_KEYS; marketplace secrets are added only when that channel is enabled.

Run the gateway locally with npm --prefix gateway run dev. The OpenAPI source is gateway/openapi.json, docs are served at /docs, and the specification at /openapi.json. Deployment uses gateway/wrangler.jsonc with separate staging and production environments. Use npm --prefix gateway run deploy:staging first and production only after smoke tests.

Marketplace adapters authenticate trusted proxies and translate the neutral usage object; they never duplicate scraping logic. Regenerate all artifacts with npm run marketplace:all or one channel with npm run marketplace:rapidapi, marketplace:api-market, marketplace:zyla, marketplace:apilayer, marketplace:x402, marketplace:smithery, marketplace:glama, or marketplace:postman.

See docs/MARKETPLACE_READINESS.md, docs/TOMORROW_LAUNCH_CHECKLIST.md, docs/API_UNIT_ECONOMICS.md, and docs/MARKETPLACE_PRICING_RESEARCH.md before launch.

NeedSupported
Product searchYes
Full product detailsYes
Variants & SKU stockYes
ReviewsYes
Supplier/store discoveryYes
Price & stock monitoringYes
LocalizationYes
Resume previous datasetsYes
Customer-provided proxy requiredNo

Use one Actor instead of assembling separate AliExpress product scraper, reviews scraper, store scraper, variants scraper, and price monitor workflows. Results are available as JSON, CSV, Excel, XML, RSS, and through the Apify API.

Quick start — Run the scraper and download results

No coding required! Run directly on Apify using your available credits.

  1. Open the Input tab.
  2. Select a ready-made example or choose your scraping mode.
  3. Enter your search keywords, product URLs, or store URL.
  4. Set a small result limit (10–20 recommended for testing).
  5. Click Start and wait for the run to finish.
  6. Open the Output tab to view your scraped data.
  7. Export your results as JSON, CSV, or Excel.

Where do my results go?

Your results are stored directly in Apify. You do not need to visit another website.

Open your completed run and navigate to its dataset to download the complete results.

What can I try?

All five workflows are available:

  • Product search and discovery
  • Full product details, variants, and SKU inventory
  • Buyer reviews and photos
  • Supplier and store catalogs
  • Price and inventory monitoring

For monitoring, run the same configuration again later to detect changes.

Using the API?

Start the Actor, wait for completion, and retrieve its output dataset using the Apify API.

You can also create scheduled tasks for recurring monitoring.

What data can you scrape?

Data or workflowAvailable output
Search productsProduct ID and URL, title, images, price, original price, discount, rating, sold counts, category, badges, Choice/sponsored flags, and search provenance
PricesCurrent price, ranges, original price, currency, and discount where AliExpress exposes them
VariantsProduct option groups and values
SKU-level pricePer-SKU sale/original price, currency, and purchase limits where exposed
InventoryProduct stock plus available inventory and saleability for individual SKUs where exposed
Seller/storeStore and seller IDs, names, company/profile fields, followers, positive rate, and establishment date when available
ShippingShip-from country, destination, methods, costs, and estimated delivery fields when exposed
SpecificationsProduct attributes, brand, category path, promotions, wishlist count, video, and availability
DescriptionOptional bounded product description HTML and plain text
GalleryMain image, additional search images, and full detail gallery
ReviewsRating, text and translation, country, date, SKU, images/video, helpful votes, seller reply, and follow-up feedback
MonitoringNEW, UPDATED, and optionally UNCHANGED product state with before/after changes
Supplier/store catalogProducts accessible from an AliExpress store plus supplier metadata and catalog position
LocalizationRequested ship-to country, currency, and locale; every row reports what AliExpress actually served

Use mode: "search" with one or more searchQueries, or provide AliExpress keyword/category URLs in startUrls. Sort by relevance, orders, ascending price, or descending price. Filter by price, rating, sold count, discount, Choice, sponsored status, free-shipping cards, and ship-from country.

This workflow is useful for AliExpress product research, competitor assortment analysis, and dropshipping product research. maxResults is a hard product-output cap, so run size and spend remain predictable.

{
"mode": "search",
"searchQueries": ["wireless earbuds"],
"sortBy": "orders",
"maxResults": 20
}

AliExpress product details, variants & stock

Use mode: "details" and provide product URLs, numeric product IDs, regional URLs, or official a.aliexpress.com and s.click.aliexpress.com share links in productUrls. Direct product inputs automatically request full details.

A successful rich product record can include variant axes, AliExpress SKU IDs, SKU-level prices, available inventory, total stock, seller details, specifications, gallery images, shipping options, ETA, category path, promotions, video, and an optional description. This makes the Actor usable as an AliExpress variants scraper, SKU scraper, inventory scraper, stock scraper, and price scraper.

{
"mode": "details",
"productUrls": ["https://www.aliexpress.com/item/3256811621288203.html"],
"includeDescription": true
}

Rich detail is best-effort. AliExpress applies product-specific challenges, so full detail coverage is not guaranteed. Failed direct detail lookups are emitted as explicit diagnostic rows and are not billed as successful product-detail results; successful search or store data remains available when enrichment fails.

AliExpress reviews scraper

Use mode: "reviews" for an AliExpress review API workflow. Review records are separate dataset rows with recordType: "review" and can contain the original and translated review, stars, reviewer country, review date, variant/SKU, buyer photos or video, helpful votes, seller replies, and follow-up feedback.

Filter by minimum/maximum rating, reviewer country, keyword, date, or media presence. Set onlyNewReviews: true to persist accepted review identities and emit only reviews not seen in earlier runs within the fetched review window. Use hideReviewerName: true when buyer display names are unnecessary.

{
"mode": "reviews",
"productUrls": ["3256807852898873"],
"maxReviewRating": 2,
"reviewsWithMediaOnly": true,
"maxReviewsPerProduct": 50,
"maxTotalReviews": 50
}

AliExpress store and supplier scraper

Use mode: "store" with an AliExpress store URL or numeric store ID. The Actor collects unique accessible catalog products, their store position, and available supplier metadata. It can optionally enrich those products with details, reviews, or monitoring data.

{
"mode": "store",
"storeUrls": ["https://www.aliexpress.com/store/1101705614"],
"storeSort": "orders",
"maxResults": 100
}

Store paging is bounded by maxResults and maxStoreScrolls. Dynamic stores do not always expose their complete catalog, so the Actor reports what it captured rather than claiming catalog completeness. This workflow covers common AliExpress store scraper, supplier scraper, and seller scraper use cases.

AliExpress price & stock monitoring

Use mode: "monitor" for an AliExpress price monitor or stock monitor. The Actor stores a compact snapshot in your Apify account and compares the next run with it. It tracks prices, currency, sold count, ratings, review count, total stock, SKU prices and inventory, shipping, and seller metadata where available.

  • NEW — no previous snapshot existed.
  • UPDATED — one or more tracked values changed.
  • UNCHANGED — stable; suppressed by default unless emitUnchanged: true.
{
"mode": "monitor",
"productUrls": ["3256811621288203", "1005012536331708"],
"emitUnchanged": false
}

For the most value, save this input as an Apify Task and attach a Schedule. Monitoring state and datasets remain in the running customer's Apify account.

AliExpress scraper API

Public Actor identity: studio_sussex/aliexpress-product-scraper

Stable Actor ID: i6VUtUn1ch1gwjEzX

Use the Actor through the official Python or JavaScript client, raw REST API, Apify CLI, webhooks, schedules, or automation platforms. API examples for Python, JavaScript, cURL, and AI/MCP clients are available in the public AliExpress Product Scraper API Examples repository.

Store your Apify token in the APIFY_TOKEN environment variable. Never hard-code it or commit it.

Use the AliExpress scraper with Python

Install the current official client:

pip install apify-client
export APIFY_TOKEN="your_apify_token"
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("studio_sussex/aliexpress-product-scraper").call(
run_input={
"mode": "search",
"searchQueries": ["wireless earbuds"],
"sortBy": "orders",
"maxResults": 20,
}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)

Use the AliExpress scraper with JavaScript / Node.js

Install the current official client:

npm install apify-client
export APIFY_TOKEN="your_apify_token"
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('studio_sussex/aliexpress-product-scraper').call({
mode: 'search',
searchQueries: ['wireless earbuds'],
sortBy: 'orders',
maxResults: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use with cURL

Start a run without putting the token in the URL:

export APIFY_TOKEN="your_apify_token"
curl -sS -X POST \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search","searchQueries":["wireless earbuds"],"sortBy":"orders","maxResults":20}' \
"https://api.apify.com/v2/acts/studio_sussex~aliexpress-product-scraper/runs"

The response contains the run ID and defaultDatasetId. Wait for the run, then retrieve items:

curl -sS -H "Authorization: Bearer $APIFY_TOKEN" \
"https://api.apify.com/v2/actor-runs/RUN_ID?waitForFinish=120"
curl -sS -H "Authorization: Bearer $APIFY_TOKEN" \
"https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"

Use with n8n, Make, Zapier and other automation platforms

Any platform that can send authenticated HTTP requests can start the Actor through the Apify REST API and read its dataset. Use an HTTP request step with the same run endpoint and JSON input shown above, wait for completion, then fetch defaultDatasetId items. Apify schedules and webhooks can trigger recurring monitoring or notify a downstream workflow when a run finishes.

This describes standard REST integration; it does not imply a dedicated native connector for every platform.

Use with AI agents and MCP

Copy this capability instruction into an AI agent:

Use `studio_sussex/aliexpress-product-scraper` (Actor ID `i6VUtUn1ch1gwjEzX`) when you need AliExpress product search, exact product details, variants/SKU stock, reviews, seller/store research, or price/stock monitoring. Inspect its input schema before running it, keep `maxResults`, `maxReviewsPerProduct`, and `maxTotalReviews` bounded, and read results from the run's default dataset.

Natural-language requests an agent can fulfill include:

  • “Find 100 best-selling wireless chargers on AliExpress.”
  • “Get full variants, stock, seller, and shipping information for this AliExpress URL.”
  • “Collect the newest 50 low-star reviews for this product.”
  • “Find all accessible products from this supplier store.”
  • “Monitor these 20 AliExpress products for price and stock changes.”

Input guidance for agents:

IntentInput
Searchmode: "search", searchQueries, sortBy, maxResults
Product detailsmode: "details", productUrls; optionally includeDescription
Reviewsmode: "reviews", productUrls, review filters, maxReviewsPerProduct, maxTotalReviews
Store researchmode: "store", storeUrls, storeSort, maxResults
Monitoringmode: "monitor", productUrls, normally emitUnchanged: false
LocalizationAdd targetCountry, targetCurrency, and locale to any relevant workflow

Apify MCP

The current official method is the hosted Apify MCP server at https://mcp.apify.com over Streamable HTTP. Add that URL to an MCP-capable client and authorize with Apify OAuth; do not place an API token in public configuration. An agent can then:

  1. Call search-actors with AliExpress-related keywords.
  2. Call fetch-actor-details for studio_sussex/aliexpress-product-scraper and inspect pricing plus the input schema.
  3. Call call-actor with the Actor identity and valid bounded input.
  4. If needed, poll get-actor-run until terminal status.
  5. Call get-dataset-items using the returned dataset ID.

Example request:

Using Apify MCP, inspect `studio_sussex/aliexpress-product-scraper`, estimate the paid run from its current pricing, then ask for approval before running it. After approval, find 20 wireless earbuds sorted by orders and return the dataset items.

For a minimal client that loads this Actor directly, Apify supports tool selection in the MCP URL:

https://mcp.apify.com?tools=studio_sussex/aliexpress-product-scraper

Running Actors requires authentication. Actor discovery and schema inspection can be performed with Apify's anonymous discovery tools, but execution and dataset access require an authorized Apify account.

Key inputs

InputPurpose
modeAuto, search, details, reviews, monitor, or store workflow
searchQueriesKeyword searches
startUrlsAliExpress keyword-search or category-result URLs
productUrlsExact product URLs/IDs or official AliExpress short/share links
storeUrlsStore URLs or numeric store IDs
maxResultsHard cap on emitted product rows
sortByRelevance, orders, price ascending, or price descending
minPrice, maxPrice, minRating, minSoldProduct filters
minDiscountPercent, choiceOnly, freeShippingOnlyAdditional discovery filters
includeSponsoredInclude or exclude sponsored listings
targetCountry, targetCurrency, localeRequested market and localization
includeDetails, includeDescriptionRich product and description enrichment
includeReviewsCombine reviews with another workflow
minReviewRating, maxReviewRating, reviewCountryReview filters
reviewsWithMediaOnly, reviewKeyword, reviewsSinceDateFocus review collection
onlyNewReviewsEmit only previously unseen reviews within the fetched window
monitorChanges, emitUnchangedChange monitoring behavior
resumeDatasetSkip products already completed in a previous dataset
maxReviewsPerProduct, maxTotalReviewsReview output and spending guards
detailConcurrency, maxStoreScrollsBounded detail/store work

The Input tab is the source of truth for all fields, defaults, limits, and descriptions.

Output datasets and views

The default dataset can contain product and review records. Purpose-built views make exports easier:

View/outputPurpose
overviewDiscovered and enriched products
pricingPrices, discounts, ratings, sales, and URLs
exportCompact flat product export
detailsFull product details, seller, shipping, specifications, gallery, and description
reviewsBuyer review records
changesMonitoring lifecycle and before/after state
storesSupplier/store products and store metadata
variantsOne row per product SKU/variant
Run reportHTML dashboard with counts, detail success, billing events, and diagnostics
Market summaryPrice/sales/rating distributions, coverage, top stores/categories, and top products

Missing upstream data remains null or absent rather than being invented. Without extra scrape requests, product runs also generate a market summary. Products with collected reviews can include derived positive/negative/media rates, top countries and variants, low-rating problem variants, and best-effort complaint themes.

Resume and incremental collection

  • Select resumeDataset to continue product collection without re-emitting products already completed there.
  • Use onlyNewReviews: true to emit and bill only unseen accepted review identities in the fetched review window.
  • Product monitoring persists compact snapshots and normally suppresses unchanged products.
  • Monitoring and incremental state are stored in named key-value stores in the customer's Apify account.

Pricing

This Actor uses pay per event. Always check the live Store pricing panel before a run because Store prices can change.

EventCurrent listed price
Actor start$0.005 per start event (memory-adjusted by Apify)
Search/store product$0.00199 per successful product
Full product detail$0.008 per successful rich detail
Buyer review$0.001 per emitted review
Product change$0.005 per first-seen or changed monitoring result

Product result events are mutually exclusive: an ordinary search/store row uses product, a successful rich detail uses product-detail, and a first-seen or changed monitor row uses product-change. Reviews are billed independently. Filtered rows, duplicates, failed requests, failed direct details, suppressed unchanged rows, and rows beyond a charge limit are not successful custom result events.

Use maxResults, maxReviewsPerProduct, maxTotalReviews, and Apify's run charge limit to control spend.

Reliability and limitations

  • Search uses lightweight HTTP; detail and store workflows use Chromium only when required.
  • Product-detail contexts are isolated and concurrency is bounded.
  • On Apify cloud, proxy routing is managed automatically; customers do not provide proxy credentials.
  • Blocks are reported as blocks, not disguised as zero-result success.
  • The Actor does not solve CAPTCHAs.
  • Rich detail is product and route dependent; it is not guaranteed for every product.
  • Store catalogs are dynamic and bounded, so captured results may not represent every store item.
  • AliExpress can override requested localization. Trust each row's returned currency and market fields.
  • Review depth depends on what AliExpress exposes in the fetched window.
  • Retries, pages, request counts, and browser operations are bounded.

In private/cloud acceptance tests, 1K, 5K, and 10K unique-product US search runs completed with zero retries, blocks, or errors for the measured input shape. The measured 10K run completed in about nine minutes. These are test results, not a promise that every 10K run will have the same speed or outcome.

FAQ

Is this an AliExpress API alternative?

Yes for data-collection workflows: it provides structured product search, details, variants, reviews, seller/store data, and monitoring through Apify clients and REST APIs. It is an independent scraper, not an official AliExpress API and not affiliated with or endorsed by AliExpress.

Do I need my own proxy?

No. Proxy routing is managed on Apify cloud. Do not put proxy URLs or credentials in ordinary Actor input.

Can it scrape AliExpress variants and SKU inventory?

Yes, when full detail succeeds and AliExpress exposes the fields. The variants dataset view produces one row per SKU with price and available inventory where available.

Can it scrape AliExpress buyer photos and low-star reviews?

Yes. Use reviewsWithMediaOnly: true, set maxReviewRating, and bound maxReviewsPerProduct and maxTotalReviews.

Can it scrape every product from an AliExpress supplier store?

It collects accessible products with bounded paging. AliExpress stores are dynamic and may not expose a complete catalog, so completeness is not guaranteed.

Can I use it as an AliExpress price tracker?

Yes. Save monitor input as an Apify Task, schedule repeated runs, and consume NEW/UPDATED records from the changes view. Set emitUnchanged: true only if stable rows are also needed.

Can I use this AliExpress scraper from Python or JavaScript?

Yes. Use the official apify-client package for Python or JavaScript, or call the REST API from any language. Copyable examples are linked above.

Does it work with AI agents and MCP?

Yes. Apify's hosted MCP server can discover, inspect, run, and retrieve results from the Actor after authorization. The Actor's schemas provide structured input and output guidance for agents.

Where is data stored?

Results and state are written to storage in the running customer's Apify account. Dataset and key-value retention follow that customer's Apify plan and storage settings. No output is copied to an external service by this Actor.

Data handling

The Actor processes public AliExpress marketplace pages. Buyer display names can be omitted with hideReviewerName. Use collected data in accordance with applicable law, AliExpress terms, and your own privacy obligations.

This independent community Actor is maintained by Studio Sussex and is not affiliated with or endorsed by AliExpress.

Support

For reproducible issues, open the Actor's Issues tab with the run ID, workflow, sanitized input, and first relevant error message. Never include API tokens, proxy credentials, cookies, or private customer data.