政府APIの“使える度”をコードで測る:発見性・スキーマ・実装性を現場目線で検証する

どうも〜おかむーです!今日は政府・自治体が公開しているAPI群をエンジニア目線でざっくりチェックして、技術的なギャップと現実的な改善案を出す話をしますよ〜
- 3行要約
- コードで監査すれば「OpenAPIの有無」「CORS」「レスポンス形式」などを短時間で可視化できる
- 実務的にはOpenAPIファースト、契約テスト、自動SDK生成が刺さる改善策です!
結論
政府のAPIエコシステムは量的には整ってきてるけど、品質(発見性・契約性・互換性)が追いついてないです。エンジニア的に言うと、APIはただ公開すればOKじゃなくて「使えること」を設計に入れないと再利用が進まないんですよね。まずはカタログ(例:e-Govの行政APIカタログ https://www.e-gov.go.jp/digital-government/api)を機械的に監査する小さなパイロットを回すべきです。
レポート本文
現状観察 — これ見てくださいよ
国や自治体のAPIは増加傾向で、例として東京都のオープンデータAPI(https://portal.data.metro.tokyo.lg.jp/opendata-api/)やe-GovのAPIカタログが公開されています。デジタル庁や総務省も利活用事例や推進方針を出していて(https://www.digital.go.jp/、https://www.soumu.go.jp/)、潜在力は大きいです。
ただし、実務で使おうとするとこんな壁が出ます:
- ドキュメントはHTMLページのみでOpenAPI/JSON Schemaが無い
- レスポンスがCSV/XML/JSONで混在、メタデータが欠落
- CORS未対応でブラウザ利用が困難
- 認証方式やレート制限が不明確
- バージョン管理・デprecationポリシーがない
要するに「見つけても使えない」ケースが多いということです。
エンジニア的な監査方法(コードで可視化)
エンジニアならまず自動でチェックする仕組みを作るのが早いです。例えばPythonでAPIカタログをクロールして「OpenAPIのリンク」「CORSの有無」「Content-Type」を調べるだけで、現場の優先順位が明確になります。
# ── 単純なチェック例 ──
import requests
from bs4 import BeautifulSoup
def scan_catalog(url):
r = requests.get(url, timeout=10)
soup = BeautifulSoup(r.text, 'html.parser')
links = [a['href'] for a in soup.find_all('a', href=True)]
return links
catalog = 'https://www.e-gov.go.jp/digital-government/api'
links = scan_catalog(catalog)
print('found links:', len(links))
さらに、見つけたAPIエンドポイントに対してOPTIONSを投げてCORSを確認、GETでのサンプルレスポンスを取得してJSON Schemaを推定する、という一連のパイプラインをCI化するのが現実的です。
改善提案(実装レベル)
- 要するに、機械的に検証・SDK生成できる状態にするということです
- e-GovのカタログはHTML中心なので、/api/index.json みたいなエンドポイントが欲しいです
- /health, /.well-known/openapi, Linkヘッダでversion, deprecationを示す
- 変更があったら自動的に利用者向けPRを生成する運用が強いです
- APIキー発行の簡便化、CORSを適切に設定してブラウザフロントからの利用を容易に
- SDK/curlサンプル/Postmanコレクションを用意するだけで採用率が跳ね上がります
政策と実績のギャップを技術で測る方法
政策文書(総務省・デジタル庁の推進方針)では "オープンデータ推進" が謳われますが、実績は「公開数」だけを見がちです。エンジニア的には以下の指標を使って評価すると良いです:
- APIのうちOpenAPIを持つ割合
- エンドポイントでJSONを返し、CORSが有効な割合
- サンプルコード/SDKがあるAPIの割合
活用シナリオ(自治体・事業者向け)
東京のPublicFacility APIを使って、車椅子対応トイレのマップをリアルタイムに更新するPWAを作るとか、notice.go.jpのCSV(https://notice.go.jp/docs/status_notice.csv)を定期取得して緊急通知ダッシュボードを作るとか、即効性のあるユースケースは多いです。肝は「APIが安定して使える」ことだけです!
まとめ
- 政府・自治体APIは増えているが「使える」状態にするための技術作業がまだ不足
- 短期的にはカタログ監査パイプラインでボトルネックを洗い出すのが有効
- 中長期的にはOpenAPIファースト、契約テスト、標準化されたメタデータで再利用性を高めるべき
おかむーから一言
テクノロジーで社会をアップデートするなら、まずは「使えるAPI」を揃えることが最短ルートです!小さなCIとスキーマ整備から始めましょう〜
情報ソース
- 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://notice.go.jp/docs/status_notice.csv
- https://www.jinji.go.jp/content/900024615.csv
- https://www.env.go.jp/content/900398071.csv
- https://www.inpit.go.jp/content/100869372.csv
- https://www.mhlw.go.jp/content/001429362.csv
- https://www.intec.co.jp/column/smartcity-08.html
- https://sorabatake.jp/14930/
- https://www.soumu.go.jp/menu_seisaku/ictseisaku/ictriyou/opendata/
- https://www.digital.go.jp/resources/data_case_study_local
- https://www.digital.go.jp/resources/data_case_study_private
シェアする
関連レポート

公共予約システムの“ログインからAPI化”ロードマップ:パスワードレスで運用コストを下げる技術提案
公共施設予約の認証とデータを段階的にAPI化して運用コストを下げる技術ロードマップを紹介します。

政府データを“つなげる”発想:省庁バラバラを超えるフェデレーション戦略
フェデレーション層で省庁データをつなぎ、PDF混在を克服する実践的な技術案を示す。

政策ダッシュボードは“作るだけ”じゃダメ!KPIを自動で監査するパイプライン設計
政策ダッシュボードの数値を自動監査するパイプライン設計案。API・スキーマ・差分管理でKPIの信頼性を上げる技術手法を紹介します。