AliExpress Product Search Scraper avatar

AliExpress Product Search Scraper

Pricing

from $1.50 / 1,000 aliexpress product scrapeds

Go to Apify Store
AliExpress Product Search Scraper

AliExpress Product Search Scraper

Search AliExpress by keyword (several at once) or search URL: title, price, discount, rating, orders, Choice badge, free shipping, delivery estimate, store, image, URL. Filter by sort, price, ship-from, Choice, rating, orders; set currency and language. Fast, MCP-ready.

Pricing

from $1.50 / 1,000 aliexpress product scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

92

Total users

36

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

What is AliExpress Product Search Scraper?

AliExpress Product Search Scraper is an Apify Actor for keyword searches or AliExpress search/category URLs. It returns one record per product listing card with fields such as title, price, original price, discount, rating, orders sold, store name, image URL, product URL, search query, and scrape timestamp. It also supports source-side filtering by sort order, price range, free shipping, minimum rating, and minimum orders, and it is usable through Apify MCP.

Best fit and connected workflows

Use this Actor when your workflow starts with AliExpress product discovery and ends with a structured list of listing cards.

  • Start from a keyword when you want AliExpress search results collected into a dataset.
  • Start from an AliExpress search or category URL when you already have a results page you want to inspect directly.
  • Use sortBy, minPrice, maxPrice, freeShipping, minRating, and minOrders to shape the result set before records are stored.
  • Use the returned productUrl, productId, and storeUrl fields to route selected items into follow-up research or seller review workflows.
  • Continue with AliExpress Scraper - Products, Reviews & Sellers when you want detail-level data for selected products discovered here.

Practical scenario

Mina is researching mechanical keyboards for a catalog comparison. She starts with searchQuery: "mechanical keyboard", keeps site: "aliexpress.com", and sets sortBy: "ordersDesc", minRating: 4, and minOrders: 100. The returned dataset includes title, price, discountPercent, rating, ordersCount, storeName, and productUrl for each card. Mina uses rating and ordersCount to shortlist listings, then opens the productUrl values and sends selected products to a deeper product workflow.

Input

FieldTypeDescription
searchQuerystringFree-text keyword to search AliExpress products, such as wireless earbuds. The Actor reads the search results page by page and returns one record per product card. Leave empty when using startUrls.
searchQueriesarrayMore keywords, one search each. A product found by several keywords is returned once, under the first keyword that found it. maxResults covers all keywords together.
startUrlsarrayAliExpress search or category URLs to scrape directly, such as a wholesale keyword page or a /category/ page. Use this with or instead of searchQuery.
maxResultsintegerMaximum number of product records to return. The Actor auto-paginates until this cap is reached, then stops.
sortBystringResult ordering for keyword searches: relevance, ordersDesc, priceAsc, priceDesc, or newest.
minPriceintegerMinimum product price in the site's currency.
maxPriceintegerMaximum product price in the site's currency.
freeShippingbooleanRestrict results to products offering free shipping to the ship-to country.
choiceOnlybooleanKeep only products with the AliExpress Choice badge. Checked on every returned product.
excludeSponsoredbooleanDrop paid-placement cards so only organic results are returned.
shipFromstringOnly products shipped from this warehouse country, such as US or CN.
minRatingintegerMinimum average star rating from 0 to 5.
minOrdersintegerMinimum orders sold to keep in the result set.
sitestringAliExpress regional domain such as aliexpress.com, aliexpress.us, or a country-specific domain.
shipCountrystringTwo-letter ISO ship-to country code, such as US, GB, or DE.
currencystringShow prices in this currency, such as EUR or GBP. Unset lets AliExpress choose from the ship-to country.
languagestringLanguage of titles and labels, such as de or fr. Unset uses the AliExpress default.
proxyConfigurationobjectOptional. Leave the default and the Actor chooses the cheapest working route. Set your own proxy group or URLs only to load every page in a browser through your proxy.

