# Alibaba Scraper (`blueskyscraper/alibaba-scraper`) Actor

Scrape Alibaba.com without a login: product search with price tiers, MOQ and supplier details, full product pages with specifications and variants, supplier lists with ratings and response rate, and buyers' requests for quotation (RFQ). Filters by price, country, Trade Assurance. API ready.

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

## Pricing

from $0.70 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Scraper** collects Alibaba.com data **without an account or proxy settings**: **product search results** with price range, quantity price tiers, minimum order and the supplier's country, years, rating and response rate; **full product pages** with specifications, variants, lead time, sample price and units sold; **suppliers** for any product, one row per company; and **buyers' requests for quotation (RFQ)**. **From $1 per 1,000 rows, no start fee.**

### Tested head-to-head — 29 September 2026

![Alibaba scrapers tested head-to-head: this Actor charges $1 per 1,000 products and suppliers, $3 per 1,000 product pages and $2 per 1,000 buying requests, and found 20 suppliers in 20.5 seconds](https://api.apify.com/v2/key-value-stores/tZJ3TnhQJ1jqUQVXq/records/alibaba-tested-2026-09-29.png)

The same `yoga mat` requests went to this Actor and to the most-used Alibaba scrapers on the Apify Store: 20 products, 20 suppliers, 20 buying requests and one product page.

| | This Actor | The others |
|---|---|---|
| Price per 1,000 products | **$1** | $1.22–5.25 |
| Price per 1,000 suppliers | **$1** | $1.25–5.25 |
| Price per 1,000 product pages | **$3** | $10.00 |
| Price per 1,000 buying requests (RFQ) | **$2** | $30.25 |
| 20 suppliers found in | **20.5 s** | 19.2–189.3 s |
| Fields in a product row | **54**, flat columns | 17, or nested objects |
| Start fee | **none** | all 5 charge one |

### What is Alibaba Scraper?

An **Alibaba API alternative** for product sourcing, supplier research, price monitoring, dropshipping and B2B lead generation. Type keywords or paste Alibaba links, pick what to get, export JSON, CSV or Excel, or call it by API.

| Mode | You give | You get |
|---|---|---|
| **Products** | keywords or search URLs | up to 4,800 products per keyword with price tiers, MOQ, images and supplier data |
| **Product details** | product URLs or IDs | the full product page: specifications, variants, customization, lead time, sample price, sold count, supplier contact person |
| **Suppliers** | keywords | one row per company selling the product: badges, rating, response rate, orders, staff, factory size, main products |
| **Buying requests** | keywords | RFQs: what buyers want, quantity, buyer country, posting date, quotes left |

Filters: price range, maximum MOQ, supplier country, Trade Assurance, Verified and Verified Pro suppliers, minimum supplier rating, sponsored listings off.

### How much does it cost?

| Row | Price |
|---|---|
| **Product** (search result) | $0.001 — $1 per 1,000 |
| **Product page** (full details) | $0.003 — $3 per 1,000 |
| **Supplier** | $0.001 — $1 per 1,000 |
| **Buying request (RFQ)** | $0.002 — $2 per 1,000 |

No start fee and no proxy charge. Error rows and rows removed by your filters are never billed. **Maximum rows per run** is a hard ceiling on the bill.

### ⬇️ Input

```json
{
    "mode": "products",
    "keywords": ["yoga mat"],
    "maxMinOrder": 100,
    "tradeAssuranceOnly": true,
    "maxResultsPerInput": 500
}
```

### ⬆️ Output

```json
{
    "type": "product",
    "productId": "1601190991934",
    "title": "SHENGDE PU Rubber Yoga Mat Natural Anti Slip Sweat Absorbent Custom Logo Wholesale Animal Print Black Oval Arch",
    "priceText": "US $7.50-$9.99",
    "priceTiers": [{ "minQuantity": 100, "maxQuantity": 299, "price": 9.99 }, { "minQuantity": 5000, "maxQuantity": null, "price": 7.5 }],
    "minOrder": 100,
    "supplierName": "Fuqing Shengde Ruibo Technology Co., Ltd.",
    "supplierCountryCode": "CN",
    "supplierYears": 3,
    "supplierRating": 4.5,
    "supplierResponseRate": "93.6%",
    "verifiedSupplier": true,
    "tradeAssurance": true
}
```

### Use cases

- **Sourcing** — compare price tiers and minimum orders across hundreds of listings in minutes.
- **Supplier shortlists** — manufacturers with Verified badges, high ratings and fast replies.
- **Price monitoring** — schedule a keyword and track prices and new listings with **Monitoring mode**.
- **Sales leads** — buying requests show who wants to buy your product, how much and from where.

### ❓ FAQ

#### Is it legal to scrape Alibaba?

It reads only what alibaba.com shows any visitor without an account: public listings, supplier profiles and public buying requests. Names of contact people and buyers are personal data under laws like the GDPR — have a lawful reason to process them.

#### Do I need an Alibaba account, cookies or a proxy?

No. The Actor needs no login and no proxy settings; if Alibaba shows a slider check, the request is retried on a fresh connection by itself.

#### Why are some fields empty?

Suppliers fill in their profiles differently — staff, factory size or certifications appear only when the supplier published them.

### You might also like

| Actor | What it does |
|---|---|
| [Alibaba Products Scraper](https://apify.com/blueskyscraper/alibaba-products-scraper) | Search results with price tiers, MOQ and supplier details |
| [Alibaba Product Details Scraper](https://apify.com/blueskyscraper/alibaba-product-details-scraper) | Full product pages: specifications, variants, lead time, sample price |
| [Alibaba Supplier Scraper](https://apify.com/blueskyscraper/alibaba-supplier-scraper) | Suppliers and manufacturers for any product, one row each |
| [Alibaba RFQ Scraper](https://apify.com/blueskyscraper/alibaba-rfq-scraper) | Buyers' requests for quotation: product, quantity, country |

# Actor input Schema

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

<b>Products</b> — Alibaba search results: title, price and quantity price tiers, minimum order, supplier with years, country, rating and response rate. <b>Product details</b> — the full product page: specifications, variants, lead time, sample price, sold count, supplier contact. <b>Suppliers</b> — one row per company selling a product. <b>Buying requests</b> — RFQs posted by buyers: product, quantity, country.

## `keywords` (type: `array`):

What you would type into the Alibaba search box: <code>yoga mat</code>, <code>led strip light</code>, <code>custom t-shirt</code>. Each keyword is one search.

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

Product pages for <b>Product details</b>: <code>https://www.alibaba.com/product-detail/\_1601617846699.html</code> or just the ID <code>1601617846699</code>.

## `startUrls` (type: `array`):

Any alibaba.com link, routed automatically: a search results page with your filters (<code>alibaba.com/trade/search?SearchText=…</code>), a product page, or a buying-requests search on sourcing.alibaba.com.

## `maxResultsPerInput` (type: `integer`):

Cap for each keyword or URL, not for the whole run. Alibaba shows up to 4,800 products per search (100 pages of 48).

## `minPrice` (type: `number`):

Alibaba's own price filter.

## `maxPrice` (type: `number`):

Alibaba's own price filter.

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

Only products you can order in this quantity or less — e.g. <code>10</code> for small test orders.

## `supplierCountries` (type: `array`):

Two-letter codes: <code>CN</code>, <code>IN</code>, <code>VN</code>, <code>TR</code>, <code>PK</code>, <code>US</code>. One code uses Alibaba's filter; several are filtered row by row. Empty = all.

## `tradeAssuranceOnly` (type: `boolean`):

Suppliers covered by Alibaba Trade Assurance.

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

Suppliers inspected by a third party (Alibaba's Verified Supplier badge).

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

Alibaba's highest supplier tier.

## `minSupplierRating` (type: `number`):

Store rating out of 5, e.g. <code>4.5</code>.

## `sortBy` (type: `string`):

Alibaba's Best match, or suppliers who answer fastest first.

## `excludeAds` (type: `boolean`):

Leave out products placed by paid ads (marked <code>isAd</code>). Skipped rows are free.

## `includeDetails` (type: `boolean`):

Products mode: one full product-page row per result — specifications, variants, lead time, sample price, sold count, supplier contact person — billed as a product page.

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

Stop after this many rows in the whole run — a hard ceiling on cost.

## `monitoringStoreName` (type: `string`):

Give the run a name (e.g. <code>new-yoga-mats</code>) and every later run with the same name returns <b>only rows it has not delivered before</b> — new products, new suppliers, new buying requests. Schedule it daily. Empty = normal run.

## Actor input object example

```json
{
  "mode": "products",
  "keywords": [
    "yoga mat"
  ],
  "maxResultsPerInput": 50,
  "tradeAssuranceOnly": false,
  "verifiedSupplierOnly": false,
  "verifiedProOnly": false,
  "sortBy": "bestMatch",
  "excludeAds": false,
  "includeDetails": false,
  "maxItems": 10000
}
```

# Actor output Schema

## `rows` (type: `string`):

One row per product, product page, supplier or buying request; error rows explain inputs that could not be read.

# 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 = {
    "keywords": [
        "yoga mat"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("blueskyscraper/alibaba-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 = { "keywords": ["yoga mat"] }

# Run the Actor and wait for it to finish
run = client.actor("blueskyscraper/alibaba-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 '{
  "keywords": [
    "yoga mat"
  ]
}' |
apify call blueskyscraper/alibaba-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,blueskyscraper/alibaba-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/mhhZLVmMRsMHCO6GR/builds/kbvi9ij0bzsopfmw6/openapi.json
