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

国税庁の法人番号システムWeb-APIは、アプリケーションIDを取得すれば、無料で法人番号や法人名から法人の情報を取得できる公式のAPIです。使い方は、URLにアプリケーションIDと条件を付けてGETリクエストを送るだけです。

ただし、1回に指定できる件数や応答の分割など、実装前に知っておきたい制限がいくつかあります。この記事では、私が実際に組み込んだときにつまずいた点も含めて説明します。

法人番号を扱えるほかのAPIと比べたい方は、法人番号APIの比較もあわせて読んでください。

法人番号システムWeb-APIでできること

できることは3つです。

機能内容
法人番号を指定して取得法人番号から、商号・所在地・法人番号(基本3情報)などを取得する。変更履歴も取得できる
取得期間を指定して取得指定した期間に新しく指定された法人や、商号・所在地の変更、閉鎖などの差分を取得する
法人名を指定して取得法人名で検索して、該当する法人の情報を取得する

全件データはWeb-APIでは取得できません。 全件がほしい場合は、公表サイトの全件ダウンロードを使います(法人番号の全件データの入手方法)。

使い始めるまでの手順

  1. Web-API機能利用規約を読む
  2. アプリケーションIDの発行を申請する
  3. 発行されたアプリケーション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=12
  • number: 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=12
  • from / to: 取得期間。指定できる期間は最大50日です
  • 所在地(address)や法人種別(kind)で絞り込めます

法人名で検索する(name)

https://api.houjin-bangou.nta.go.jp/4/name?id=XXXXXXXXXXXXX&name=URLエンコードした法人名&type=12&mode=2
  • mode: 1 が前方一致(省略時)、2 が部分一致
  • target: 1 があいまい検索(JIS第一・第二水準、省略時)、2 が完全一致(JIS第一〜第四水準)、3 が英語表記
  • change: 1 にすると、過去の商号や所在地も検索対象になります
  • close: 0 にすると、登記記録が閉鎖された法人を除けます(省略時は含む)

法人名はUTF-8でURLエンコードします。前方一致で検索するときは「株式会社」などの法人種別を除いた名前を渡します。

応答形式は3種類

type で選びます。JSONはありません。

type形式文字コード
01CSVShift-JIS(JIS第一・第二水準)
02CSVUnicode(JIS第一〜第四水準)
12XMLUnicode(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の違いで解説しています。

この記事を書いた人

Bango API の開発者です。国税庁の法人番号Web-APIとインボイスWeb-APIを使ったシステムを実装してきた経験をもとに書いています。

本サービスは、国税庁法人番号システムWeb-API機能および国税庁適格請求書発行事業者公表システムのWeb-API機能を利用して取得した情報をもとに作成していますが、サービスの内容は国税庁によって保証されたものではありません。取得した情報は編集・加工して提供しています。