Example input

{
"searchQuery": "mechanical keyboard",
"maxResults": 50,
"sortBy": "ordersDesc",
"minPrice": 20,
"maxPrice": 80,
"freeShipping": true,
"minRating": 4,
"minOrders": 100,
"site": "aliexpress.com",
"shipCountry": "US"
}

Output

Each dataset record represents one AliExpress product listing card.

FieldTypeDescription
recordTypestringRecord type for dataset rows. This Actor stores product listings as product.
productIdstringAliExpress product identifier from the listing card.
titlestringProduct title shown in search results.
productUrlstringCanonical product page URL.
imageUrlstringMain product image URL from the listing card.
pricenumberCurrent sale price from the card.
originalPricenumberOriginal displayed price when shown.
discountPercentnumberDiscount percentage derived from the card when present.
currencystringCurrency code served by AliExpress.
ratingnumberAverage star rating on the card.
reviewsCountintegerNumber of reviews shown with the listing.
ordersCountintegerOrders or units sold shown on the card.
storeNamestringSeller store name when present.
storeIdstringSeller store identifier when present.
storeUrlstringSeller store URL when present.
isChoicebooleanTrue when the card has the AliExpress Choice badge.
freeShippingbooleanTrue when the card shows free shipping to the ship-to country.
isSponsoredbooleanTrue for paid-placement (advertised) cards.
deliveryEstimatestringDelivery promise shown on the card, for example Fastest delivery in 5 days.
launchDatestringDate the product was listed (YYYY-MM-DD) when shown.
positionintegerPosition of the listing in the result set.
searchQuerystringOriginating search query when available.
sitestringAliExpress domain used for the scrape.
scrapedAtstringTimestamp for when the record was collected.
_warningsarrayField-level notes captured when a card is partially parsed.

Example output record

{
"recordType": "product",
"productId": "1005006789012345",
"title": "Mechanical Keyboard 87 Keys Hot-Swappable RGB",
"productUrl": "https://www.aliexpress.com/item/1005006789012345.html",
"imageUrl": "https://ae01.alicdn.com/kf/Sxxxxxxxx.jpg",
"price": 34.99,
"originalPrice": 69.99,
"discountPercent": 50,
"currency": "USD",
"rating": 4.8,
"reviewsCount": 1203,
"ordersCount": 5400,
"storeName": "Keyboard Store",
"storeId": "1101234567",
"storeUrl": "https://www.aliexpress.com/store/1101234567",
"isChoice": true,
"freeShipping": true,
"isSponsored": false,
"deliveryEstimate": "Fastest delivery in 5 days",
"launchDate": "2026-03-09",
"position": 1,
"searchQuery": "mechanical keyboard",
"site": "aliexpress.com",
"scrapedAt": "2026-06-19T08:00:00.000Z"
}

How it works

The Actor reads an AliExpress search results page, or a search/category URL you provide, page by page until maxResults is reached. Most runs use a fast HTTP route: each page of about 60 products is read in a few seconds without opening a browser. A page that route cannot read is loaded in a browser instead, and the run carries on from that same page. Price, rating, orders, Choice and sponsored filters are re-checked on the parsed values before a record is stored.

What this means for you:

  • Several keywords are searched in one run and share one product limit.
  • Large runs are quick: 60 products come back per page read, and pages are read in parallel batches.
  • The browser route uses the cheapest working proxy first, and the number of browser page loads per run is capped, so a blocked day cannot turn into an open-ended proxy bill. If the cap is reached the run ends as partial and charges only for the products it saved.
  • A run that saved no products because every route was blocked fails clearly instead of reporting an empty success.

Pricing

This Actor uses Pay per event pricing on the Apify platform with Apify platform usage included. The live Pricing tab on the Actor page is the source of truth for current event pricing and total cost details.

Charged events:

  • Actor start
  • AliExpress product scraped

