Export public 1688 wholesale product search results by keyword: offer IDs, titles, visible prices, minimum order quantities (MOQ), sales signals, supplier details, images, and product URLs. Use the dataset for sourcing spreadsheets or API-based product research.
This build supports keyword search, not direct offer-URL or offer-ID lookups. Supplier and product details vary with what 1688 exposes; empty optional fields are not verified supplier information.
Why use it
1688 is Alibaba's domestic China wholesale marketplace. This Actor helps sourcing, dropshipping, procurement, and ecommerce research teams build spreadsheets from public product search results without manually copying mobile pages.
Input example
{
"keywords": ["手机壳", "蓝牙耳机"],
"maxResults": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
Output example
Illustrative output shape only, not a current offer or a verified price. Optional values may be null.
{
"offerId": "1912412526",
"title": "定制硅胶手机套 创意手机软胶保护套 滴胶卡通公仔手机壳厂家定制",
"detailUrl": "https://detail.1688.com/offer/1912412526.html",
"sourceKeyword": "手机壳",
"searchPage": 1,
"position": 2,
"price": 5,
"priceText": "¥5.0 成交1笔",
"currency": "CNY",
"moq": null,
"moqText": null,
"soldText": "成交1笔",
"bookedCount": 1,
"imageUrl": "https://...",
"images": ["https://..."],
"supplier": { "name": null, "url": null, "location": null, "badges": [], "yearsActive": null, "isVerified": null },
"serviceTags": ["深度验厂"],
"canonicalUrl": "https://detail.1688.com/offer/1912412526.html",
"scrapedAt": "2026-08-02T16:37:22.934Z",
"error": null
}
Input settings
| Field | Type | Description |
|---|---|---|
keywords |
string[] | Product search terms. Chinese terms usually produce the strongest 1688 matches. |
maxResults |
integer | Maximum unique products to save across all keywords. |
priceMin, priceMax |
number | Optional local price filters after price extraction. |
minOrderQuantity |
integer | Maximum acceptable MOQ (despite the field name), applied locally when MOQ is visible. |
province, city |
string | Optional exact supplier location filters when location is visible. |
proxyConfiguration |
object | Residential Apify proxy is recommended for 1688 access. |
maxConcurrency |
integer | Compatibility setting, default 1; the current keyword-search loop is sequential. |
offerIds, offerUrls |
array | Reserved compatibility fields; do not enable detail-only lookup. keywords remains required. |
includeSkuDetails, includeDescriptionHtml |
boolean | Reserved enrichment controls, default false; do not promise additional detail extraction. |
More input recipes
Small keyword search
{ "keywords": ["手机壳"], "maxResults": 2 }
Two-keyword product research
{ "keywords": ["手机壳", "蓝牙耳机"], "maxResults": 50 }
Tips and limits
- Use Chinese keywords for the broadest 1688 coverage.
- Keep
maxResultslow when testing because residential proxy access costs real bandwidth. - Submit 1–20 keywords of up to 200 characters each. Prices and maximum MOQ must be nonnegative; minimum price cannot exceed maximum price.
- Processing is limited to 100 search pages total (50 per keyword), sequentially, with an independent 540-second deadline. The supported memory ceiling is 1024 MiB; the existing default remains unchanged. These bounds do not guarantee a yield or a profitable run for every filter/proxy choice.
- Runs stop before further searches when item billing capacity is exhausted. Billing and essential storage failures fail the run rather than silently delivering unbilled work.
- Inspect
RUN-SUMMARYin the run's key-value store for per-keyword counts and stop reasons. Unavailable/challenged searches can finish empty; this does not prove a private or deleted target. Unexpected empty markup retains diagnostic telemetry. - Restarting or resurrecting a cloud run will not repeat extraction; start a new run instead.
- If a search produces fewer rows than requested, the Actor stops after duplicate or empty pagination pages instead of looping indefinitely.
- 1688 may vary which supplier or MOQ fields are visible on search cards.
Who is it for
- Ecommerce sourcing teams comparing wholesale product candidates on 1688.
- Dropshipping operators who need repeatable product research exports.
- Procurement analysts checking MOQ, price text, supplier signals, and product images.
- Marketplace data teams building internal lead lists from public 1688 search pages.
- Agencies preparing supplier/product shortlists for clients without manually copying cards.
API usage
JavaScript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/1688-wholesale-products-scraper').call({
keywords: ['手机壳'],
maxResults: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/1688-wholesale-products-scraper').call(run_input={
'keywords': ['手机壳'],
'maxResults': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~1688-wholesale-products-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"keywords":["手机壳"],"maxResults":20}'
After the run succeeds, download rows from the run's default dataset using the dataset ID returned by the API.
MCP and agents
Use this Actor from agents through Apify MCP with the Actor tool enabled for 1688-wholesale-products-scraper. Send the same JSON input you would use in the Apify console.
For hosted access, connect your MCP client to https://mcp.apify.com following the official Apify MCP setup. Search for fetch_cat/1688-wholesale-products-scraper, inspect its input schema, and start with one keyword and maxResults: 2. MCP availability does not guarantee that 1688 will return results.
Example MCP JSON configuration:
{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server", "--actors", "fetch_cat/1688-wholesale-products-scraper"],
"env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }
}
}
}
Example prompts:
- "Run the 1688 wholesale products scraper for 手机壳 and return the lowest visible prices."
- "Export 20 public 1688 product rows for 蓝牙耳机 and summarize supplier/location signals."
- "Compare product badges and MOQ text for 数据线 search results."
Support
Open an issue or report a bug from the Actor page when a run fails or output looks wrong. Include the Apify run ID or run URL, a non-sensitive input JSON example, expected and actual output, and one reproducible public URL. Remove credentials, cookies, and proxy authentication before sharing.