China signal desk · refreshed five times each Beijing day

Search

Search the retained record: documents, social attention and economic prints.

Example / 3 Aug 2026 to 31 Oct 2026

Export-control policy publications, 3 Aug to 31 Oct 2026

Machine-built, not yet reviewed

The question this answers for a buyer

Can my team stop checking Chinese ministries and wire sources by hand for export-control news and still know what was published, by whom, and when we found it?

The exact question and range

Which retained records mention export controls, dual-use items, the unreliable entity list or rare earths in their title between 2026-08-03 and 2026-10-31, and how many were published in that window versus only discovered by us in it?

Date range
2026-08-03 to 2026-10-31, inclusive
Frozen
2026-11-02 01:46 UTC
Records
15

Result

The reproducible request returns 10 records. Across all eight terms, 15 unique records matched at least one reviewed term. 9 carry a publication date inside the range; 0 were first collected in range with an earlier publication date and 6 have no publication date. 5 matched only a broad term and need review.

  • Unique records15Merged by record id across all eight term queries.
  • Newly published in range9published_at falls between the range start and end.
  • Newly discovered, earlier publication date0First collected in range but dated before it: found late, not published late.
  • Newly discovered, publication date unknown6The publisher date was not retained, so recency cannot be judged.
  • Matched only by a broad term5 (33.3%)Only 'rare earth' or '稀土' matched. These are the likeliest false positives (for example market news).
  • Publishers represented7Top: MOFCOM (5), Financial Times (4), Reuters (2)
  • Hits for 'export control'8Records returned for this term alone
  • Hits for '出口管制'5Records returned for this term alone
  • Hits for 'dual-use'2Records returned for this term alone
  • Hits for '两用物项'2Records returned for this term alone
  • Hits for 'unreliable entity'0Records returned for this term alone
  • Hits for '不可靠实体'0Records returned for this term alone
  • Hits for 'rare earth'6Records returned for this term alone
  • Hits for '稀土'1Records returned for this term alone

Reproduce the documented result

One anonymous request with a fixed date range and at most 100 rows. Running it returns the rows counted below; the digest is the SHA-256 of their sorted ids joined by a newline.

curl
curl -sS 'https://china-snapshot.com/api/datasets?dataset=documents&topic=export-controls&from=2026-08-03&to=2026-10-31&limit=100'
Request
documents with topic=export-controls
Rows returned
10
ids_sha256
56895c0f276665ee475f67017415cd17037c549f9f2a84fb8d375186a544f42e
Python (verify the digest)
import hashlib
import requests

items = requests.get("https://china-snapshot.com/api/datasets?dataset=documents&topic=export-controls&from=2026-08-03&to=2026-10-31&limit=100", timeout=60).json()["items"]
digest = hashlib.sha256("\n".join(sorted(i["id"] for i in items)).encode()).hexdigest()
print(len(items), digest)  # documented: 10 56895c0f276665ee475f67017415cd17037c549f9f2a84fb8d375186a544f42e

Records

The first 15 of 15 records. The complete set is in the CSV.

