AliExpress Product Data API: Prices, Ratings, and Orders in Python
AliExpress affiliate API has restricted coverage. Learn how to scrape AliExpress product listings for prices, ratings, order counts, and seller data as structured JSON — no affiliate approval needed.
The actor referenced in this article. Pay only for results delivered.
AliExpress is the largest source of dropshipping product data on the internet. Getting that data programmatically is harder than it should be. Here is the practical guide.
The official API problem
AliExpress has an Open Platform API, but it requires applying for the affiliate program and waiting for approval. Even after approval, it only covers products that are part of the affiliate catalog — a subset of what is actually listed. For full product search and price tracking, scraping is the only option.
What data you can pull
Each product listing on AliExpress contains:
- Product title (English and localised)
- Current price and original price (for discounted items)
- Discount percentage
- Star rating (0-5) and total review count
- Total order count (this is the key demand signal)
- Seller store name and rating
- Primary product image URL
- Product URL
Using the Apify actor
import apify_client
client = apify_client.ApifyClient('YOUR_APIFY_TOKEN')
run_input = {
"searchQuery": "wireless earbuds",
"maxResults": 100,
"sortBy": "orders", # sort by most ordered
"minPrice": 5,
"maxPrice": 50,
"minRating": 4.0,
"minOrders": 1000,
}
run = client.actor('themineworks/aliexpress-products').call(run_input=run_input)
for product in client.dataset(run['defaultDatasetId']).iterate_items():
print(f"{product['title'][:60]}")
print(f" Price: ${product['price']} Orders: {product['orders']} Rating: {product['rating']}")
Finding winning dropshipping products
The standard dropshipping research formula on AliExpress:
results = list(client.dataset(run['defaultDatasetId']).iterate_items())
# Filter for products with strong demand signals
winners = [p for p in results if
p.get('orders', 0) > 5000 and # proven demand
p.get('rating', 0) >= 4.2 and # quality signal
p.get('price', 0) < 20 # room for retail markup
]
winners.sort(key=lambda x: x['orders'], reverse=True)
for p in winners[:10]:
print(p['title'], p['orders'], 'orders')
Price tracking over time
Schedule weekly runs and compare prices to detect seasonal patterns and restocking cycles:
import json
from datetime import datetime
# Store each run with a timestamp
run_date = datetime.now().strftime('%Y-%m-%d')
results = list(client.dataset(run['defaultDatasetId']).iterate_items())
with open(f'aliexpress_prices_{run_date}.json', 'w') as f:
json.dump(results, f)
Category browsing
Instead of keyword search, browse by category ID for comprehensive coverage of a product niche:
run_input = {
"categoryId": "200000528", # Phones & Accessories
"sortBy": "orders",
"maxResults": 500,
}
Pricing
Pay $0.0025 per product returned. Zero charge on empty searches.
Explore the scraper referenced in this article — see inputs, outputs, and pricing, then run it on Apify.
Frequently asked questions
Does AliExpress have an official product API? +
AliExpress has an affiliate API (AliExpress Open Platform) but it requires affiliate program approval and has restricted product coverage. Full catalog access requires scraping.
Is AliExpress data useful for dropshipping research? +
Yes. Order count on AliExpress is a reliable demand signal. High order count combined with high price margin indicates a product worth testing.
Can I track AliExpress prices over time? +
Yes. Run the scraper on a schedule and store results to a database to track price changes, discount patterns, and order count growth for any product or keyword.
How to Scrape CutShort Jobs for India Tech Hiring Data (No API)
CutShort is where Indian startups post engineering and product roles, and it has no public jobs API. Learn how to extract titles, companies, salary ranges, skills, and experience bands as structured JSON for recruiting feeds and talent market research.
Airbnb Scraper: Listing Prices, Ratings, and Availability Without the API
Airbnb has no public listings API. Here's how to pull nightly price, rating, superhost status and coordinates from Airbnb search results using Python.
Maps Leads: Verified Email Extraction from Google Maps Business Listings
How to pull B2B leads from Google Maps with MX-verified emails, past the official API's 120-result cap, and pay only for contactable businesses.