DEV Community

agenthustler
agenthustler

Posted on

Scraping AliExpress in 2026: Product Search & Price Data for Dropshippers

Dropshipping research in 2026 still relies heavily on AliExpress data — product prices, seller ratings, shipping options, and sales volume. But getting that data programmatically has become harder as AliExpress tightened its anti-bot defenses.

This guide covers how to scrape AliExpress product data reliably using browser automation on Apify, with Python code you can run today.


Why Scrape AliExpress?

If you're in dropshipping or e-commerce research, you need AliExpress data for:

  • Product sourcing — find suppliers and compare prices across sellers
  • Price tracking — monitor price changes over time for your catalog
  • Trend spotting — discover what's selling well before competitors do
  • Winning product research — filter by price, rating, and sales volume to find high-margin items

AliExpress doesn't offer a public product search API, so scraping is the standard approach.

The Challenge: Anti-Bot Detection

AliExpress uses aggressive bot detection. Simple HTTP requests with requests or httpx will get blocked immediately. Here's what you're up against:

  • JavaScript rendering required — product data loads dynamically
  • Browser fingerprinting — they check for headless browser signatures
  • Rate limiting — too many requests from one IP triggers CAPTCHAs
  • Geo-blocking — some data varies by region

What works in 2026:

Approach Reliability Cost
Raw HTTP requests ❌ Blocked Free
Puppeteer/Playwright (datacenter) ⚠️ Works via aliexpress.us, flaky on .com Low
Playwright + stealth + residential proxies ✅ Reliable Medium
Managed actor (Apify) ✅ Reliable + maintained $4.99/mo

The key insight: aliexpress.us (the US-facing domain) is more lenient with datacenter IPs than aliexpress.com. For reliable .com access, you'll need residential proxies.

What Data Can You Extract?

From search results (keyword → product list):

  • Product title
  • Current price and original price
  • Star rating and review count
  • Total sales/orders count
  • Seller name
  • Shipping cost and estimated delivery
  • Product image URL
  • Product ID (for detail scraping)

From product detail pages:

  • Full description
  • All variant options (size, color, etc.) with prices
  • Seller rating and store info
  • Shipping options by country
  • Photo gallery
  • Specifications table

Using the AliExpress Scraper Actor on Apify

The AliExpress Scraper actor handles the browser automation, stealth mode, and proxy rotation for you. It has two modes:

Search Mode

Pass a keyword, get back a list of matching products with prices and ratings:

{
  "mode": "search",
  "keyword": "wireless earbuds",
  "maxResults": 50
}
Enter fullscreen mode Exit fullscreen mode

Product Detail Mode

Pass product URLs or IDs for full detail extraction:

{
  "mode": "product",
  "urls": ["https://www.aliexpress.com/item/1005006...]"]
}
Enter fullscreen mode Exit fullscreen mode

The actor uses Playwright with stealth plugins and supports optional residential proxy configuration for maximum reliability.

Python Code Example

Here's how to use the actor from Python with the apify-client library:

from apify_client import ApifyClient
import json

# Initialize the Apify client
client = ApifyClient("YOUR_APIFY_TOKEN")

# Search for products
run_input = {
    "mode": "search",
    "keyword": "wireless earbuds bluetooth",
    "maxResults": 100,
}

# Run the actor and wait for it to finish
run = client.actor("cryptosignals/aliexpress-scraper").call(run_input=run_input)

# Fetch results from the dataset
results = list(client.dataset(run["defaultDatasetId"]).iterate_items())

print(f"Found {len(results)} products")

# Example: filter for winning products
winners = [
    p for p in results
    if p.get("price", 99) < 5.0
    and p.get("rating", 0) >= 4.0
    and p.get("orders", 0) >= 1000
]

print(f"\nWinning products (under $5, 4+ stars, 1000+ sales):")
for p in winners:
    print(f"  ${p['price']:.2f} | ⭐ {p['rating']} | {p['orders']} sold | {p['title'][:60]}")
Enter fullscreen mode Exit fullscreen mode

Install the client:

pip install apify-client
Enter fullscreen mode Exit fullscreen mode

Use Case: Finding Winning Dropshipping Products

The classic "winning product" formula for dropshippers:

  1. Price under $5 — leaves room for 3-5x markup
  2. Rating 4+ stars — quality signal, fewer returns
  3. 1000+ sales — proven demand, reliable seller
  4. Low shipping cost — or free shipping available

Here's a more complete script that exports results to CSV:

from apify_client import ApifyClient
import csv

client = ApifyClient("YOUR_APIFY_TOKEN")

# Search across multiple niches
niches = ["phone accessories", "kitchen gadgets", "pet toys", "car accessories"]

all_winners = []

for niche in niches:
    run = client.actor("cryptosignals/aliexpress-scraper").call(
        run_input={"mode": "search", "keyword": niche, "maxResults": 100}
    )

    products = list(client.dataset(run["defaultDatasetId"]).iterate_items())

    winners = [
        p for p in products
        if p.get("price", 99) < 5.0
        and p.get("rating", 0) >= 4.0
        and p.get("orders", 0) >= 1000
    ]

    for w in winners:
        w["niche"] = niche

    all_winners.extend(winners)
    print(f"{niche}: {len(winners)} winners out of {len(products)} products")

# Export to CSV
with open("winning_products.csv", "w", newline="") as f:
    writer = csv.DictWriter(f, fieldnames=["niche", "title", "price", "rating", "orders", "url"])
    writer.writeheader()
    for p in all_winners:
        writer.writerow({
            "niche": p["niche"],
            "title": p.get("title", ""),
            "price": p.get("price", ""),
            "rating": p.get("rating", ""),
            "orders": p.get("orders", ""),
            "url": p.get("url", ""),
        })

print(f"\nTotal winners: {len(all_winners)} → winning_products.csv")
Enter fullscreen mode Exit fullscreen mode

Tips for Reliable Scraping

  1. Start with aliexpress.us if you don't need region-specific pricing — it's more lenient with datacenter IPs
  2. Use residential proxies for aliexpress.com if you need specific regional data
  3. Respect rate limits — don't hammer the site; the actor handles pacing automatically
  4. Cache results — product data doesn't change every minute; scrape daily or weekly
  5. Handle variants — a product at "$1.99" might be $15.99 for the variant buyers actually want

Get Started

The AliExpress Scraper actor launches this week on Apify. Starting April 3, it's $4.99/month for unlimited runs (you pay Apify platform costs separately for compute).

Try it out and let me know in the comments if you have questions about scraping AliExpress or building dropshipping research workflows.


Built with Playwright stealth mode on Apify. Works with both datacenter and residential proxies.

Top comments (0)