# Made in China Product Scraper (`codenest/made-in-china-product-scraper`) Actor

Input keywords (cars, electronics etc) to search Made-in-China.com for products. Outputs complete product data: titles, tiered pricing, supplier profiles, specifications, certifications, images, videos & trading details. Made in China Product Scraper.

- **URL**: https://apify.com/codenest/made-in-china-product-scraper.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 product scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🏭 Made in China Product Scraper - Ultimate B2B Product Extractor

**Effortlessly scrape comprehensive product listings from Made-in-China.com with our powerful **Made in China Product Scraper**! This Apify actor enables bulk extraction of products, complete supplier details, pricing tiers, specifications, and rich media assets.**

***

### 📋 Overview

Need to source products from China, analyze B2B markets, or build supplier databases? This **Made in China Product Scraper** delivers:

- 🏭 **Comprehensive Product Data** - Full product details, specifications, and pricing
- 📊 **Supplier Intelligence** - Company info, ratings, and verification status
- 💰 **Pricing Tiers** - Volume-based pricing and minimum order quantities
- 📸 **Rich Media Assets** - Product images, videos, and galleries
- 🔍 **Advanced Search** - Multi-keyword support with sub-keyword filtering

Perfect for procurement professionals 📦, importers 🌍, market analysts 📈, and dropshippers 🚀!

***

### ⭐ Core Capabilities of Made in China Product Scraper

#### 🏭 Product Extraction

- **Multi-Keyword Support** - Search across multiple product categories
- **Complete Product Data** - Titles, prices, descriptions, and specifications
- **Category Detection** - Automatic product categorization
- **Certification Extraction** - UL, CE, EN71, and other certifications

#### 📊 Supplier Intelligence

- **Supplier Profiles** - Company names, addresses, and business types
- **Rating Systems** - Supplier scores and review counts
- **Verification Status** - Audited supplier verification
- **Business Information** - Year established, employees, main products

#### 💰 Pricing & Order Details

- **Price Tiers** - Volume-based pricing structures
- **Minimum Order Quantities** - MOQ requirements
- **Trading Information** - Payment terms, delivery times, ports
- **Currency Detection** - USD, EUR, and other currencies

#### 📸 Rich Media Extraction

- **Product Images** - Multiple high-quality product photos
- **Video Tours** - Product demonstration videos
- **Gallery Count** - Total available media assets
- **Image Format Detection** - WebP, JPEG, and other formats

***

### ⚙️ Input Configuration

Simply enter your keywords and configure settings, then click "Start". Input looks like this:

```json
{
  "keywords": [
    "cars",
    "toys"
  ],
  "maxItems": 5,
  "subKeywords": [],
  "urls": [],
  "maxConcurrency": 3,
  "minDelayMs": 1000,
  "maxDelayMs": 3000
}
```

#### 📝 Input Specifications

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `keywords` | Array | ✅ Yes | - | Product keywords to search for |
| `maxItems` | Integer | ❌ No | 5 | Maximum products to scrape per keyword |
| `subKeywords` | Array | ❌ No | \[] | Additional filtering keywords |
| `urls` | Array | ❌ No | \[] | Direct product URLs to scrape |
| `maxConcurrency` | Integer | ❌ No | 3 | Parallel scraping threads (1-10) |
| `minDelayMs` | Integer | ❌ No | 1000 | Minimum delay between requests (ms) |
| `maxDelayMs` | Integer | ❌ No | 3000 | Maximum delay between requests (ms) |

***

### 📤 Output Structure

Your **Made in China Product Scraper** produces comprehensive product data with supplier details and specifications:

