Code-Savvy Audit of Japan's Municipal Systems: Standardize, Open, Iterate

どうも〜おかむーです! Hi, I'm Okamu—today we're doing a little code-first manifesto check on Japan's push to standardize local government core systems. Engineers, policy folks, and civic hackers, this one's for you!
- Japan mandates standardization of municipal core systems but implementation details vary across jurisdictions
- APIs exist (e-Gov, Tokyo Open Data, e-Stat), yet machine-readability and consistent schemas are still work in progress
- Concrete improvements: unified JSON schema/OpenAPI, publish CSV/JSON alongside PDFs, provide SDKs and ETL examples
結論
The policy direction is right: require standard-compliant systems and publish APIs. From an engineering standpoint, success depends on machine-readable, versioned schemas (OpenAPI/JSON Schema), central registries, and battle-tested SDKs. Right now, documents and dashboards (PDFs, portal pages) are useful for humans but insufficient for scalable, cross-municipality reuse.
Report
What the policy landscape looks like
- Digital Agency guidance on local_governments (digital.go.jp) pushes standardization and reuse.
- Ministry of Internal Affairs and Communications (soumu.go.jp) maintains progress-tracking templates (Fit & Gap, per-business tracking).
- Cabinet Office materials (cao.go.jp PDF) formalize the obligation to use standard-compliant systems.
- There are existing APIs: e-Gov administrative APIs, Tokyo Open Data API (portal.data.metro.tokyo.lg.jp), and national stats via e-Stat dashboard.
This is great—policy, law, and APIs all present. But engineers care about the formats, schemas, and how easily you can automate integration.
Machine-readability: current state and pain points
- PDFs still appear in governance docs (e.g., cao.go.jp PDF), which blocks automation. This is the classic "data stuck in ink" problem. 要するに、PDFは機械処理が難しいということです。
- e-Gov and Tokyo publish APIs, but there is not always a single, authoritative JSON Schema/OpenAPI for each standardized business domain (resident records, tax, benefits). That makes client code brittle across municipalities.
- Metadata/semantic consistency (field names, codes like JIS municipality codes) is often inconsistent or buried in human docs.
これ見てくださいよ: Tokyo's Open Data API exposes PublicFacility as JSON—excellent. But imagine trying to aggregate resident records across 1,700+ municipalities without a shared schema. Nightmare!
Example: how an engineer would consume a municipal API
# Example: fetch Tokyo public facilities and normalize to CSV
import requests, csv
r = requests.get('https://portal.data.metro.tokyo.lg.jp/api/3/action/datastore_search?resource_id=PUBLIC_FACILITY_ID')
records = r.json()['result']['records']
with open('facilities.csv','w',newline='') as f:
writer = csv.DictWriter(f, fieldnames=records[0].keys())
writer.writeheader(); writer.writerows(records)
This is trivially automatable when endpoints return consistent JSON. If you need to scrape PDFs, add OCR and fragile parsing steps.
Policy vs. implementation gap
- Law and guidance set obligations, and Soumu provides project management templates—so targets exist. But what we don't reliably get in machine-readable form is: progress by municipality in a standard API, versioned change logs, and consistent metrics.
- In short: policy provides the "what"; we need engineering to provide the "how" in code and schemas.
Concrete improvement proposals
Low-cost quick wins
- Start publishing CSV alongside PDF reports (many agencies already have CSV exports—scale that).
- Create a "manifest.json" for each dataset (DCAT-lite) describing fields, last updated, license.
- Encourage municipalities to expose a small set of common endpoints (health facilities, population by age, resident registry counts) behind consistent schemas.
まとめ
Policy and law are aligning toward standardization—awesome. But engineers need canonical, versioned, machine-readable schemas, test harnesses, and SDKs to make reuse real. PDF-first publishing has to end; dual publication (PDF + JSON/CSV + OpenAPI) should be the default. That way the code tells the policy's story clearly, and civic tech can actually build useful mashups and accountability tools.
おかむーから一言
I've built startups and shipped GovTech stacks—this is solvable with the right spec-first approach. Let's make government data as easy to import as installing a package!
Sources
- https://www.digital.go.jp/policies/local_governments
- https://www.soumu.go.jp/menu_seisaku/chiho/jichitaijoho_system/index.html
- https://cloud.sakura.ad.jp/column/municipal-standard/
- https://business.ntt-east.co.jp/column/bizdrive/municipality_systemstandardization.html
- https://www5.cao.go.jp/keizai-shimon/kaigi/special/reform/wg6/2025/shiryou3-2.pdf
- https://www.jichi.ac.jp/
- https://www.e-gov.go.jp/digital-government/api
- https://www.jichi.ac.jp/web_text/
- https://portal.data.metro.tokyo.lg.jp/opendata-api/
- https://www.jichi.ac.jp/library/
- https://www.kantei.go.jp/
- https://dashboard.e-stat.go.jp/
- https://www.kantei.go.jp/jp/kakugikettei/index.html
- https://www.digital.go.jp/resources/japandashboard
- https://www.kantei.go.jp/jp/naikaku/index.html
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.