# Alibaba Search Scraper - Wholesale Products, Prices & Suppliers (`pipiagent/alibaba-search-scraper`) Actor

Scrape Alibaba.com product search: wholesale prices, quantity price breaks, minimum order, supplier name, country, years, Verified and Trade Assurance badges, rating and response rate. Full product pages too. No login needed.

- **URL**: https://apify.com/pipiagent/alibaba-search-scraper.md
- **Developed by:** [Frank0306](https://apify.com/pipiagent) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Alibaba Search Scraper

Extract product listings from [Alibaba.com](https://www.alibaba.com), the largest B2B wholesale marketplace, where factories and trading companies sell in bulk. Type a keyword and get every product with its wholesale price, quantity price breaks, minimum order and full supplier profile. Use it for product sourcing, supplier shortlists, price research, competitor monitoring and market analysis.

- **Search results and product pages.** Search by keyword, or get the full product page (attributes, variants, lead times, packaging) for product links you already have.
- **Supplier data on every product.** Company name, country, years on Alibaba, Verified and Trade Assurance badges, rating, response rate and orders in the last 6 months.
- **Same filters as the website.** Verified suppliers, Verified Pro, supplier country, price range and maximum minimum order.
- **No login and no proxy needed.** Press Start and get data. 3,000 products take about one minute.
- **Low price.** $1.50 per 1,000 results.

### What data can you get?

| Mode | One result is | Main fields |
|---|---|---|
| Search results | One product | Title, price range, quantity price breaks, minimum order, category, images, certifications, supplier name, country, years, Verified, Trade Assurance, rating, review count, response rate, orders in 6 months, rank in the search |
| Product details | One product | Price breaks in USD, minimum order, price terms, units sold, full category path, product attributes, variants (colors, models, sizes), lead time per quantity, package size and weight, images, video, supplier business type, on-time delivery rate, response time, rating |

This is the international wholesale site www.alibaba.com. It does not cover 1688.com or AliExpress.

### How to use it

1. Click **Try for free**.
2. Choose **Search results** or **Product details** in **What to scrape**.
3. Enter your keywords (or product URLs), and set **Max results per keyword**.
4. Optional: set filters such as **Verified suppliers only** or **Supplier country**.
5. Click **Start**, then download the results as JSON, CSV or Excel.

### Input examples

Get 500 yoga mats from each of two keywords:

```json
{
    "searchKeywords": ["yoga mat", "pilates mat"],
    "maxResultsPerKeyword": 500
}
```

Only Verified suppliers in China, unit price between $1 and $5, and a minimum order of 10 units or less:

```json
{
    "searchKeywords": ["yoga mat"],
    "maxResultsPerKeyword": 200,
    "verifiedSupplierOnly": true,
    "supplierCountry": "CN",
    "minPrice": 1,
    "maxPrice": 5,
    "maxMinOrder": 10
}
```

Full product pages for links you already have:

```json
{
    "mode": "productDetails",
    "productUrls": [
        "https://www.alibaba.com/product-detail/Premium-Crystal-Clear-TPU-PC-Case_1601918386232.html",
        "1601859320012"
    ]
}
```

### Output examples

A search result:

```json
{
    "type": "searchResult",
    "productId": "1601918386232",
    "title": "Premium Crystal Clear TPU PC Case for iPhone 17 18 Pro Max Strong Magnetic Charging Shockproof Transparent Phone Cover",
    "url": "https://www.alibaba.com/product-detail/Premium-Crystal-Clear-TPU-PC-Case_1601918386232.html",
    "priceText": "US $0.51-$0.68",
    "priceMin": 0.51,
    "priceMax": 0.68,
    "currency": "USD",
    "minOrderQuantity": 200,
    "minOrderUnit": "pieces",
    "minOrderText": "200 pieces",
    "category": "Mobile Phone Cases",
    "categoryId": "380230",
    "imageUrl": "https://s.alicdn.com/@sc04/kf/He0c23016d3854f688506c3d7090724e8a.png",
    "hasVideo": true,
    "readyToShip": false,
    "productCertifications": ["CE", "ROHS"],
    "supplierName": "Guangzhou Ruite Electronic Technology Co., Ltd.",
    "supplierId": "243508786",
    "supplierUrl": "https://ruitetec.en.alibaba.com/",
    "supplierProfileUrl": "https://ruitetec.en.alibaba.com/company_profile.html",
    "supplierCountry": "China",
    "supplierCountryCode": "CN",
    "supplierYearsOnAlibaba": 9,
    "verifiedSupplier": true,
    "verifiedSupplierPro": false,
    "goldSupplier": true,
    "tradeAssurance": true,
    "supplierVerifiedBy": "SGS",
    "supplierRating": 4.7,
    "supplierReviewCount": 88,
    "supplierProductQualityScore": 4.6,
    "supplierServiceScore": 4.8,
    "supplierShippingScore": 4.7,
    "supplierResponseRate": "98.5%",
    "supplierOrders6Months": 260,
    "supplierOrderValue6MonthsUsd": "180,000+",
    "supplierEmployees": 10,
    "supplierFactorySizeM2": 370,
    "supplierMainProducts": "Screen Protector, Phone Case, Headphone Accessories, Mobile Phone Lens Protective Film, Chargers And Adapters",
    "supplierMainMarkets": "United States",
    "keyword": "phone case",
    "page": 1,
    "position": 1,
    "scrapedAt": "2026-10-24T11:18:24Z",
    "priceTiers": [
        {"minQuantity": 200, "maxQuantity": 2999, "price": 0.68, "promotionPrice": null, "unit": "pieces"},
        {"minQuantity": 3000, "maxQuantity": 29999, "price": 0.65, "promotionPrice": null, "unit": "pieces"},
        {"minQuantity": 30000, "maxQuantity": null, "price": 0.51, "promotionPrice": null, "unit": "pieces"}
    ]
}
```

A product page (shortened):

```json
{
    "type": "productDetail",
    "productId": "1601918386232",
    "title": "Premium Crystal Clear TPU PC Case for iPhone 17 18 Pro Max Strong Magnetic Charging Shockproof Transparent Phone Cover",
    "priceMin": 0.51,
    "priceMax": 0.68,
    "currency": "USD",
    "minOrderQuantity": 200,
    "minOrderUnit": "pieces",
    "priceTerms": "FOB",
    "soldText": "800 sold",
    "category": "Consumer Electronics > Phone Case & Accessories > Mobile Phone Cases",
    "attributes": {
        "compatible brand": "For Iphone, For Samsung",
        "material": "TPU+PC",
        "brand name": "Ruite",
        "place of origin": "Guangdong, China"
    },
    "variants": [
        {"name": "color", "values": ["Transparent"]},
        {"name": "compatible model", "values": ["For iPhone17", "For iPhone17 Pro", "For iPhone17 Pro Max", "For iPhone17 Air"]}
    ],
    "leadTimes": [
        {"minQuantity": 1, "maxQuantity": 100, "days": 8},
        {"minQuantity": 101, "maxQuantity": 1000, "days": 12},
        {"minQuantity": 1001, "maxQuantity": 5000, "days": 16}
    ],
    "packageSizeCm": "25X15X1",
    "packageWeightKg": 0.08,
    "shipsFrom": ["China"],
    "supplierName": "Guangzhou Ruite Electronic Technology Co., Ltd.",
    "supplierBusinessType": "Trading Company",
    "supplierYearsOnAlibaba": 9,
    "supplierEmployeesRange": "11-50",
    "supplierRating": 4.7,
    "supplierResponseTime": "≤2h",
    "supplierOnTimeDeliveryRate": "97.0%",
    "supplierOrders6Months": 269,
    "supplierOrderValue6MonthsUsd": "220,000+"
}
```

### How much does it cost?

You pay per saved result: **$1.50 per 1,000 results**. There is no start fee and no monthly rental. Search results and product pages cost the same.

| Run | Results | Cost |
|---|---|---|
| 50 products for one keyword | 50 | $0.08 |
| 1,000 products for one keyword | 1,000 | $1.50 |
| 3,000 products across 3 keywords | 3,000 | $4.50 |
| 100 full product pages | 100 | $0.15 |

Set a maximum charge per run in the run options and the Actor stops when it is reached.

### Limits you should know

- **Alibaba shows at most 100 pages per search.** The Actor reads up to 100 products per page, so one keyword can give several thousand products. We tested 3,000 products for one keyword on Apify's servers (about one minute). To go wider, add related keywords or split by supplier country or price range.
- **Deeper pages repeat some products.** From about page 12 on, 1% to 25% of each page are products already shown. The Actor removes these duplicates within a keyword, so a deep run makes a few more requests than the result count suggests. Duplicates are not removed across different keywords.
- **Rare or misspelled keywords still return products.** Alibaba always shows something, so a keyword with no real matches gives loosely related products instead of an empty result. Check the titles.
- **Some search results are already offline.** Alibaba's search index sometimes lists products that were just removed. In product details mode these are skipped with a warning and not charged (1 of 30 in our test).
- **Not every field is on every product.** For example, the response time, units sold and delivery estimate appear on only a part of the listings. Missing values are `null`.
- **Prices are in US dollars.** Price filters take whole dollar amounts. Some product pages show "contact supplier" instead of a price; for those the price fields are empty (3 of 29 in our test).
- **No sorting and no sponsored flag.** You get Alibaba's default "best match" order. The `position` field keeps that order.
- **Product details make one request per product,** so they run at about 40 products per minute. The long description written by the supplier (images and HTML) is not included.
- **Blocking.** In our tests on Apify's servers no request was refused. If Alibaba starts refusing requests, the Actor retries as a new visitor and, on the Apify platform, switches to Apify's datacenter proxy automatically.

### Tips

- **Use filters instead of scraping everything.** "Verified suppliers only" and "Max minimum order" cut the list to suppliers you can actually buy from in small quantities.
- **Combine both modes.** Run a search first, pick the products you like, and paste their URLs into product details mode to get attributes, variants and lead times.
- **Run it on a schedule** to track price changes and new suppliers for the same keywords over time.

### FAQ

**Is it legal?** The Actor collects only data that Alibaba.com shows publicly to every visitor without logging in. The results are mostly business data such as company names and prices. If you process any personal data, make sure you have a legitimate reason, as required by the GDPR and similar laws.

**Does it get supplier phone numbers or emails?** No. Alibaba does not show these to visitors.

**Something is broken or missing?** Open a ticket in the Issues tab. Issues are usually answered within a day.

# Actor input Schema

## `mode` (type: `string`):

Search: products from Alibaba.com search results for your keywords. Product details: the full product page (attributes, variants, lead times, packaging, supplier details) for the product URLs you list.

## `searchKeywords` (type: `array`):

Search mode. What to search for on Alibaba.com, one keyword per line, for example "phone case" or "yoga mat". You can also paste an Alibaba.com search URL.

## `maxResultsPerKeyword` (type: `integer`):

How many products to save for each keyword. Alibaba shows up to 100 pages per search.

## `maxItems` (type: `integer`):

The run stops after saving this many products across all keywords.

## `productUrls` (type: `array`):

Product details mode only. Alibaba.com product links such as https://www.alibaba.com/product-detail/...\_1601918386232.html, or just the product ID.

## `verifiedSupplierOnly` (type: `boolean`):

Only show products from suppliers that were checked by an independent inspection company (the "Verified" badge).

## `verifiedProOnly` (type: `boolean`):

Only show products from "Verified Pro" suppliers. This is a small group, so you get far fewer results.

## `supplierCountry` (type: `string`):

Only show suppliers located in this country.

## `minPrice` (type: `integer`):

Only show products whose unit price is at least this much, in US dollars.

## `maxPrice` (type: `integer`):

Only show products whose unit price is at most this much, in US dollars.

## `maxMinOrder` (type: `integer`):

Only show products you can order in quantities this small or smaller. For example 10 keeps products with a minimum order of 10 units or less.

## `includePriceTiers` (type: `boolean`):

Add the quantity price breaks (for example 50 to 499 pieces at $1.09, 500+ at $0.95) when the supplier lists them.

## `proxyConfiguration` (type: `object`):

Optional. The Actor works without a proxy. Add one only if your runs get blocked.

## Actor input object example

```json
{
  "mode": "search",
  "searchKeywords": [
    "phone case"
  ],
  "maxResultsPerKeyword": 50,
  "maxItems": 1000,
  "verifiedSupplierOnly": false,
  "verifiedProOnly": false,
  "includePriceTiers": true
}
```

# Actor output Schema

## `results` (type: `string`):

Products found in Alibaba.com search, one item per product.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchKeywords": [
        "phone case"
    ],
    "maxResultsPerKeyword": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("pipiagent/alibaba-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchKeywords": ["phone case"],
    "maxResultsPerKeyword": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("pipiagent/alibaba-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchKeywords": [
    "phone case"
  ],
  "maxResultsPerKeyword": 50
}' |
apify call pipiagent/alibaba-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,pipiagent/alibaba-search-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Rmnd7c6sQvfqosn9H/builds/BF1NJ0uxpb9gd4FOc/openapi.json
