Code the Manifesto: Technical Audit of Tokyo's Open Data Ecosystem

どうも〜おかむーです! Today I want to dig into Tokyo and local governments' open data with an engineer's eye—"Code the Manifesto" style. I'll show what's working, what's annoying, and concrete fixes you can actually ship.
- Tokyo portal offers many CSV/GeoJSON datasets but discoverability and schema consistency vary
- Some municipalities publish via CKAN APIs (good!), others still leak data in PDFs (bad UX)
- Technical fixes: stricter schema registry, API-first publication, simple ETL recipes to validate policy metrics
結論
Tokyo and several prefectures are publishing genuinely useful machine-readable datasets (CSV, GeoJSON) via portals like https://portal.data.metro.tokyo.lg.jp/ and CKAN instances (e.g. Daisen city). ただし、フォーマットのばらつき、メタデータ不足、PDF残存が課題。エンジニア的に言うと、API-firstとスキーマ駆動のワークフローを採用すれば、政策検証のスピードと信頼性がグッと上がりますよ!
Report
What I looked at
- Tokyo Open Data Catalog (portal.data.metro.tokyo.lg.jp / catalog.data.metro.tokyo.lg.jp)
- CKAN-based municipal catalogs (e.g. Daisen: https://www.city.daisen.lg.jp/open-data/dataset/)
- Prefectural catalogs like Saitama (https://opendata.pref.saitama.lg.jp/datasets)
- GovTech Tokyo initiatives (https://www.govtechtokyo.or.jp/)
これ見てくださいよ:Tokyo's catalog exposes CSV and GeoJSON for library lists, parks, sports facilities (search results show CSV/GeoJSON availability). That's great—machine-readable is the baseline!
Common technical issues
- Fragmented schemas: different field names for the same concept (e.g. "address" vs "addr" vs "住所")
- Missing metadata: frequency, update timestamp, license often absent or unclear
- PDF-locked numbers: policy reports still embed tables in PDFs without CSV exports
- Inconsistent geospatial CRS or mixed GeoJSON/CSV coordinates
要するに、データは「あるけど使いにくい」という状態です。
API & tooling status
- CKAN APIs are present in some municipalities—this is low-hanging fruit. CKAN provides REST endpoints for search, package_show, resource_get.
- Tokyo catalog appears to support direct downloads; recommend exposing a proper OpenAPI / OData layer for programmatic clients.
Example quick ETL (Python/pandas) to fetch a CSV from a CKAN resource:
import requests
import pandas as pd
r = requests.get('https://www.city.daisen.lg.jp/open-data/api/3/action/resource_show?id=RESOURCE_ID')
url = r.json()['result']['url']
df = pd.read_csv(url)
quick quality checks
print(df.columns)
print(df.isnull().sum())
Policy metrics and gap analysis
Many policy targets (e.g. facility counts, population by age brackets) are published but not as time-series APIs. That makes tracking year-to-year achievement clunky. エンジニア的に言うと、time-series endpoints + stable identifiers are required to compute deltas and confidence intervals.
Concrete technical proposals
- Adopt a schema registry (JSON Schema) per "standard open dataset" (Digital Agency recommended sets show this is feasible: see Tokyo's adherence notes)
- Mandatory metadata fields: updated_at, provenance, license (SPDX), schema_version
- Deprecate PDF-only releases: attach CSV/JSON and a machine-readable summary
- Provide example notebooks and a small postman/Swagger collection for each major dataset
- Track usage metrics and CORS-enable APIs so client apps can fetch directly
- Lightweight CI: run automated validators (jsonschema, geos validation) on dataset publish
まとめ
Tokyo and many municipalities are on the right path: CSVs, GeoJSONs, CKAN. But to make public data truly actionable for civic tech and journalists, we need schema discipline, time-series APIs, and fewer PDFs. Implementing a schema registry + publish pipeline and some developer experience (OpenAPI, example notebooks) will multiply the data's impact.
おかむーから一言
I've built products on messy public datasets—trust me, a little engineering discipline goes a very long way. Let's push for API-first open data and ship the tools that let citizens and startups hold policy to account!
Sources
- https://catalog.data.metro.tokyo.lg.jp/dataset
- https://portal.data.metro.tokyo.lg.jp/
- https://catalog.data.metro.tokyo.lg.jp/dataset?_organization_limit=0&groups=c025&_groups_limit=0&res_format=CSV&q=&organization=t000029&tags=%E8%87%AA%E6%B2%BB%E4%BD%93%E6%A8%99%E6%BA%96%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%83%E3%83%88
- https://www.city.daisen.lg.jp/open-data/dataset/
- https://opendata.pref.saitama.lg.jp/datasets
- https://www.zhihu.com/question/290714454
- https://metidx-gov.note.jp/n/n9468573c213b
- https://www.zhihu.com/question/6430289390
- https://picks-design.com/blog/5751/
- https://www.zhihu.com/question/38923279
- https://www.zhihu.com/question/40553450
- https://www.govtechtokyo.or.jp/services/data-utilization/
- https://www.zhihu.com/question/372341437
- https://note.govtechtokyo.jp/n/n77785a8254d6
- https://www.zhihu.com/tardis/zm/art/1924492115896960699
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.