法令を全文検索・取得する(e-Gov法令API)
e-Gov法令APIを使うと、現行法令の検索や条文本文の取得をプログラムから行えます。法令の全文がAPIで取れるため、リーガルテック、社内規程の根拠法チェック、法改正の追跡といった調査業務の自動化に役立ちます。従来は法令データベースを人手で検索してコピーしていた作業を、キーワードから条文取得まで一気に自動化できるのが大きな価値です。しかもキー登録が不要で、思い立ったその場で試せるのも魅力です。このガイドでは、キーワード検索から法令の特定、条文本文の取得までの流れと、表記ゆれや現行法令に限られる点などの注意、そして検索精度を上げる実務的なコツを、実例つきでまとめました。
取れるデータと取得の流れ
キーワードを含む法令の全文検索、法令の一覧、特定法令の本文(条文)取得ができます。法令名・法令番号・分類などのメタ情報もあわせて得られるため、「その語がどの法律に出てくるか」「その法律の正式名称と番号は何か」を機械的に確定できます。
取得の基本は「キーワードで該当法令を絞る → 法令を特定 → 本文を取得」という流れです。まず候補を広く拾い、正式名称を確定させてから本文を引く、という順序にすると、表記ゆれによる取りこぼしを防げます。いずれのステップもAPIキー不要で試せるため、環境構築の疎通確認にも向きます。返り値には法令名だけでなく法令番号や分類も含まれるので、同名・類似名の法令が複数あっても、番号を手がかりに一意に特定できます。
取得の具体例(パラメータの渡し方)
調べたい語がある場合は law_keyword_search に keyword を渡します。offset / limit でページ送りしながら、その語を含む法令が一覧で返ります。ここで対象の法令を1つに絞り、その法令のID(lawId)を控えます。略称で検索して見つからないときは、正式名称に近い語や関連語でも試すと当たりやすくなります。
分野で眺めたいときは law_search に category を渡すと、その区分の法令一覧が返ります。特定の語ではなく「この分野の法律を一通り把握したい」というときに向く辿り方で、まず全体像を掴んでから対象を選べます。offset / limit で件数を制御します。
対象法令が決まったら law_data に lawId を渡すと、条文本文が構造化されて返ります。条番号・項・号の階層を保ったまま取得できるので、特定の条だけを抜き出す、条文単位でテキスト分析する、改正前後の差分を条単位で比較する、といった後処理がしやすくなっています。全文は量が大きくなりがちなので、必要な条だけを取り出す設計にすると扱いやすくなります。
よくあるつまずき
対象は原則として現行法令です。廃止された旧法や、改正前の条文(過去のある時点の状態)を厳密に扱いたい場合は、取得できる範囲を事前に確認してください。法改正の反映にも公表からのタイムラグがあり得るため、成立直後の最新改正がすぐには反映されないことがあります。施行日と反映タイミングがずれる可能性を踏まえ、最新改正を扱う用途では反映状況を確認する運用にしておくと安全です。
法令名の表記ゆれに注意します。略称(例:個人情報保護法)と正式名称が一致しないことがあるため、keyword での検索は複数の言い回しを試すと取りこぼしが減ります。まず law_keyword_search で当たりをつけ、返ってきた正式名称を確認してから lawId を取るのが安全な順序です。
本文はボリュームが大きくなりがちです。全条文を一括取得するとレスポンスが重くなり、処理も遅くなります。必要な条だけを抽出する、取得結果をキャッシュして同じ法令を何度も引かない、といった配慮をすると、実運用でも安定します。
分析ユースケースと関連ツールの使い分け
①法令検索ミニツール:law_keyword_search を入口に、ヒットした法令から law_data で本文を表示する軽量な検索ビューアが作れます。社内規程の根拠法をすぐ引ける、契約チェックで関連法をその場で参照できる、といった実務用途に向きます。
②改正ウォッチ・条文差分:定期的に law_data を取得して条文テキストを保存し、前回との差分を比較すれば、関心のある法令の変化を追えます。国会会議録(別ガイド)やパブリックコメントと併せると、改正の議論段階から施行までを一続きで追跡できます。
③条文テキスト分析:law_data の構造化本文を条単位に分解し、用語の出現頻度や条文間の参照関係を集計すると、法令間の関連や規定の複雑さを可視化できます。入口の絞り込みは law_keyword_search / law_search、本文取得は law_data と役割が明確に分かれているので、目的に応じて組み合わせてください。
検索精度を上げるコツ
法令検索は、いきなり狙った1本を引こうとするより、段階的に絞るほうが確実です。まず law_keyword_search に広めのキーワードを渡して候補を集め、返ってきた法令名・法令番号を確認して正式名称を確定させます。そのうえで law_data に lawId を渡す、という順序にすると、略称と正式名称のずれによる取りこぼしを防げます。
分野の見取り図が欲しいときは law_search に category を渡して一覧を眺め、関連法の全体像を掴んでから個別の条文に入ります。特定の語を含む条文を探すのか、分野の法律を網羅したいのかで、law_keyword_search と law_search を使い分けると効率的です。offset / limit でのページ送りを忘れると、ヒットの多い検索で結果が途中で切れる点にも注意してください。
取得した条文はキャッシュし、同じ法令を何度も引かない設計にすると、レスポンスの重さを避けられます。改正の追跡が目的なら、取得日を添えて条文テキストを保存し、次回との差分を比較する仕組みにしておくと、法改正の反映を機械的に検知できます。条文は条・項・号の階層を保って返るので、差分も条単位で取れば「どの条が変わったか」がひと目で分かり、変更点のレビューが効率化します。全文を毎回まるごと比較するより、構造を活かして条単位で照合するほうが実務的です。
実際に叩いてみる(e-Gov法令API v2・登録不要)
e-Gov法令APIは登録不要で、法令一覧・本文・改正履歴をJSONで取得できます。/api/2/laws で法令の一覧(total_count に全件数、laws[] に各法令のメタ)を取り、law_id を /api/2/law_data/{law_id} に渡して本文を引きます。
curl -s "https://laws.e-gov.go.jp/api/2/laws?limit=1"
# 実際のレスポンス(抜粋)
{
"total_count": 9533,
"count": 1,
"next_offset": 1,
"laws": [{
"law_info": {
"law_type": "CabinetOrder",
"law_id": "105DF0000000337",
"law_num": "明治五年太政官布告第三百三十七号"
}
}]
}出典
元システムエンジニア。Web系アプリ開発6年+ソリューション9年、IT実務およそ15年。個人開発者として、政府オープンデータや各府省のAPIを実際に叩いて検証し、「何が取れるか」「実装時にどこで詰まるか」「どう活用するか」を一次検証にもとづいて記録しています。
運営者・検証方針について →