Each returned product listing is one billable product event. The price per product steps down on higher Apify plans (see the Pricing tab for the exact tiers). Filtered-out products are not charged. As a planning example written in words: a run that returns one hundred products is charged one Actor start event plus one hundred product events.

Free Apify plan

Runs from a free Apify plan return up to 25 products per run. Every option and field is available. Paid Apify plans have no per-run limit.

Use with AI agents (MCP)

This Actor is MCP-ready and usable through Apify MCP as a tool for AliExpress product discovery. The tool accepts a keyword search or AliExpress search/category URL and returns structured product listing cards that an agent can compare, rank, or pass into a follow-up workflow.

Exact Actor identity: khadinakbar/aliexpress-product-search-scraper

Search AliExpress for "wireless earbuds" on aliexpress.com, sort by most orders, keep products with at least 4 stars and 100 orders, and return the dataset records with title, price, discount, rating, orders, store, and product URL.

Output interpretation:

  • title, price, rating, and ordersCount help compare listing cards.
  • storeName, storeId, and storeUrl help route to seller-focused workflows.
  • productUrl and productId support opening the listing or passing selected items downstream.
  • searchQuery, site, and scrapedAt provide provenance for agent reasoning.
  • maxResults controls pagination and also acts as a practical cost ceiling for returned products.
  • The dataset contains the product cards, while runOutput and runSummary provide machine-readable run status in the key-value store.

JavaScript Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const input = {
searchQuery: 'mechanical keyboard',
maxResults: 10,
sortBy: 'ordersDesc',
minRating: 4,
minOrders: 100,
site: 'aliexpress.com',
shipCountry: 'US',
};
const run = await client.actor('khadinakbar/aliexpress-product-search-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });
console.log(items);

Best results and outcome guidance

Use a keyword when you want broad discovery and a category URL when you already have a curated AliExpress results page. Set sortBy: "ordersDesc" when you want marketplace signals to appear early in the result set. Use minRating and minOrders together when you want more established listings, and set minPrice and maxPrice when comparing within a target price band. For regional research, align site and shipCountry so the returned results reflect the same market context.

Design note

I found that the output contract centers on product-card fields such as title, price, rating, ordersCount, storeName, productUrl, and scrapedAt, which makes the dataset easy to scan and route in automation.

FAQ

Can I start from an AliExpress category page instead of a keyword?

Yes. Use startUrls with an AliExpress search or category URL.

How do I connect this to deeper product research?

Run this Actor first to discover and rank listings, then pass selected product URLs or IDs to AliExpress Scraper - Products, Reviews & Sellers for detail-level scraping.

What decides the order of results?

For keyword searches, sortBy controls the ordering. For startUrls, the sort order already present in the URL is respected.

How does the Actor help with cost planning?

maxResults caps the number of returned products, and each returned product is a billable event. That makes the result cap a practical spending boundary.

What does 1,000 products cost?

On the Free and Starter plans, 1,000 products cost $2.00 (plus a tiny start fee). Scale plans pay $1.80 and Business plans and above pay $1.50 per 1,000. Apify platform usage is included, so there is no second bill. Products removed by your filters are not charged.

Why did a free-plan run stop at 25 products?

Runs from a free Apify plan return up to 25 products so you can test every option. Paid plans have no per-run limit.

Why did I get fewer products than maxResults?

AliExpress may have fewer matches than your cap, your filters (rating, orders, Choice, price) may remove cards, or the run reached its browser page budget on a blocked day. The run summary in the key-value store (OUTPUT) shows which, and you are charged only for saved products.

Which output fields are most useful for routing?

productUrl, productId, storeUrl, ordersCount, and rating are common fields for the next workflow step.

Responsible use

Use this Actor for publicly available AliExpress search-result data and apply it in line with AliExpress terms, applicable law, and your data governance requirements. Match the selected site and shipCountry to the market you are researching, keep maxResults aligned with your intended scope, and review returned records before using them in any external workflow.