# China Recall Scraper: 中国缺陷产品召回 (`getascraper/china-samr-product-recall-scraper`) Actor

Get official China product and vehicle recall records from SAMR, including titles, dates, categories, and source links. 中国缺陷产品召回信息。

- **URL**: https://apify.com/getascraper/china-samr-product-recall-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, News, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.33 / 1,000 recall notices

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/platform/actors/running/actors-in-store#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

## 🔔 China Recall Scraper: 中国缺陷产品召回

<table width="100%"><tr><td style="padding:24px 28px;background:#EEF6FF;border:1px solid #B8D6F2;border-top:4px solid #0B5CAD;border-radius:12px"><span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Get official China recall notices ready for your compliance workflow.</span><br><span style="font-size:15px;color:#57534E;line-height:1.6">Search SAMR vehicle and consumer-product recall notices by keyword, then export dates, categories, and official notice links.</span></td></tr></table>

<table width="100%"><tr><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8D6F2;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#084782">🔔 Official notices</span><br><span style="font-size:12px;color:#57534E">Keep the official notice link beside every record.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8D6F2;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#084782">🚗 Two recall types</span><br><span style="font-size:12px;color:#57534E">Collect vehicle, consumer-product, or both notice types.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8D6F2;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#084782">🔎 Focused searches</span><br><span style="font-size:12px;color:#57534E">Filter by manufacturer, brand, product, model, or defect.</span></td><td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #B8D6F2;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#084782">🧾 Clear provenance</span><br><span style="font-size:12px;color:#57534E">See source result counts and the time each row was collected.</span></td></tr></table>

China Recall Scraper collects public notices from the State Administration for Market Regulation. 中国缺陷产品召回 records stay connected to their official source pages for easier review.

### 🎯 What this Actor does

Use it to monitor product-safety events, investigate brands, and add current China recall notices to a compliance dataset. It returns genuine records only. If the source does not provide a value, that field is omitted.

### 🚀 How to use it

<table width="100%"><tr><td style="padding:16px 14px;width:33%;background:#EEF6FF;border:1px solid #B8D6F2;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#0B5CAD;letter-spacing:1px">STEP 1</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Choose recall types</span><br><span style="font-size:12px;color:#57534E">Select vehicle notices, consumer-product notices, or both.</span></td><td style="padding:16px 14px;width:33%;background:#EEF6FF;border:1px solid #B8D6F2;border-left:none;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#0B5CAD;letter-spacing:1px">STEP 2</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Add an optional keyword</span><br><span style="font-size:12px;color:#57534E">Search for a brand, manufacturer, product, model, or defect.</span></td><td style="padding:16px 14px;width:33%;background:#EEF6FF;border:1px solid #B8D6F2;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#0B5CAD;letter-spacing:1px">STEP 3</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Run and schedule</span><br><span style="font-size:12px;color:#57534E">Export the notices or schedule a regular check.</span></td></tr></table>

### 🧩 Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Recall types | enum | No | Vehicle recalls, consumer-product recalls, or both. |
| Keyword | text | No | Brand, manufacturer, product, model, or defect term. |
| Maximum recall records | integer | No | Bounded number of records to collect. |

### 📊 Data table

| Field | Type | Description |
| --- | --- | --- |
| `title` | string | Official recall notice title. |
| `recallType` | string | `vehicle` or `consumer`. |
| `sourcePublishedAt` | string | Publication date supplied by SAMR. |
| `sourceUrl` | string | Official notice page. |
| `sourceTotal` | number | Total matching records reported by the source. |
| `scrapedAt` | string | Time the Actor collected the record. |

### 💰 Pricing

This Actor uses pay per event pricing. Empty runs cost nothing, and there are no subscriptions.

### ⭐ Enjoying China Recall Scraper?

<table width="100%"><tr><td style="padding:20px 24px 14px;background:#EEF6FF;border:1px solid #B8D6F2;border-left:5px solid #0B5CAD;border-radius:10px 10px 0 0"><span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br><span style="font-size:17px;font-weight:800;color:#1C1917">If these notices save your compliance team a manual search, a rating helps more teams find this data.</span><br><span style="font-size:14px;color:#57534E">Your feedback tells us which China compliance records to add next.</span></td></tr><tr><td style="padding:0;background:#0B5CAD;border:1px solid #B8D6F2;border-top:none;border-radius:0 0 10px 10px;text-align:center"><a href="https://apify.com/getascraper/china-samr-product-recall-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a></td></tr></table>

### ❓ FAQ

#### 中国缺陷产品召回 can I search by a Chinese brand?

Yes. Enter a manufacturer, brand, product, model, or defect keyword in Chinese or English when the source recognizes it.

#### Does this Actor return original official pages?

Yes. Every returned record includes its official notice link when the source provides one.

#### Does it include private consumer data?

No. It only returns public recall notices and their public metadata.

#### Can I run it on a schedule?

Yes. Use an Apify schedule to collect new official notices at the interval your team needs.

### 🔗 Other actors

- [OpenFDA drug label scraper for RAG](https://apify.com/getascraper/openfda-rag-extractor) ↗ - Collect public drug-label data for research workflows.
- [SEC Form D monitor: startup funding rounds](https://apify.com/getascraper/sec-form-d-funding-monitor) ↗ - Track public company filing events.
- [Zhaopin Scraper 智联招聘: China Jobs API](https://apify.com/getascraper/zhaopin-jobs-scraper) ↗ - Monitor public China job postings and hiring changes.

# Actor input Schema

## `recallTypes` (type: `array`):

Choose vehicle recalls, consumer-product recalls, or both.

## `keyword` (type: `string`):

Optional Chinese or English manufacturer, brand, product, model, or defect keyword.

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

Maximum records across all selected types. The default is a small sample for fast runs.

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

Visit each public official notice to collect recall number, organization, affected quantity, hazard, and remedy when displayed.

## `incrementalMode` (type: `boolean`):

Compare official notice URLs against a named state and save only NEW or UPDATED recalls. Use for scheduled compliance monitoring.

## `stateName` (type: `string`):

A distinct name prevents independent recall watchlists from sharing history.

## `includeUnchanged` (type: `boolean`):

When monitoring, also save notices whose official values have not changed.

## Actor input object example

```json
{
  "recallTypes": [
    "vehicle",
    "consumer"
  ],
  "keyword": "",
  "maxItems": 10,
  "includeDetails": true,
  "incrementalMode": false,
  "stateName": "default",
  "includeUnchanged": false
}
```

# Actor output Schema

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

No description

# 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 = {
    "recallTypes": [
        "vehicle",
        "consumer"
    ],
    "keyword": "",
    "maxItems": 10,
    "includeDetails": true,
    "incrementalMode": false,
    "stateName": "default",
    "includeUnchanged": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/china-samr-product-recall-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 = {
    "recallTypes": [
        "vehicle",
        "consumer",
    ],
    "keyword": "",
    "maxItems": 10,
    "includeDetails": True,
    "incrementalMode": False,
    "stateName": "default",
    "includeUnchanged": False,
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/china-samr-product-recall-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "recallTypes": [
    "vehicle",
    "consumer"
  ],
  "keyword": "",
  "maxItems": 10,
  "includeDetails": true,
  "incrementalMode": false,
  "stateName": "default",
  "includeUnchanged": false
}' |
apify call getascraper/china-samr-product-recall-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/china-samr-product-recall-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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