China SnapshotDocs
Get a key ↗
Open in AI ↗
Open in ChatGPTOpen in ClaudeView Markdown
Guides

Use indicators as context

Keep reference periods, first capture dates and collection times separate.

Discover a series#

curl
curl --fail-with-body --silent --show-error --max-time 30 "https://china-snapshot.com/api/series"
python
import json
from urllib.request import Request, urlopen
request = Request('https://china-snapshot.com/api/series')
with urlopen(request, timeout=30) as response:
    data = json.load(response)
print(json.dumps(data, ensure_ascii=False))
typescript
const response = await fetch("https://china-snapshot.com/api/series");
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());

Read releases#

curl
curl --fail-with-body --silent --show-error --max-time 30 "https://china-snapshot.com/api/datasets?dataset=indicators&mode=release&series=cpi-yoy&limit=5"
python
import json
from urllib.request import Request, urlopen
request = Request('https://china-snapshot.com/api/datasets?dataset=indicators&mode=release&series=cpi-yoy&limit=5')
with urlopen(request, timeout=30) as response:
    data = json.load(response)
print(json.dumps(data, ensure_ascii=False))
typescript
const response = await fetch("https://china-snapshot.com/api/datasets?dataset=indicators&mode=release&series=cpi-yoy&limit=5");
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());

Align the clocks#

period is the economic reference period. collected_at is capture time in raw mode. release_date in release mode is the first-seen Beijing date, not the publisher's timestamp. first_seen_at and last_seen_at delimit retained capture history.

Compare like with like#

Use series_id, period and unit. Do not assume a repeated capture is a fresh release. revised is only meaningful for the release types where it is defined; null is not false. Adjacent policy, attention and market observations establish timing, not causation.

Search documentation