AliExpress Product Search Scraper
Pricing
from $1.50 / 1,000 aliexpress product scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
92
Total users
36
Monthly active users
a day ago
Last modified
Categories
Features
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, andminOrdersto shape the result set before records are stored. - Use the returned
productUrl,productId, andstoreUrlfields 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
| Field | Type | Description |
|---|---|---|
searchQuery | string | Free-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. |
searchQueries | array | More 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. |
startUrls | array | AliExpress search or category URLs to scrape directly, such as a wholesale keyword page or a /category/ page. Use this with or instead of searchQuery. |
maxResults | integer | Maximum number of product records to return. The Actor auto-paginates until this cap is reached, then stops. |
sortBy | string | Result ordering for keyword searches: relevance, ordersDesc, priceAsc, priceDesc, or newest. |
minPrice | integer | Minimum product price in the site's currency. |
maxPrice | integer | Maximum product price in the site's currency. |
freeShipping | boolean | Restrict results to products offering free shipping to the ship-to country. |
choiceOnly | boolean | Keep only products with the AliExpress Choice badge. Checked on every returned product. |
excludeSponsored | boolean | Drop paid-placement cards so only organic results are returned. |
shipFrom | string | Only products shipped from this warehouse country, such as US or CN. |
minRating | integer | Minimum average star rating from 0 to 5. |
minOrders | integer | Minimum orders sold to keep in the result set. |
site | string | AliExpress regional domain such as aliexpress.com, aliexpress.us, or a country-specific domain. |
shipCountry | string | Two-letter ISO ship-to country code, such as US, GB, or DE. |
currency | string | Show prices in this currency, such as EUR or GBP. Unset lets AliExpress choose from the ship-to country. |
language | string | Language of titles and labels, such as de or fr. Unset uses the AliExpress default. |
proxyConfiguration | object | Optional. 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.
| Field | Type | Description |
|---|---|---|
recordType | string | Record type for dataset rows. This Actor stores product listings as product. |
productId | string | AliExpress product identifier from the listing card. |
title | string | Product title shown in search results. |
productUrl | string | Canonical product page URL. |
imageUrl | string | Main product image URL from the listing card. |
price | number | Current sale price from the card. |
originalPrice | number | Original displayed price when shown. |
discountPercent | number | Discount percentage derived from the card when present. |
currency | string | Currency code served by AliExpress. |
rating | number | Average star rating on the card. |
reviewsCount | integer | Number of reviews shown with the listing. |
ordersCount | integer | Orders or units sold shown on the card. |
storeName | string | Seller store name when present. |
storeId | string | Seller store identifier when present. |
storeUrl | string | Seller store URL when present. |
isChoice | boolean | True when the card has the AliExpress Choice badge. |
freeShipping | boolean | True when the card shows free shipping to the ship-to country. |
isSponsored | boolean | True for paid-placement (advertised) cards. |
deliveryEstimate | string | Delivery promise shown on the card, for example Fastest delivery in 5 days. |
launchDate | string | Date the product was listed (YYYY-MM-DD) when shown. |
position | integer | Position of the listing in the result set. |
searchQuery | string | Originating search query when available. |
site | string | AliExpress domain used for the scrape. |
scrapedAt | string | Timestamp for when the record was collected. |
_warnings | array | Field-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, andordersCounthelp compare listing cards.storeName,storeId, andstoreUrlhelp route to seller-focused workflows.productUrlandproductIdsupport opening the listing or passing selected items downstream.searchQuery,site, andscrapedAtprovide provenance for agent reasoning.maxResultscontrols pagination and also acts as a practical cost ceiling for returned products.- The dataset contains the product cards, while
runOutputandrunSummaryprovide 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.
Related Actors
- AliExpress Scraper - Products, Reviews & Sellers - Use it after this Actor when you want detail data for selected product URLs or product IDs from the discovered listings.