本文へスキップ

実装ガイド · e-Gov API v2

法令を検索して、取得して、自分のプログラムで使う。

e-Gov法令APIを初めて使う人も、途中でエラーになった人も、必要なところから進められる実践ガイドです。検索・本文保存・時点指定・XML変換・MCP接続を、実行例のある記事につなぎます。

どこまでできていますか?

  1. STEP 2

    本文を取得して保存する

    選んだ法令IDで1件を取得。Pythonの実行例と、JSON・XMLの保存形式を確認します。

    Pythonサンプルを使う →

    過去時点の条文を取得するとき

  2. STEP 3

    XMLを扱いやすいJSONにする

    条・項・号の階層を保ち、法令ID・履歴ID・出典を返すデータを設計します。

    XMLとJSONの入出力を見る →

    MCPの応答に出典を残す

  3. STEP 4

    MCPにつないで使う

    API単体の取得を確認してから、クライアントの接続と実際の質問を試します。

    Claude Codeでの導入例を見る →

    起動・接続で止まったとき

APIだけ試すなら、MCPの設定は後でよい

まず法令名で候補を検索し、正式名称と法令IDを確かめて1件を取得します。API単体の結果が読めるようになると、取得条件の問題とMCPの接続問題を分けられます。Pythonサンプルは標準ライブラリだけで検索と保存を行い、先頭の候補を勝手に取得しません。

本文と一緒に残す3つの情報

  • 法令IDと法令履歴ID:どの法令の、どの版を取得したか。
  • 指定した時点と取得日時:調べたい日付と、APIに問い合わせた日時。
  • 出典URL:人が原文と取得条件を確認できるリンク。

XMLをJSONに変換する場合も、本文だけの文字列にせず、条・項・号との対応を保ちます。変換の入出力例で保存する形を確認してください。

症状から解決手順を探す

法令名で検索しても見つからない

通称・略称ではなく正式名称を確認する。改題前後の名称も区別する。

名前の確認方法 →

law_full_textをXMLとして解析できない

response_format=jsonとlaw_full_text_format=xmlの組み合わせなら、Base64復号後に解析する。

復号と保存のコード →

欲しい日付の条文と一致しない

asofと返されたlaw_revision_idを確認する。取得日時と指定時点を分けて保存する。

過去時点の実行例 →

APIでは取得できるのにMCPで失敗する

APIの応答とMCPの起動・接続を分けて調べる。実行環境とログを確認する。

接続の切り分け →

法案や統計も調べたいとき

法令、国会の議論、統計では対象と更新単位が異なります。日本の公共データAPIの比較でデータ源を選び、法案と現行法を行き来する場合はhouan-mcpとe-Govを組み合わせる手順へ進めます。

検証範囲と一次情報

2026年9月6日にPython 3.10で法令名検索、現行・過去時点の本文取得、Base64復号、XML解析を実行しています。実行結果と履歴IDは各記事に記載しています。APIの全パラメーターを検証したものではありません。

e-Gov法令API v2の公式仕様PythonのBase64ドキュメントを参照してください。ここではAPIの実装方法を扱い、個別の法律判断は扱いません。