Alibaba Scraper
Pricing
from $1.20 / 1,000 product scrapeds
Alibaba Scraper
Search Alibaba.com products, with optional product details and per-review extraction.
Pricing
from $1.20 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Farhan Ali
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Alibaba Scraper creates a structured dataset of supplier product records collected from Alibaba.com. Each dataset item represents one product listing and can include the title, product ID, price, MOQ, sold count, supplier name, country, review score, and — when enabled — nested product specifications and buyer reviews. Query the source using search keywords or direct product URLs, choose between the main products catalog and worldwide supplier results, control the result limit with maxItems, and retrieve records through the Apify Dataset API or export them as JSON, CSV, or Excel.
Dataset at a glance
| Property | Value |
|---|---|
| Source | alibaba.com |
| Record unit | One product listing |
| Input methods | Search keywords, direct product URLs |
| Main identifiers | productId, url |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel |
| Update model | Fresh records per Actor run |
| Pricing | Pay per event, from $1.50 per 1,000 products |
Coverage and available records
The Actor collects products from two source types:
- Search results — products returned for
searchQueries, in either the mainproductscatalog orworldwidesupplier results (searchScope). - Product pages — a single product given a
productUrlsentry.
Supported behavior:
- Optional product details (
includeProductDetails) adds a nesteddetailsobject with specifications, price tiers, images, category, and supplier profile. - Optional product reviews (
includeProductReviews) adds a nestedreviewsarray, billed once per review. maxItemscaps the number of products;maxReviewscaps the total reviews across the run.
Fields such as details, reviews, soldOrder, and supplierYears are conditional on the source page or the corresponding enrichment option.
Data dictionary
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
recordType | string | No | Record type (product) | product |
sourceQuery | string | Yes | Search term or URL that produced the record | spider hoodie |
title | string | No | Product title | Custom logo spider hoodie |
url | string | No | Product page URL | https://www.alibaba.com/product-detail/... |
productId | string | No | Alibaba product identifier | 1601234567890 |
price | string | Yes | Price or price range | $5.00 - $8.00 |
moq | string | Yes | Minimum order quantity | 10 pieces |
soldOrder | string | Yes | Sold count text | 500+ sold |
companyName | string | Yes | Supplier company name | Example Apparel Co., Ltd. |
countryCode | string | Yes | Supplier country code | CN |
supplierYears | string | Yes | Years on Alibaba | 5 yrs |
reviewScore | string | Yes | Supplier review score | 4.8 |
reviewCount | string | Yes | Review count text | 120 Reviews |
imageUrl | string | Yes | Primary product image | https://s.alicdn.com/... |
searchQuery | string | Yes | Original query | spider hoodie |
page | number | Yes | Result page number | 1 |
details | object | Yes | Nested product details (details enabled) | {...} |
reviews | array | Yes | Nested review list (reviews enabled) | [{...}] |
Use productId (fallback url) as the stable field for deduplication.
Example dataset record
{"recordType": "product","sourceQuery": "spider hoodie","title": "Custom logo spider hoodie men oversized streetwear","url": "https://www.alibaba.com/product-detail/1601234567890.html","productId": "1601234567890","price": "$5.00 - $8.00","moq": "10 pieces","soldOrder": "500+ sold","companyName": "Example Apparel Co., Ltd.","countryCode": "CN","supplierYears": "5 yrs","reviewScore": "4.8","reviewCount": "120 Reviews","imageUrl": "https://s.alicdn.com/example.jpg"}
This record was produced by a spider hoodie search with searchScope set to products and enrichment disabled.
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
searchQueries | array | No¹ | ["spider hoodie"] | Any strings | Product keywords to search. |
productUrls | array | No¹ | [] | Alibaba product URLs | Direct product pages. |
searchScope | string | No | products | products, worldwide | Main catalog or worldwide supplier results. |
includeProductDetails | boolean | No | false | true / false | Add specifications and price tiers (billed as product-details). |
includeProductReviews | boolean | No | false | true / false | Collect reviews (billed as product-review). |
maxItems | integer | No | 0 | 0 = unlimited | Maximum products to extract. |
maxReviews | integer | No | 0 | 0 = all | Total reviews across the run when enabled. |
proxyConfiguration | object | No | Apify residential | Proxy editor | Proxy settings. |
¹ At least one of searchQueries or productUrls must contain a value.
Minimal request:
{ "searchQueries": ["spider hoodie"], "maxItems": 20 }
Advanced request (details and reviews enabled):
{"searchQueries": ["spider hoodie"],"searchScope": "products","includeProductDetails": true,"includeProductReviews": true,"maxItems": 20,"maxReviews": 50,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Retrieve the data through the API
- Start the Actor with a JSON input.
- Wait for the run to finish, or use the synchronous endpoint for small jobs.
- Retrieve items from the run's default dataset.
- Paginate or export the dataset.
Python example:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("datascrapers/alibaba-scraper").call(run_input={"searchQueries": ["spider hoodie"], "maxItems": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item.get("price"))
For other languages, use the generated API tab on the Actor page.
Data quality and record handling
- Completeness — listing fields (
title,price,moq,companyName) are returned when Alibaba exposes them;detailsandreviewsare conditional on the corresponding option. - Source changes — Alibaba page structure changes can cause individual fields to come back empty; rows are still written with the fields that were found.
- Deduplication — the Actor writes one row per product per run and does not persist dedup state across runs. Deduplicate on
productId(fallbackurl) when merging runs. - Retry/error behavior — enrichment fails soft so a failed detail or review fetch does not discard the listing row.
- Normalization —
priceandmoqare kept as Alibaba's display strings because ranges and units vary;reviewScoreandreviewCountare display text.
Export and pipeline examples
| Destination | Recommended method | Typical use |
|---|---|---|
| PostgreSQL/Supabase | Dataset API or webhook consumer | Supplier and product research tables |
| Google Sheets | Apify integration | Sourcing shortlists |
| S3/cloud storage | Scheduled export or integration | Archive category snapshots |
Pricing and cost examples
Billing is pay per event. You are not charged Apify platform usage on top of these events.
| Event | When charged | Price |
|---|---|---|
product | Each product row written | $1.50 per 1,000 |
product-details | Each product with details fetched (when enabled) | $1.50 per 1,000 |
product-review | Each review collected (when enabled) | $1.50 per 1,000 |
| Records | Estimated base cost |
|---|---|
| 1,000 products | $1.50 |
| 10,000 products | $15.00 |
Estimates assume listings only. Details and reviews add events at the same rate, and Apify plan discounts may reduce the per-event price.
Limitations and responsible data use
- The Actor reads publicly accessible Alibaba.com listing data.
- Availability and source changes can produce empty or partial fields.
- No guarantee of historical snapshots unless you store results yourself.
- You are responsible for compliance with applicable terms, privacy, and legal requirements when using the data.
Dataset questions
What does one dataset item represent?
One Alibaba product listing. Product details and reviews are nested on the same row rather than written as separate items.
Which field should I use as a unique identifier?
productId is the most stable Alibaba identifier; use url as a fallback.
Are fields nullable or conditional?
Many listing fields (soldOrder, supplierYears, reviewScore) are absent when Alibaba does not show them. details and reviews are present only when the matching option is enabled.
Can I retrieve the records as CSV or JSON?
Yes. Export from the Output tab as JSON, CSV, or Excel, or read the dataset through the Apify API.
How do I paginate large datasets?
Use maxItems to cap the number of products and maxReviews to cap total reviews. For API retrieval, paginate the default dataset items endpoint.
Does the Actor return historical data?
No. Each run captures the current state of the listings at run time.
What counts as a billable result?
Each product row is a product event. When enabled, each detail fetch is a product-details event and each review is a product-review event.
Related datasets from Data Scrapers
- Amazon Search Scraper — Amazon product and seller data for cross-marketplace sourcing.
- eBay Product Scraper — eBay product and seller data for reseller research.
- Etsy Scraper — Marketplace product data for niche and handmade sourcing.
Data Scrapers support
Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.