```json
[
  {
    "productNo": 1,
    "title": "KIA Seltos Used Car 5-Door 5-Seat Petrol Fashion Edition",
    "price": "US$9588.00 - US$10999.00",
    "priceTiers": [
      {
        "price": "US$10,999.00",
        "quantity": "1-3 Pieces"
      },
      {
        "price": "US$9,588.00",
        "quantity": "30+ Pieces"
      }
    ],
    "minOrder": "1-3 Pieces",
    "supplierDetails": {
      "supplier": "Willstar Auto Import&Export(Shanghai) Co., Ltd",
      "supplierRating": {
        "score": "4.3",
        "reviewCount": "8"
      },
      "Business Type": "Trading Company",
      "Address": "No.266 Kangwu Road, Pudong New Area, Shanghai, China",
      "Verification Level": "Audited Supplier",
      "Year Established": "2023"
    },
    "category": "Dongfeng > KIA",
    "certifications": ["UL"],
    "productUrl": "https://willstar-auto.en.made-in-china.com/...",
    "imgSrc": "https://image.made-in-china.com/...",
    "images": ["https://image.made-in-china.com/..."],
    "imageCount": 6,
    "hasImages": true,
    "videos": ["https://v.made-in-china.com/..."],
    "videoCount": 2,
    "hasVideo": true,
    "description": "Product Parameters...",
    "specifications": {
      "Vehicle Model": "KIA Seltos",
      "Engine Capacity": "1497 mL",
      "Max Speed": "172 km/h"
    },
    "tradingInfo": {
      "Port": "RO-RO and Container",
      "Payment Terms": "LC, D/P, T/T, PayPal",
      "Delivery Time": "Peak Season Lead Time: one month"
    }
  }
]
```

#### 📖 Output Field Documentation

**🔹 Product Identification**
| Field | Description |
|-------|-------------|
| `productNo` | Sequential product number |
| `title` | Full product title/name |
| `category` | Product category hierarchy |
| `productUrl` | Direct product page URL |

**🔹 Pricing & Ordering**
| Field | Description |
|-------|-------------|
| `price` | Formatted price range or single price |
| `priceTiers` | Volume-based pricing tiers with quantities |
| `minOrder` | Minimum order quantity requirement |
| `tradingInfo` | Shipping, payment, and delivery details |

**🔹 Supplier Details**
| Field | Description |
|-------|-------------|
| `supplier` | Company name |
| `supplierRating.score` | Supplier rating (0-5 scale) |
| `supplierRating.reviewCount` | Number of reviews |
| `Business Type` | Manufacturer, Trading Company, etc. |
| `Address` | Full company address |
| `Verification Level` | Audited, Verified, etc. |
| `Year Established` | Company founding year |
| `Main Products` | Primary product categories |

**🔹 Product Specifications**
| Field | Description |
|-------|-------------|
| `specifications` | Key-value pairs of product specs |
| `description` | Full product description text |
| `certifications` | Product certifications (UL, CE, etc.) |

**🔹 Media Assets**
| Field | Description |
|-------|-------------|
| `imgSrc` | Primary product image URL |
| `images` | Array of all product images |
| `imageCount` | Total number of images |
| `videos` | Array of product video URLs |
| `videoCount` | Total number of videos |

***

### 🎨 Key Features of This Made in China Product Scraper

#### 🏗️ Supplier Intelligence

- **Verification Levels** - Audited, Verified, Gold, and more
- **Business Classification** - Manufacturer, Trading Company, Factory
- **Location Tracking** - City, province, and country
- **Employee Count** - Company size indicators
- **Product Portfolio** - Main product categories

#### 📊 Pricing Analytics

- **Tiered Pricing** - Volume-based discount structures
- **Currency Support** - Multi-currency detection
- **MOQ Detection** - Minimum order requirements
- **Price Ranges** - Low to high price spans

#### 📸 Visual Content

- **High-Resolution Images** - Multiple product photos
- **Video Demos** - Product demonstration videos
- **Gallery Organization** - Structured media collections
- **Format Support** - WebP, JPEG, PNG detection

#### 🎯 Smart Scraping Features

- **Multi-Keyword Search** - Batch keyword processing
- **Concurrency Control** - Adjustable parallel scraping
- **Rate Limiting** - Configurable delays
- **URL Support** - Direct product URL scraping
- **Error Resilience** - Individual product failures handled

