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

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

どうも〜おかむーです!今日は政府・自治体が公開しているAPI群をエンジニア目線でざっくりチェックして、技術的なギャップと現実的な改善案を出す話をしますよ〜

  • 3行要約
- 政府・自治体のAPIは増えているが、スキーマやドキュメントの整備がバラバラで二次利用の障壁になっている

- コードで監査すれば「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化するのが現実的です。

改善提案(実装レベル)

  • OpenAPI / JSON Schemaを必須化する(スキーマ駆動開発)
  • - 要するに、機械的に検証・SDK生成できる状態にするということです

  • カタログを機械読取可能に(RSSやmachine-readable index)
  • - e-GovのカタログはHTML中心なので、/api/index.json みたいなエンドポイントが欲しいです

  • 公開APIのヘルス・メタ情報を標準化
  • - /health, /.well-known/openapi, Linkヘッダでversion, deprecationを示す

  • 契約テストをCIで回す(契約が壊れたら自動で検知)
  • - 変更があったら自動的に利用者向けPRを生成する運用が強いです

  • 利用しやすい認証とCORSポリシー
  • - 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とスキーマ整備から始めましょう〜

    シェアする