Code-speaking Manifesto: How Japan's Gov Data and Systems Stack Up (and How to Fix Them)

どうもおかむーです!今日はちょっとエンジニアっぽい話をしますよ〜
- The problem: many Japanese government datasets are trapped in PDFs or inconsistent CSVs, making programmatic use painful.
- The short fix: publish time-series KPIs, APIs (JSON), and machine-readable schemas; treat data like code with tests and CI.
- The payoff: faster policy feedback loops, evidence-based decisions, and more civic innovation using open data.
結論
Japan has the pieces — e-Stat, Digital Agency initiatives (https://www.digital.go.jp/), GovTech Tokyo experiments (https://www.govtechtokyo.or.jp/) — but the delivery is uneven. From a technical POV, the main issues are: PDF-first publication, missing APIs or inconsistent APIs, absent schema/versioning, and KPI numbers published only as PDFs. 要するに、データを“コード”として扱っていないんです。
Report: technical diagnosis and recommendations
What's wrong (evidence from public sources)
- PDF vs CSV: Policy guidelines and KPI reports (example: Digital田園都市 KPI guidance https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf) are available as PDFs. PDFs are great for human reading but terrible for scraping and reproducibility.
- API coverage: e-Stat (cabinet-level statistics) has an API, which is good, but many local datasets (municipal dashboards or procurement, reservation systems like OPAS) are only HTML/PDF or ad-hoc CSVs (see city portals and GovTech Tokyo case studies).
- Schema and versions: Datasets often lack machine-readable schemas and stable IDs; that breaks reproducible analysis and joins across datasets.
Developer view: concrete examples
- Fetching e-Stat (good):
import requests
import pandas as pd
API_KEY = 'YOUR_ESTAT_KEY'
url = 'https://api.e-stat.go.jp/rest/3.0/app/json/getStatsData'
params = {'appId': API_KEY, 'statsDataId': '0003421249'}
r = requests.get(url, params=params)
data = r.json()
parse into table with pandas
- Scraping a PDF KPI (painful): use tabula-py or pdfplumber, then manual clean. Wasteful compared to a JSON API.
Policy numbers and gaps
- Many grant programs and KPIs (e.g. Digital田園都市交付金) publish targets and achievement statements in PDFs/HTML summaries. Without machine-readable time-series, it's hard to compute gaps programmatically or create dashboards that update automatically.
Concrete engineering fixes
- API-first: every dataset with KPIs must expose JSON/CSV endpoints and an OpenAPI spec.
- Schema and tests: publish JSON Schema/CSVW, CI that validates new data against schema, and semantic versioning for dataset changes.
- Data packaging: provide Parquet/CSV/JSON and DOIs for snapshots; use a central catalog (lg.jp/go.jp/e-Stat federation) with licenses (CC-BY).
- Tooling: provide example notebooks (Colab/GitHub) and Kubernetes-based ETL jobs that ingest, validate, and publish derivatives.
まとめ
This is an engineering problem with political consequences: make datasets first-class, treat them like code (schema, tests, versioning, APIs). Doing so reduces friction for civic tech, improves accountability, and helps measure whether policies actually hit targets.
おかむーから一言
Tech is the amplifier for good policy—let's ship data like we ship software: small commits, tested, and documented. 政府データをちゃんとAPI化して、みんなで社会をアップデートしよう!
Sources
- https://www.zhihu.com/question/40553450
- https://www.govtechtokyo.or.jp/services/data-utilization/
- https://www.zhihu.com/tardis/zm/art/1924492115896960699
- https://note.govtechtokyo.jp/n/n77785a8254d6
- https://www.zhihu.com/tardis/bd/ans/122070726526
- https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB
- https://www.city.sukagawa.fukushima.jp/shisei/gyoseiunei/keikaku/chiho_sosei/1015604/4045.html
- https://www.digital.go.jp/
- https://www.chisou.go.jp/sousei/pdf/r5_guideline-checkaction.pdf
- https://biz.kddi.com/content/column/smartwork/what-is-digital/
- https://www.city.toyonaka.osaka.jp/shisetsu/annai.html
- https://www.intec.co.jp/column/smartcity-08.html
- https://reserve.opas.jp/osakafu/Welcome.cgi
- https://www.digital.go.jp/resources/data_case_study_private
- https://ja.wikipedia.org/wiki/%E5%85%AC%E5%85%B1
Share
Related Reports

Code-driven Manifesto: Auditing Local Gov Data and Systems (Kagawa case study)
Local gov systems run but hide data behind UIs; expose CSV/JSON, APIs, and common schemas to unlock value.

Code-driven Check: Japan’s Open Data and the Machine-Readable Gap
Digital Japan has dashboards and rules, but PDFs and messy formats still block automated policy verification; mandate CSV/JSON, APIs, and dataset linting.

Code Speaks: Testing Japan's Gov Data and Dashboards
Japan has great dashboards but inconsistent machine-readability. This report inspects e-Stat, Japan Dashboard, Kantei PDFs, and proposes API-first fixes and practical code examples.