***

### 💡 Use Cases for Made in China Product Scraper

- **📦 Importers & Sourcing Agents** - Find products and suppliers
- **🌍 International Traders** - Research market prices and availability
- **📊 Market Analysts** - Track product trends and pricing
- **🛍️ Dropshippers** - Source products for e-commerce
- **📈 Competitor Research** - Analyze supplier offerings
- **🔬 Product Researchers** - Study specifications and certifications
- **🏢 Procurement Teams** - Compare suppliers and prices
- **🤖 AI Training** - Build product dataset for machine learning

***

### ✨ Why Choose Our Made in China Product Scraper?

- **⚡ Blazing Fast** - Concurrent scraping with optimized request handling
- **🎯 100% Accurate** - Preserves all product data without alteration
- **🔄 Regular Updates** - Adapts to platform changes automatically
- **📦 Complete Data** - Everything from pricing to supplier details
- **🛡️ Production Ready** - Battle-tested with thousands of products
- **💰 Cost Efficient** - Optimized to minimize compute time
- **🌍 Global Focus** - Supports multiple currencies and languages

***

### ⚠️ Limitations

- Only works with publicly accessible Made-in-China.com listings
- Some suppliers may require account verification
- Extremely high concurrency may trigger rate limiting
- Search results limited to platform's available inventory
- Some products may require minimum order quantity

***

### 📧 Need Custom Features for Your Made in China Product Scraper?

Want **additional product fields**, **specific supplier filters**, **custom output formats**, **advanced analytics**, or **automated sourcing alerts**?

✉️ Email **<codenest2.0@gmail.com>** for tailored enterprise solutions!

***

# Actor input Schema

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

Each line is one independent search.

• To search a phrase together (e.g. 'car motor' as one query), type both words in a SINGLE line.
• To search each word separately, put them on DIFFERENT lines — each line will be scraped up to the Max Products limit independently.

Example (one query): line 1 = 'car motor' → searches 'site:made-in-china.com car motor'
Example (two queries): line 1 = 'car', line 2 = 'motor' → searches each separately.

## `subKeywords` (type: `array`):

Sub-keywords are PAIRED by position with the Keywords list above.

• Line 1 sub-keyword is added to line 1 keyword.
• Line 2 sub-keyword is added to line 2 keyword.
• If a keyword has no matching sub-keyword line, it is searched without one.

Example: keywords = \['car', 'motor'], subKeywords = \['racing', 'DC']
→ Search 1: 'site:made-in-china.com car racing'
→ Search 2: 'site:made-in-china.com motor DC'

## `urls` (type: `array`):

Optionally enter direct made-in-china.com product detail or search/category URLs to scrape. If filled, these are scraped in addition to any keyword-based search results. Leave empty when using keyword fields above.

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

Maximum number of products to scrape per search URL. Default is 50.

## `maxConcurrency` (type: `integer`):

Maximum number of product pages to scrape in parallel. Lower values are safer against rate-limiting. Default is 3.

## `minDelayMs` (type: `integer`):

Minimum random delay in milliseconds between requests. Default is 1000ms.

## `maxDelayMs` (type: `integer`):

Maximum random delay in milliseconds between requests. Default is 3000ms.

## Actor input object example

```json
{
  "keywords": [],
  "subKeywords": [],
  "urls": [],
  "maxItems": 50,
  "maxConcurrency": 3,
  "minDelayMs": 1000,
  "maxDelayMs": 3000
}
```

# Actor output Schema

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

Dataset table containing all scraped products with custom views and export options.

## `fullJson` (type: `string`):

Complete JSON array of all scraped products stored in Key-Value store.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/made-in-china-product-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("codenest/made-in-china-product-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 '{}' |
apify call codenest/made-in-china-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,codenest/made-in-china-product-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/SpTxngKSR2OmdTCL0/builds/3yY0Bedbw9ve3OByq/openapi.json
