Alibaba Products Scraper — Suppliers, Prices & MOQ
Pricing
from $3.00 / 1,000 product scrapeds
Alibaba Products Scraper — Suppliers, Prices & MOQ
Scrape Alibaba.com B2B products by keyword or URL — tier prices, MOQ, supplier name, years, country, gold status, response rate, GMV, and reviews. HTTP-only, MCP-ready.
Pricing
from $3.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape Alibaba.com B2B products by keyword or URL and receive one record per product card. Each record can include tier prices, minimum order quantity, supplier name, supplier country, supplier years on Alibaba, Gold Supplier status, response rate, GMV, review score, review count, and related listing signals. The actor accepts a free-text product keyword, multiple keywords, or Alibaba search and showroom URLs, and it returns structured dataset rows that you can filter, export, or pass into an Apify Actor workflow or Apify MCP.
Best fit and connected workflows
This actor fits workflows that start with Alibaba product discovery and continue into supplier review, market analysis, or agent-driven research:
- sourcing teams building a shortlist from one or more product keywords
- procurement research comparing tier prices and minimum order quantities
- market-intelligence pipelines tracking trust signals and review data over time
- AI agents that need structured Alibaba product cards as retrieval input
- follow-up supplier and listing analysis with Alibaba Listings Scraper - Suppliers, MOQ & Price
A practical workflow is to discover products here first, then move to the linked listings scraper when the next step centers on supplier-listing detail and supplier profile review.
Practical scenario
Rina is reviewing reusable packaging options for a new sourcing brief. She starts with the keyword stainless steel water bottle, keeps enrichDetails off because the listing cards already include price, MOQ, supplier, and review fields, and sets maxResults for a focused sample. The returned records include title, priceText, minOrder, supplierName, supplierCountry, supplierYears, reviewScore, and reviewCount. Rina compares suppliers, opens productUrl for the most relevant items, and uses supplierUrl to continue supplier review.
Input
| Field | Type | Description |
|---|---|---|
searchQuery | string | Free-text product keyword searched on Alibaba.com. One keyword typically returns one showroom page with about 38 products. |
searchQueries | array of strings | Multiple product keywords in one run. Use this for broader volume across related product terms. |
startUrls | array of strings | Alibaba search or showroom URLs to scrape directly. Each URL is normalized to a showroom listing path. |
maxResults | integer | Maximum total product cards across all keywords and URLs. Range 1-5000. This also acts as the product event cap. |
enrichDetails | boolean | Visits each product detail page to add description and spec attributes. |
customProxyUrls | array of strings | Your own proxy URLs, such as residential proxy endpoints. |
proxyConfiguration | object | Apify proxy settings used when customProxyUrls is empty. |
Focused input example
{"searchQueries": ["led lights", "solar panel", "yoga mat"],"maxResults": 100,"enrichDetails": false,"proxyConfiguration": {"useApifyProxy": true}}
Valid start URL example
{"startUrls": ["https://www.alibaba.com/showroom/led-lights.html"],"maxResults": 38,"enrichDetails": false}
Output
Results are written to the run's default dataset. Each dataset item represents one Alibaba product card collected from the search or showroom pages. The dataset can be downloaded as JSON, CSV, Excel, HTML, or RSS.
| Field | Type | Description |
|---|---|---|
productId | string or null | Alibaba product or offer identifier. |
title | string or null | Product title from the listing card. |
productUrl | string or null | Canonical product-detail URL for the item. |
image | string or null | Main product image URL. |
hasVideo | boolean | Indicates whether the listing includes a video. |
priceText | string or null | Raw price text from the listing card. |
priceMin | number or null | Parsed minimum price value. |
priceMax | number or null | Parsed maximum price value. |
currency | string or null | Currency code when detected. |
minOrder | string or null | Minimum order quantity text. |
unit | string or null | Order unit text. |
supplierName | string or null | Supplier or company name shown on the listing card. |
supplierId | string or null | Supplier identifier. |
supplierUrl | string or null | Supplier company profile URL. |
supplierCountry | string or null | Supplier country. |
supplierCountryCode | string or null | ISO country code for the supplier country. |
supplierYears | integer or null | Years the supplier has been on Alibaba. |
isGoldSupplier | boolean | Gold Supplier badge flag. |
isAssessedSupplier | boolean | Assessed Supplier badge flag. |
provideProducts | string or null | Other product lines the supplier offers. |
tradeAssurance | boolean | Trade Assurance flag. |
responseRate | string or null | Supplier response rate. |
supplierHistoryGmv | string or null | Historical GMV in the source format. |
supplierHistoryGmvUsd | number or null | Historical GMV parsed in USD. |
supplierHistoryOrderCount | integer or null | Historical order count. |
transactionLevel | integer or null | Alibaba transaction level. |
reviewScore | number or null | Product review score. |
reviewCount | integer or null | Product review count. |
isAd | boolean | Indicates a promoted listing. |
keyword | string or null | Input keyword associated with the record. |
page | integer or null | Listing page number. |
scrapedAt | string or null | Timestamp when the record was scraped. |
Illustrative output record
{"productId": "1601234567890","title": "Stainless Steel Water Bottle","productUrl": "https://www.alibaba.com/product-detail/example.html","image": "https://example.com/image.jpg","hasVideo": false,"priceText": "US $0.36-$0.39","priceMin": 0.36,"priceMax": 0.39,"currency": "USD","minOrder": "100 pieces","unit": "piece","supplierName": "Example Trading Co., Ltd.","supplierId": "seller123","supplierUrl": "https://example.com/supplier","supplierCountry": "China","supplierCountryCode": "CN","supplierYears": 8,"isGoldSupplier": true,"isAssessedSupplier": false,"provideProducts": "Bottles, tumblers, mugs","tradeAssurance": true,"responseRate": "98.0%","supplierHistoryGmv": "US $1.2M","supplierHistoryGmvUsd": 1200000,"supplierHistoryOrderCount": 1540,"transactionLevel": 3,"reviewScore": 4.8,"reviewCount": 126,"isAd": false,"keyword": "stainless steel water bottle","page": 1,"scrapedAt": "2026-07-27T00:00:00.000Z"}
How it works
This actor reads Alibaba's embedded result data from search or showroom pages and turns each product card into a structured dataset item. The implementation is HTTP-only and uses the embedded page JSON rather than browser rendering, which keeps the output centered on listing fields already present in the response.
If you already have an Alibaba search or showroom URL, place it in startUrls. If you want broader coverage from product keywords, use searchQuery or searchQueries. The maxResults field sets the total product-card cap across all inputs. When enrichDetails is enabled, the actor also visits product detail pages to add description and spec attributes.
Pricing
This actor uses Pay per event, plus Apify platform usage for compute and proxy costs. Open the live Pricing tab on Apify for the current totals before each run.
The charged events in the live contract are:
- Actor start
- Product scraped
- Product enriched
Event-count example: if you scrape one hundred products with enrichment turned off, the execution includes one Actor start event and one hundred Product scraped events. If you enrich those same one hundred products, each enriched product adds one Product enriched event.
Use with AI agents (MCP)
This actor is available through Apify MCP as a tool for retrieving Alibaba product records from a keyword or URL query. The exact Actor identity is khadinakbar/alibaba-products-scraper.
Tool description: retrieve Alibaba product cards from search or showroom pages and return structured listing data for each product record, including price, MOQ, supplier profile fields, and review signals.
Find Alibaba B2B product cards for the keyword "solar panel". Return the dataset rows with price, MOQ, supplier name, supplier country, supplier years, Gold Supplier status, response rate, GMV, and review fields, then summarize the records for sourcing review.
Output interpretation: each dataset row is one product card from Alibaba search or showroom listings. Provenance comes from the source listing data itself, and the keyword, page, and scrapedAt fields help trace where each record came from. Scope is controlled by your input keywords or URLs and the maxResults value. When you use multiple keywords, the dataset can include records from all of them in one run. maxResults also sets your practical product-event count for Pay per event billing. Pagination is represented by the page field when it is present.
API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/alibaba-products-scraper').call({searchQuery: 'led lights',maxResults: 20,enrichDetails: false,});const dataset = await client.dataset(run.defaultDatasetId).listItems();console.log(dataset.items);
Set APIFY_TOKEN in your environment before running the example. The dataset readback returns the scraped Alibaba product records from the run's default dataset.
Best results and outcome guidance
Use searchQueries when you want several related product keywords in one run, such as category variants or naming variations. Use startUrls when you already have an Alibaba search or showroom URL and want that exact listing path scraped. Keep maxResults aligned with the number of product cards you want to collect across all inputs. Enable enrichDetails when your workflow needs description and spec attributes from product detail pages in addition to listing-card fields. For supplier-listing follow-up work, move to the linked Alibaba Listings Scraper after product discovery.
Design note
I found that the dataset schema includes both priceText and parsed numeric fields like priceMin and priceMax, which makes the same record useful for display and quantitative filtering.
FAQ
How should I choose between searchQuery and startUrls?
Use searchQuery for a product keyword and startUrls for an Alibaba search or showroom URL you already have.
When should I use searchQueries?
Use searchQueries when you want several product keywords in one run and want the records to accumulate across them.
What does one output record represent?
One record represents one Alibaba product card from the search or showroom listing data.
When is enrichDetails useful?
Enable it when you want description and spec attributes from product detail pages in addition to the listing-card fields.
How does this connect to Alibaba supplier workflows?
This actor surfaces product cards, supplier names, supplier trust signals, and review data. When your next step focuses on supplier-listing analysis, use Alibaba Listings Scraper - Suppliers, MOQ & Price.
Related Actors
- Alibaba Listings Scraper - Suppliers, MOQ & Price - use this after product discovery when your next step is focused supplier-listing analysis.
Responsible use
Use this actor for legitimate sourcing, market research, procurement, and analysis workflows. Respect Alibaba's terms, applicable laws, and any contractual obligations tied to the data you collect. Review the live Pricing tab before each run so your input size, maxResults, and enrichment choice match your intended event count and Apify platform usage.