# China CPI, PPI & PMI API: Official NBS Data in English (`sinodata/china-cpi-ppi-pmi`) Actor

China's official inflation and business surveys from the National Bureau of Statistics, in English: CPI with 45 components (pork, rent, core CPI...), PPI and producer purchase prices by industry, and the manufacturing, non-manufacturing and composite PMI with all sub-indexes. No login.

- **URL**: https://apify.com/sinodata/china-cpi-ppi-pmi.md
- **Developed by:** [SinoData](https://apify.com/sinodata) (community)
- **Categories:** Other
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 indicator values

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

## China CPI, PPI & PMI: Official NBS Data with Components

Get **China's official inflation and business survey data** as clean JSON, straight from the monthly releases of the **National Bureau of Statistics of China (国家统计局, NBS)**. No login, no Chinese needed: every indicator has an English name.

- **CPI (consumer prices)**: headline CPI, urban and rural, food and non-food, goods and services, **core CPI**, the eight categories and about 35 components such as **pork**, beef, fresh vegetables, fresh fruit, rent, cars, vehicle fuel, education and medical services; month-on-month, year-on-year and year-to-date changes
- **PPI (producer prices)**: PPI and its producer/consumer goods split, **producer purchase prices (PPIRM)** by material group, and producer prices for about 30 industries (coal mining, oil and gas, steel, non-ferrous metals, chemicals, autos, electronics, power...)
- **PMI (purchasing managers' indexes)**: the **manufacturing PMI** with all 13 sub-indexes (new orders, production, new export orders, input and output prices, employment...), the **non-manufacturing** business activity index with its sub-indexes, construction and services, and the **composite PMI output index**
- **Latest month or a month range**, with a headline-only option

### Use cases

- **Macro and markets research**: China inflation, factory-gate prices and business cycle data in one feed.
- **Commodity and trade analysis**: PPI by industry and input prices show cost pressure upstream.
- **Dashboards and alerts**: schedule a monthly run with **Only new releases** on and get each release once (PMI on the last day of the month, CPI and PPI around the 10th).
- **Models and notebooks**: tidy one-row-per-indicator data, ready for pandas or a spreadsheet.

### Example input

The latest release of each:

```json
{}
```

Headline figures for 2025:

```json
{
  "monthFrom": "2025-01",
  "monthTo": "2025-12",
  "headlineOnly": true
}
```

### Output

CPI and PPI rows:

```json
{ "type": "cpi", "month": "2026-09", "indicator": "居民消费价格", "indicatorEnglish": "CPI (all items)", "momPct": 0.2, "yoyPct": 0.9, "ytdYoyPct": 0.9, "level": "headline" }
{ "type": "cpi", "month": "2026-09", "indicator": "猪肉", "indicatorEnglish": "Pork", "momPct": 1.2, "yoyPct": -10, "ytdYoyPct": -12.9, "level": "component" }
{ "type": "ppi", "month": "2026-09", "indicator": "汽车制造业", "indicatorEnglish": "Automobiles", "section": "主要行业出厂价格", "momPct": -0.2, "yoyPct": -2, "ytdYoyPct": -2.2, "level": "component" }
```

A PMI row:

```json
{ "type": "pmi", "month": "2026-09", "survey": "manufacturing", "indicator": "新订单", "indicatorEnglish": "New orders", "value": 50.5 }
```

- CPI and PPI values are percentage changes as published: `momPct` month on month, `yoyPct` year on year, `ytdYoyPct` year to date versus the same period last year.
- PMI values are diffusion indexes (50 = no change). `survey` is `manufacturing`, `nonManufacturing` or `composite`.
- `level` separates headline figures from components, which is what **Headline figures only** filters on.

### Pricing

**$0.001 per indicator value.** The latest month of everything (about 120 values) costs about $0.12; headline figures for a year about $0.20.

### Notes and limits

- History goes back to late 2021 for CPI and PPI and to late 2020 for the PMI (each PMI release repeats the previous 12 months). Older months are found by walking the NBS release list, so long ranges take a minute or two to start.
- Official figures as first published by NBS; later revisions are not tracked.
- Only public data is collected.

### Related

- [China Commodity Prices](https://apify.com/sinodata/china-commodity-prices), [China House Price Index](https://apify.com/sinodata/china-house-price-index) and [China CNY Fixing, Shibor & LPR Rates](https://apify.com/sinodata/china-cny-rates).

### 中文说明

国家统计局每月发布的居民消费价格（CPI，含核心 CPI、八大类和猪肉、鲜菜、房租等约 35 个分项的环比、同比、累计同比）、工业生产者出厂价格和购进价格（PPI、PPIRM，含约 30 个行业）、采购经理指数（制造业 PMI 全部 13 个分项、非制造业商务活动指数、建筑业、服务业和综合 PMI 产出指数），全部附英文名称，可取最新一期或按月份区间取历史。按结果计费，可在 Apify 上直接运行或通过 API 调用，也可设置定时任务。有问题或需要新字段，请在 Issues 页面留言（中文、英文均可）。

### Feedback

Need GDP, industrial output or retail sales as well? Open an issue on the Issues tab.

# Actor input Schema

## `series` (type: `array`):

Which releases to get.

## `latestMonths` (type: `integer`):

How many of the most recent months to get (1 = the latest release). Ignored when you set a month range.

## `monthFrom` (type: `string`):

Every month since this one (YYYY-MM, e.g. 2023-01).

## `monthTo` (type: `string`):

Last month of the range (YYYY-MM). Leave empty for up to the latest release.

## `headlineOnly` (type: `boolean`):

Only the main figures (CPI, urban/rural, food/non-food, core CPI; PPI and PPIRM totals; manufacturing, non-manufacturing and composite PMI) instead of every component.

## `skipUnchanged` (type: `boolean`):

For scheduled runs: skip (and don't pay for) months you already saved in a previous run.

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

Not needed for normal use.

## Actor input object example

```json
{
  "series": [
    "cpi",
    "ppi",
    "pmi"
  ],
  "latestMonths": 1,
  "headlineOnly": false,
  "skipUnchanged": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

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

// Run the Actor and wait for it to finish
const run = await client.actor("sinodata/china-cpi-ppi-pmi").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("sinodata/china-cpi-ppi-pmi").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 sinodata/china-cpi-ppi-pmi --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sinodata/china-cpi-ppi-pmi"
        }
    }
}
```

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/1Anv41GBKwYuMdhZg/builds/cKCm9RAhrVxwANH2F/openapi.json
