法人番号システムWeb-APIの使い方|申請からリクエストまで

国税庁の法人番号システムWeb-APIは、アプリケーションIDを取得すれば、無料で法人番号や法人名から法人の情報を取得できる公式のAPIです。使い方は、URLにアプリケーションIDと条件を付けてGETリクエストを送るだけです。
ただし、1回に指定できる件数や応答の分割など、実装前に知っておきたい制限がいくつかあります。この記事では、私が実際に組み込んだときにつまずいた点も含めて説明します。
法人番号を扱えるほかのAPIと比べたい方は、法人番号APIの比較もあわせて読んでください。
法人番号システムWeb-APIでできること
できることは3つです。
| 機能 | 内容 |
|---|---|
| 法人番号を指定して取得 | 法人番号から、商号・所在地・法人番号(基本3情報)などを取得する。変更履歴も取得できる |
| 取得期間を指定して取得 | 指定した期間に新しく指定された法人や、商号・所在地の変更、閉鎖などの差分を取得する |
| 法人名を指定して取得 | 法人名で検索して、該当する法人の情報を取得する |
全件データはWeb-APIでは取得できません。 全件がほしい場合は、公表サイトの全件ダウンロードを使います(法人番号の全件データの入手方法)。
使い始めるまでの手順
- Web-API機能利用規約を読む
- アプリケーションIDの発行を申請する
- 発行されたアプリケーションIDをリクエストに付けて呼ぶ
アプリケーションIDの手続きは、国税庁の適格請求書発行事業者公表サイトから行います。法人番号の案内では、発行までに2週間から1か月程度かかるとされています。申請の流れはアプリケーションIDの申請方法で詳しく解説しています。
リクエストの形
URLの基本形は次のとおりです。最新のバージョンは4です。
https://api.houjin-bangou.nta.go.jp/4/num?id=アプリケーションID&number=法人番号&type=応答形式法人番号を指定する(num)
https://api.houjin-bangou.nta.go.jp/4/num?id=XXXXXXXXXXXXX&number=1180301018771&type=12number: 13桁の法人番号。カンマ区切りで最大10件まで指定できますhistory:1にすると変更履歴も返ります(省略時は最新のみ)
期間を指定して差分を取る(diff)
https://api.houjin-bangou.nta.go.jp/4/diff?id=XXXXXXXXXXXXX&from=2026-10-01&to=2026-10-31&type=12from/to: 取得期間。指定できる期間は最大50日です- 所在地(
address)や法人種別(kind)で絞り込めます
法人名で検索する(name)
https://api.houjin-bangou.nta.go.jp/4/name?id=XXXXXXXXXXXXX&name=URLエンコードした法人名&type=12&mode=2mode:1が前方一致(省略時)、2が部分一致target:1があいまい検索(JIS第一・第二水準、省略時)、2が完全一致(JIS第一〜第四水準)、3が英語表記change:1にすると、過去の商号や所在地も検索対象になりますclose:0にすると、登記記録が閉鎖された法人を除けます(省略時は含む)
法人名はUTF-8でURLエンコードします。前方一致で検索するときは「株式会社」などの法人種別を除いた名前を渡します。
応答形式は3種類
type で選びます。JSONはありません。
| type | 形式 | 文字コード |
|---|---|---|
| 01 | CSV | Shift-JIS(JIS第一・第二水準) |
| 02 | CSV | Unicode(JIS第一〜第四水準) |
| 12 | XML | Unicode(JIS第一〜第四水準) |
Shift-JISでは表せない文字を含む社名があるため、新しく作るならUnicodeの02か12を選ぶのがおすすめです。
実装でつまずきやすい4つの点
1. 1回に10件まで
番号指定は1回10件までです。1,000社をチェックするなら100回に分けて送ります。利用規約は短時間の大量アクセスを禁止しているので、間隔を空けて送ってください。
2. 応答が分割されることがある
1回の応答は2,000件までに制限されていて、超える場合は分割されます。応答のヘッダー部分にある「分割数」(divideSize)が1でなければ、divide パラメータで分割番号を増やしながら、分割数に達するまでリクエストを繰り返します。期間指定や法人名検索で起きやすいので、最初からこのループを組んでおくと安全です。
3. 差分は「処理区分」を見て反映する
期間指定で取れる差分には、新規、商号の変更、所在地の変更、閉鎖などが混ざっています。応答の「処理区分」(process)や「訂正区分」(correct)を見て、自分のデータベースにどう反映するかを決める必要があります。
4. アプリケーションIDを公開しない
利用規約は、アプリケーションIDを第三者に開示することを禁止しています。ブラウザで動くJavaScriptから直接呼ぶと、IDが利用者に見えてしまいます。必ずサーバー側から呼んでください(JavaScriptから呼ぶときの注意)。
検証環境がある
国税庁は、架空の法人名などを使った検証環境を用意しています。本番のデータに影響を与えずに、リクエストの組み立てや分割の処理を試せます。検証環境を使う場合も、アプリケーションIDが必要です。
サービスを公開するときは出典の表示が必要
Web-APIで取得した情報を使ったサービスを公開するときは、「国税庁法人番号システムのWeb-API機能を利用して取得した情報をもとに作成しているが、サービスの内容は国税庁によって保証されたものではない」という趣旨の表示を求められています。
言語別の実装例
まとめ
法人番号システムWeb-APIは、アプリケーションIDさえあれば無料で使える便利なAPIです。そのかわり、10件ずつの分割、2,000件を超えたときのページング、XMLやCSVの解析、差分の反映は自分で実装します。
インボイスの情報も一緒に扱いたい場合や、申請を待たずに始めたい場合は、統合型のAPIも選択肢になります。違いは法人番号APIの比較と国税庁APIとBango APIの違いで解説しています。





