Alibaba Products Scraper
Pricing
Pay per event
Alibaba Products Scraper
Search Alibaba.com product listings by keyword and get structured rows for every matching supplier offer — product id, title, price/price range, MOQ, supplier name, image, and product URL. Built for dropshippers, sourcing agents, and e-commerce tooling. A wholesale supplier API alternative.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
🎯 What this scrapes
Alibaba.com is the largest B2B sourcing marketplace on the web, and its own search box is the only way most buyers ever touch it. This Actor pastes your search terms into that search box for you — feed it one or more free-text queries like "bluetooth speaker" or "led strip light" and get back structured rows for every matching supplier offer: product ID, title, price or price range, minimum order quantity, supplier name, primary image, and the direct product URL. Pagination and cross-page duplicate offers (a known quirk of Alibaba's sponsored listings) are handled for you, so every row in your dataset is a unique product.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox TLS handshakes on every fetch, good hygiene on any target. - 🔁 Retries with exponential backoff on
408 / 429 / 503and network errors — up to 5 attempts per page,Retry-Afterhonoured. - 🧹 Run-wide duplicate removal — Alibaba's sponsored listings repeat across search pages; we dedupe every product ID across the whole run, not just per page, so you never pay twice for the same product.
- 🧩 Per-term fault isolation — one search term's fetch or parse failure skips just that term with a logged warning; it never sinks the whole run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable product IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. A search that runs and matches nothing still succeeds — no data, no charge beyond the warm-up fee.
💡 Use cases
- Dropshipping sourcing — bulk-collect candidate suppliers and price ranges for a product niche before committing to a sample order.
- Sourcing-agent workflows — turn a client's product brief into a structured shortlist of Alibaba suppliers in minutes.
- Price benchmarking — compare price/MOQ spread across many suppliers for the same product category.
- E-commerce tooling — feed supplier catalogs into internal PIM/ERP systems without hand-browsing search pages.
- Market research — track how many suppliers list a given product and how pricing shifts over time.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
searchTerms | array | no | ['bluetooth speaker', 'led strip light'] | One or more free-text Alibaba search queries (e.g. bluetooth speaker, led strip light). Each… |
maxResultsPerTerm | integer | no | 100 | Cap on unique products collected per search term. Values above ~50 force multi-page pagination with run-wide duplicate… |
proxyConfiguration | object | no | {'useApifyProxy': True} | Apify Proxy spec — mandatory field. Live recon found no anti-bot challenge on alibaba.com/trade/search, so the standard… |
Example input
{"searchTerms": ["bluetooth speaker","led strip light"],"maxResultsPerTerm": 5,"proxyConfiguration": {"useApifyProxy": true}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
product_id | string | Alibaba's internal product ID. |
search_term | string | The search query that produced this row. |
title | string | Product title as listed on the search results page. |
price | string | Raw price or price-range string as served (mixed currency formats preserved). |
moq | string | Minimum order quantity string, when present. |
supplier_name | string | Supplier / company name, when present. |
image_url | string | Primary listing image URL. |
product_url | string | Absolute alibaba.com product detail page URL. |
page_number | integer | 1-indexed search results page this row was found on. |
scraped_at | string | UTC ISO-8601 timestamp captured when the page was fetched. |
Example output
{"product_id": "1600123456789","search_term": "bluetooth speaker","title": "Wholesale Portable Waterproof Bluetooth Speaker Outdoor","price": "$3.50-5.20","moq": "100 pieces","supplier_name": "Shenzhen Example Electronics Co., Ltd.","image_url": "https://s.alicdn.com/@sc04/kf/example.jpg","product_url": "https://www.alibaba.com/product-detail/example_1600123456789.html","page_number": 1,"scraped_at": "2026-09-17T12:00:00Z"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.20 | One-off warm-up charge per run |
result-item | $0.006 | Per unique dataset item |
Example: 1 000 results at the rates above ≈ $6.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
- v0.1 is a search-results scraper only — product detail-page enrichment (supplier contact info, reviews, certifications) is out of scope.
- 1688.com (Alibaba's Chinese-domestic sister site) is a different host and is not covered by this Actor.
- Login-gated data (RFQ quotes, buyer-specific pricing) is out of scope.
❓ FAQ
Do I need an Alibaba account?
No. This Actor scrapes Alibaba's public trade/search results page — no login required.
How do I widen my results?
Add more or broader searchTerms — each term paginates independently up to maxResultsPerTerm unique products.
Why did I get fewer rows than maxResultsPerTerm?
Alibaba's sponsored listings repeat heavily across pages. We dedupe by product ID across the whole run, so a term stops paginating once a page stops contributing new products — that's a real ceiling on that term, not a bug.
Do I need a residential proxy?
You don't need to configure one — we already do it for you. 🛡️ Early recon saw no
challenge on alibaba.com/trade/search, but that didn't hold: a full run on the
plain pool hit a served 200-OK anti-bot challenge on every search term. So the
Actor now pins a US residential session by default and rotates it on every
detected challenge. Leave proxyConfiguration alone and it just works; an
explicit apifyProxyGroups in your input still overrides us.
What happens if a search term matches nothing?
The run succeeds with zero rows for that term and reports what was searched — a real zero-match result is not treated as a failure.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.