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
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 -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
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 56895c0f276665ee475f67017415cd17037c549f9f2a84fb8d375186a544f42eRecords
The first 15 of 15 records. The complete set is in the CSV.
| Title | Publisher | Published | First collected | Class |
|---|---|---|---|---|
| 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 only | Financial Times | 2026-10-19 | 2026-10-20 | Newly published |
| China commerce ministry announces export controls for tunnel boring machinesChina commerce ministry announces export controls for tunnel boring machines | Reuters | 2026-10-19 | 2026-10-19 | Newly 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 only | Reuters | 2026-09-03 | 2026-09-04 | Newly 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 controls | Financial Times | 2026-08-13 | 2026-08-14 | Newly published |
| Streamlining Export Controls for Drone ExportsStreamlining Export Controls for Drone Exports | US Federal Register | 2026-08-14 | 2026-08-14 | Newly 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 Times | 2026-08-12 | 2026-08-13 | Newly published |
| China detains Japanese executives in dual-use technology export probe: reportChina detains Japanese executives in dual-use technology export probe: report | South China Morning Post | 2026-08-11 | 2026-08-11 | Newly published |
| US backs Australian rare earth miner to cut out ChinaUS backs Australian rare earth miner to cut out ChinaBroad term only | Financial Times | 2026-08-09 | 2026-08-10 | Newly published |
| Transcript: How to break China’s chokehold on rare earthsTranscript: How to break China’s chokehold on rare earthsBroad term only | Financial Times | 2026-08-06 | 2026-08-08 | Newly 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-28 | Discovered; 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-28 | Discovered; 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-28 | Discovered; 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-28 | Discovered; date unknown |
| National standards released for detecting thorium and uranium in rare earth waste residue and wastewater稀土废渣废水中钍铀检测国标发布Broad term only | Jiangxi Provincial Government | — | 2026-08-27 | Discovered; date unknown |
| 商务部公告2026年第34号 公布加强无人机相关两用物项对美国出口管制商务部公告2026年第34号 公布加强无人机相关两用物项对美国出口管制 | MOFCOM | — | 2026-08-05 | Discovered; 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.
# 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"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
- 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.
- 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.
- Terms: export control (en); 出口管制 (zh); dual-use (en); 两用物项 (zh); unreliable entity (en); 不可靠实体 (zh); rare earth (en, broad); 稀土 (zh, broad).
- Results are merged by record id. A record keeps every term that matched it.
- 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.
- original_title, title, source, source_url, published_at and collected_at are preserved as returned by the API.