AliExpress Products Scraper
Pricing
from $0.30 / 1,000 product saveds
AliExpress Products Scraper
Scrape AliExpress search and category pages for product prices, ratings, sales signals, shipping details, and seller URLs.
Pricing
from $0.30 / 1,000 product saveds
Rating
0.0
(0)
Developer
Fetch Cat
Maintained by CommunityActor stats
0
Bookmarked
554
Total users
171
Monthly active users
43 minutes ago
Last modified
Categories
Features
Share
Export AliExpress product listings from a search query or public listing URLs, with prices, product links, ratings and sales text when available. AliExpress Products Scraper returns listing cards—not full product details, variants, stock or review text—and leaves unavailable optional fields empty.
Quick start
{"query": "phone case","maxItems": 20}
Start the Actor, inspect the dataset, then download JSON, CSV or Excel. In the input form, clear the example Start URLs to search by keyword: non-empty startUrls takes precedence over query. An omitted or blank query with no start URLs searches for laptop.
Results reflect the page served by AliExpress. Country, currency, sorting and price settings are preferences for query-built URLs, not guaranteed filters. Fewer products—or an empty dataset—may be returned when listings are unavailable or access is restricted.
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
Ready-to-run examples
Choose a public example to see its settings before starting a run:
- AliExpress LED Strip Supplier Research
- AliExpress Wireless Earbuds Product Research
- AliExpress Product Discovery Export
What you get
One row per saved product listing with a usable displayed price, product identity and source link. Available ratings, seller details and shipping or sales text add context, but may be absent across a run. Preserve the reported currency and collection time when comparing observations.
Who is it for?
- Ecommerce buyers researching a product niche before manually checking individual offers.
- Catalog analysts organizing listing identities, images and visible prices for an internal spreadsheet.
- Marketplace researchers comparing repeated observations under consistent country and currency settings.
- Sourcing teams reviewing available seller names and store links before further supplier checks.
How you can use the data
- Prepare an LED-strip comparison sheet. Use the public listing URL in the input example with a small
maxItems, then exportproductId,title,productUrl,priceandcurrency. Check the actual reported currency before combining prices. - Compare your own price observations. Keep
productId,sourceUrlandscrapedAtfrom each export, then join later datasets in your spreadsheet. Promotions and page variants can change the visible offer, so rows are not checkout quotes. - Review sales and shipping text in context. Keep
ordersSoldandshippingPriceas source text. They are not independently verified demand counts or normalized delivery costs. - Prepare a seller review queue. Retain available
sellerNameandsellerUrlalongside product links for manual checks. Missing seller fields do not establish that no store information exists.
Input settings
| Setting | JSON key | Purpose |
|---|---|---|
| Search query | query | Keyword. Used when no start URLs are supplied |
| Start URLs | startUrls | Public HTTPS AliExpress listing pages. Takes precedence over query |
| Maximum products | maxItems | Total saved-row cap, 1–1,000. Default 50 |
| Ship-to country | shipToCountry | Destination preference for a keyword search |
| Currency | currency | Currency preference for a keyword search |
| Sort order | sort | relevance, orders_desc, price_asc or price_desc |
| Price range | minPrice, maxPrice | Non-negative search preferences. Minimum cannot exceed maximum |
| Proxy configuration | proxyConfiguration | Optional primary-request proxy settings. See field help for scope and precedence |
Detailed behavior and limitations are in each input field's help. None of these fields is globally required. API defaults and form prefills are different: maxItems defaults to 50 while the form example is 20.
For a known listing page:
{"startUrls": [{ "url": "https://www.aliexpress.com/w/wholesale-led-strip.html?SearchText=led%20strip" }],"maxItems": 20}
Each supplied URL is read as a single page. Query settings do not modify those URLs. There is no product-detail mode, automatic full-category export or guaranteed unique-product count across overlapping pages.
Output data
Illustrative shape only—not a verified live listing. Optional values can be null.
{"query": "phone case","position": 1,"title": "Example phone case","productUrl": "https://www.aliexpress.com/item/1005000000000000.html","imageUrl": null,"price": 4.99,"originalPrice": null,"currency": "USD","discount": null,"rating": null,"reviewCount": null,"ordersSold": null,"shippingPrice": null,"shipsFrom": null,"sellerName": null,"sellerUrl": null,"isSponsored": false,"productId": "1005000000000000","sourceUrl": "https://www.aliexpress.com/w/wholesale-phone-case.html?SearchText=phone%20case","scrapedAt": "2026-10-24T00:00:00.000Z"}
More output fields
| Field | Meaning |
|---|---|
query | Supplied keyword, or null when only URLs are used |
position | Sequential extracted-row position, not a global marketplace rank |
title, productId, productUrl | Product identity and listing title |
imageUrl | Listing image link when available |
price | Usable displayed price. Cards without one are skipped |
originalPrice, discount | Original price and discount when available |
currency | Reported currency. Inspect it before combining prices |
rating, reviewCount | Listing rating and review count when available, not review text |
ordersSold | Served sales text, such as “1,000+ sold” |
shippingPrice | Shipping text, not a normalized numeric shipping cost |
shipsFrom | Shipping origin when exposed |
sellerName, sellerUrl | Store details when exposed |
isSponsored | Promotion indicator inferred from the served listing |
sourceUrl, scrapedAt | Listing source and extraction timestamp |
Coverage varies by page variant. Seller details, review counts and shipping origins may be missing throughout a run. Prices may be promotional. These rows are not checkout quotes. No downloadable run-summary or resume record is currently provided.
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
This Actor uses pay-per-event pricing:
startis a one-time charge attempted at run start, before input validation. Invalid input does not guarantee avoidance of the start charge.resultis charged for each product row saved to the dataset. Skipped cards and empty results do not create saved-product charges.
Per-product result prices increase on 27 November 2026 for every plan; the start fee is unchanged. Current prices apply until then.
See the live Pricing tab for current and upcoming rates and plan discounts. Applicable Apify platform and optional proxy usage are separate considerations.
Getting more results
A run stops at Maximum products (default 50, up to 1,000) or at your max cost per run. The status message says which one stopped it. For larger catalogs, raise Maximum products, split work across several queries or listing URLs, or schedule recurring runs. Charges are a small start fee plus one charge per saved product; skipped cards and empty pages are not charged. Your plan's monthly usage credit covers these until it runs out, and paid plans get lower per-product prices. See the live Pricing tab for current and upcoming rates.
Runs can also finish when the available listing pages return no more usable products, or stop before their timeout. When AliExpress explicitly reports no matches, the final message says so and suggests broader terms or different filters. An unreadable or blocked listing fails rather than claiming there are no matches; any products already saved remain in the dataset.
Public store product-listing URLs are supported. Each supplied store URL collects the first page (up to 40 products), not the store's full catalog.
Tips for best results
- Start with 20 rows. Review the returned product links and fields before increasing
maxItems. - Choose between a keyword and a listing URL. Clear the form's example start URLs when you want to use
query, because nonempty URLs take precedence. - Keep price comparisons consistent. Check actual currency and source URL on each row, then apply any strict sorting or price criteria in your own workflow.
- Review optional seller and shipping fields before importing. Leave unavailable values unknown rather than filling them from assumptions.
Limits and caveats
Country, currency, sorting and price controls are preferences for query-built URLs, not enforced filters on the saved dataset. Query settings do not modify supplied start URLs. Each supplied URL is read as a single page, with no automatic full-category export or guaranteed unique-product count across overlapping pages.
maxItems bounds saved rows rather than the exact number of requests or elapsed time. Cards without a usable price are skipped. Listing pages do not expose all product-detail information, and there is no product-detail mode, stock, variant or review-text extraction.
A confirmed no-match response succeeds with an empty dataset and an explicit status message. Inaccessible pages, access challenges or changed page structure can also leave an empty dataset, but these are reported as failures, not no matches. Empty output alone does not prove that a query has no products. Seller details, review counts and shipping origins can be missing throughout a run. Prices can be promotional and are not checkout quotes. No downloadable run-summary or resume record is currently provided.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.
Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~aliexpress-products-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \--data @- <<'JSON'{"query": "phone case","maxItems": 20}JSON
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/aliexpress-products-scraper').call({"query": "phone case","maxItems": 20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/aliexpress-products-scraper').call(run_input={'query': 'phone case', 'maxItems': 20})print(client.dataset(run['defaultDatasetId']).list_items().items)
AI-agent and MCP usage notes
Authenticate through your client's supported setup, never by posting credentials in prompts. Request a bounded input such as {"query":"led strip","maxItems":20}, wait for the run and retrieve its dataset. Check currency, missing fields and actual rows before summarizing. Listing eligibility is not a guarantee of discovery rank or successful extraction.
MCP and AI agents
You can ask your AI assistant to collect data with AliExpress Products Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's AliExpress Products Scraper. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/aliexpress-products-scraper"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use AliExpress Products Scraper by Fetch Cat, or give it the identifier fetch_cat/aliexpress-products-scraper.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Use Fetch Cat’s AliExpress Products Scraper to search phone case with a maximum of 5 products, clearing any example start URLs. Show product links, prices and actual currencies, marking missing seller fields.”
- “Collect up to 5 products from the public AliExpress LED-strip listing URL I provide. Include product IDs, source URLs and collection times so I can compare the export with my spreadsheet.”
- “Search laptop with this scraper and save at most 5 products. Show visible sales and shipping text alongside each price, and explain why these are not verified demand counts or final checkout totals.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Can I export AliExpress products to CSV or use an API?
Yes. Export the dataset from Apify or retrieve it through the clients/API above. This is an independent listing scraper, not the official AliExpress API.
Does this require an AliExpress login?
No. It reads public listings and does not log in, open buyer accounts, add items to a cart or access private account data. Product details, stock, variants and review text are outside its scope.
Why does the currency or ordering differ from my input?
AliExpress can serve different markets and page variants, and locale preferences may not be retained on every attempt. Results preserve served order rather than applying a final sort or currency conversion. Check the rows rather than assuming the preference was honored.
Can I monitor prices over time?
You can compare saved datasets through your own automation. Scheduling, alerts and historical price analysis are not built into this Actor. It returns a snapshot of the listings it can access.
Why are seller fields empty or fewer products returned?
A page may omit store data, contain fewer usable cards or restrict access. Cards without a usable price are skipped. Lowering the limit does not guarantee access or complete optional fields. Include the run ID when reporting unexpected missing results.
Related Actors
- Amazon Products & Search Scraper — compare marketplace product listings.
- Walmart Products Scraper — collect Walmart product data.
- eBay Marketplace Scraper — research eBay listings.
- Etsy Scraper — collect Etsy marketplace listings.
- Google Shopping Results Scraper — research shopping search results.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