First 15 records for Export-control policy publications, 3 Aug to 31 Oct 2026
TitlePublisherPublishedFirst collectedClass
Japan ‘months’ from running out of critical rare earth as China squeezes supplyJapan ‘months’ from running out of critical rare earth as China squeezes supplyBroad term onlyFinancial Times2026-10-192026-10-20Newly published
China commerce ministry announces export controls for tunnel boring machinesChina commerce ministry announces export controls for tunnel boring machinesReuters2026-10-192026-10-19Newly published
China rare earth firms halt some US shipments over geopolitical worries, sources sayChina rare earth firms halt some US shipments over geopolitical worries, sources sayBroad term onlyReuters2026-09-032026-09-04Newly published
Price of niche rare earth jumps on fears of renewed Chinese export controlsPrice of niche rare earth jumps on fears of renewed Chinese export controlsFinancial Times2026-08-132026-08-14Newly published
Streamlining Export Controls for Drone ExportsStreamlining Export Controls for Drone ExportsUS Federal Register2026-08-142026-08-14Newly published
Are US export controls really about containing China – or controlling America itself?Are US export controls really about containing China – or controlling America itself?Global Times2026-08-122026-08-13Newly published
China detains Japanese executives in dual-use technology export probe: reportChina detains Japanese executives in dual-use technology export probe: reportSouth China Morning Post2026-08-112026-08-11Newly published
US backs Australian rare earth miner to cut out ChinaUS backs Australian rare earth miner to cut out ChinaBroad term onlyFinancial Times2026-08-092026-08-10Newly published
Transcript: How to break China’s chokehold on rare earthsTranscript: How to break China’s chokehold on rare earthsBroad term onlyFinancial Times2026-08-062026-08-08Newly published
Ministry of Commerce, General Administration of Customs, and Equipment Development Department of the Central Military Commission Announcement No. 49 of 2026: Announcement of the Decision to Optimize and Adjust Export Control Measures for Drone-Related Items商务部 海关总署 中央军委装备发展部公告2026年第49号 公布优化调整无人机相关物项出口管制措施的决定MOFCOM—2026-10-28Discovered; date unknown
Ministry of Commerce and General Administration of Customs Announcement No. 50 of 2026: Announcement of the Decision to Impose Export Controls on Items Such as Tunnel Boring Machines商务部 海关总署公告2026年第50号 公布对盾构机等物项实施出口管制的决定MOFCOM—2026-10-28Discovered; date unknown
Ministry of Commerce and General Administration of Customs Announcement No. 51 of 2026: Announcement of the Decision to Optimize and Adjust Export Control Measures for Dredger-Related Items商务部 海关总署公告2026年第51号 公布优化调整挖泥船相关物项出口管制措施的决定MOFCOM—2026-10-28Discovered; date unknown
Ministry of Commerce and General Administration of Customs Announcement No. 52 of 2026: Announcement of Matters Concerning Further Optimization of the Challenge and Identification Work for Export Control of Dual-Use Items商务部 海关总署公告2026年第52号 公布进一步优化两用物项出口管制质疑和鉴别工作有关事项MOFCOM—2026-10-28Discovered; date unknown
National standards released for detecting thorium and uranium in rare earth waste residue and wastewater稀土废渣废水中钍铀检测国标发布Broad term onlyJiangxi Provincial Government—2026-08-27Discovered; date unknown
商务部公告2026年第34号 公布加强无人机相关两用物项对美国出口管制商务部公告2026年第34号 公布加强无人机相关两用物项对美国出口管制MOFCOM—2026-08-05Discovered; date unknown

Sources

  • China Snapshot public datasets API (documents) — Retained documents corpus; one record per source URL.
  • MOFCOM — 5 matching records
  • Financial Times — 4 matching records
  • Reuters — 2 matching records
  • US Federal Register — 1 matching record
  • Global Times — 1 matching record
  • South China Morning Post — 1 matching record
  • Jiangxi Provincial Government — 1 matching record

Known gaps

  • The deployed API has no topic filter yet. Each term is a case-insensitive substring match on title, original title or publisher name only; article bodies are not searched, so a document that discusses export controls without saying so in its title is missed.
  • Matching is literal. Variants such as 'dual use' without the hyphen, 'export-control' with one, 'export restrictions', or other Chinese phrasings are not matched.
  • Broad terms ('rare earth', '稀土') also match commodity and market news that is not about policy. Rows matched only by a broad term carry matched_only_broad_term = true and should be reviewed before counting them as policy publications.
  • Date filters use first collection time in UTC. published_at is the publisher's claim, is sometimes absent, and is compared here by calendar date as given.
  • The corpus is a collected set of sources, not a register of every publication. A count here is a count of records we retained, not of everything issued.
  • No human has reviewed these rows. The classification is by publication date only; it does not judge whether a record is substantively about export controls.

