本文へスキップ

実装ガイド · e-Gov API v2

ガイド更新:。 記事ごとの測定日・仕様確認日は、リンク先に記載しています。

e-Gov法令API v2の使い方検索からPython・MCP接続まで

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

まず、架空の保存JSONから条文を取り出す

PythonでAPIを使う準備ができていない場合は、保存した本文を読むところから試せます。Pythonスクリプトと架空法令のJSONを同じフォルダへ保存し、次のコマンドを実行します。追加のPythonパッケージは不要です。

python egov-law-api-v2.py excerpt egov-law-example-fixture.json --article 1

このコマンドは保存ファイルを読むだけで、e-Govへ通信しません。表示された保存先のJSONを開き、scope が main、article_number が 1 になっていることを確かめます。article に本則の「第一条」と本文・ただし書き・号が、source に法令IDと出典が残ります。教材は実在の法令でも実APIの応答でもなく、出典URLは example.invalid です。

実際の法令を取得するときは、Pythonで検索し、候補の正式名称とIDを確認してから1件を保存する手順へ進んでください。検索結果の先頭を自動で正しい法令とみなしません。

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

  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サンプルは標準ライブラリだけで検索と保存を行い、先頭の候補を勝手に取得しません。TypeScriptで書きたい場合は依存なしのfetchサンプル、全エンドポイントの一覧は逆引きリファレンスを参照してください。Codex CLIから使う設定はCodex CLI版の導入手順にあります。

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

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

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

症状から解決手順を探す

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

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

名前の確認方法 →

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

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

復号と保存のコード →

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

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

過去時点の実行例 →

v1のコードをv2へ移したい

エンドポイントとパラメータを対応表で読み替える。応答はXMLからJSONになり、エラーコードの体系も変わる。

移行ガイドと対応表 →

公布日や種別で法令を一覧にしたい

lawsで公布日の範囲・法令種別・廃止状態を組み合わせる。並べ替えはページ内でしか効かないので全件取得してから並べる。

絞り込みの実例 →

条文本文をキーワードで横断検索したい

keywordエンドポイントを使う。スペースはAND、|はOR、!はNOT。0件は404で返る。

検索式と実測例 →

404・400・504などのエラーが返る

ステータスとcodeの組み合わせで原因を切り分ける。巨大法令はサイズと所要時間も確認する。

エラーコード一覧 →

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の実装方法を扱い、個別の法律判断は扱いません。