Every request behind the figures

These are the exact anonymous requests used. Responses are paged at 100 rows by following next_cursor. Keep to one request a second.

curl
# documents matching 'export control'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=export%20control&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching '出口管制'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=%E5%87%BA%E5%8F%A3%E7%AE%A1%E5%88%B6&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching 'dual-use'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=dual-use&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching '两用物项'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=%E4%B8%A4%E7%94%A8%E7%89%A9%E9%A1%B9&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching 'unreliable entity'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=unreliable%20entity&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching '不可靠实体'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=%E4%B8%8D%E5%8F%AF%E9%9D%A0%E5%AE%9E%E4%BD%93&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching 'rare earth'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=rare%20earth&from=2026-08-03&to=2026-10-31&limit=100"

# documents matching '稀土'
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&q=%E7%A8%80%E5%9C%9F&from=2026-08-03&to=2026-10-31&limit=100"

# reproducible request: documents with topic=export-controls
curl -s "https://china-snapshot.com/api/datasets?dataset=documents&topic=export-controls&from=2026-08-03&to=2026-10-31&limit=100"
Python (pandas)
import time
from urllib.parse import quote

import pandas as pd
import requests

URLS = [
    "https://china-snapshot.com/api/datasets?dataset=documents&q=export%20control&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching 'export control'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=%E5%87%BA%E5%8F%A3%E7%AE%A1%E5%88%B6&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching '出口管制'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=dual-use&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching 'dual-use'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=%E4%B8%A4%E7%94%A8%E7%89%A9%E9%A1%B9&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching '两用物项'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=unreliable%20entity&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching 'unreliable entity'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=%E4%B8%8D%E5%8F%AF%E9%9D%A0%E5%AE%9E%E4%BD%93&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching '不可靠实体'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=rare%20earth&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching 'rare earth'
    "https://china-snapshot.com/api/datasets?dataset=documents&q=%E7%A8%80%E5%9C%9F&from=2026-08-03&to=2026-10-31&limit=100",  # documents matching '稀土'
    "https://china-snapshot.com/api/datasets?dataset=documents&topic=export-controls&from=2026-08-03&to=2026-10-31&limit=100",  # reproducible request: documents with topic=export-controls
]

rows = []
for first_url in URLS:
    url = first_url
    while url:
        page = requests.get(url, timeout=60).json()
        rows += page["items"]
        cursor = page.get("next_cursor")
        url = f"{first_url}&cursor={quote(cursor)}" if cursor else None
        time.sleep(1)  # anonymous limit: 60 requests a minute

df = pd.DataFrame(rows)
if "id" in df: df = df.drop_duplicates("id")
print(len(df), "rows")

# Or load the frozen evidence file without calling the API:
evidence = pd.read_csv("https://china-snapshot.com/data/examples/policy-monitoring.csv")

Download the evidence

The JSON holds the question, every request URL, known gaps and up to 500 rows. The CSV holds the full row set.

Method

  1. The reproducible request (documents with topic=export-controls) is one fixed-range page of at most 100 rows; result.row_count and result.ids_sha256 are computed from exactly its response.
  2. For the wider figures: one query per reviewed term (the list is below), each paged at 100 rows by following next_cursor, with from/to fixed to the range.
  3. Terms: export control (en); 出口管制 (zh); dual-use (en); 两用物项 (zh); unreliable entity (en); 不可靠实体 (zh); rare earth (en, broad); 稀土 (zh, broad).
  4. Results are merged by record id. A record keeps every term that matched it.
  5. Each record is classed by comparing published_at (the publisher's date, nullable) with the range: published inside it, discovered inside it with an earlier publication date, or discovered with no publication date.
  6. original_title, title, source, source_url, published_at and collected_at are preserved as returned by the API.