法人番号 API ドキュメント

全 5 エンドポイントの仕様・レスポンス・エラー・上限

ベース URL: https://shirabe.dev。キーなしで月 5,000 回まで利用できます。 製品概要と料金はこちら

クイックスタート

curl -X POST https://shirabe.dev/api/v1/corporation/lookup \
  -H "Content-Type: application/json" \
  -d '{"law_id": "7000012050002"}'

有料プランのキーは X-API-Key ヘッダーで渡します(キーなし = 匿名 Free 扱い)。

エンドポイント一覧

メソッドパス説明
POST/api/v1/corporation/lookup法人番号 → 法人情報
POST/api/v1/corporation/search商号の前方一致検索(都道府県・市区町村で絞り込み可)
POST/api/v1/corporation/validate法人番号の形式・checksum・実在の 3 段判定
POST/api/v1/corporation/normalize商号表記の正規化 + 法人種別の分離
POST/api/v1/corporation/batch複数法人番号の一括 lookup(最大 100 件)
GET/api/v1/corporation/healthヘルスチェック(認証不要・カウント対象外)

POST /api/v1/corporation/lookup

リクエスト: { "law_id": "7000012050002" }(13 桁法人番号)

レスポンス(実例):

{
  "corporation": {
    "lawId": "7000012050002",
    "name": "国税庁",
    "nameKana": "コクゼイチョウ",
    "nameEnglish": "National Tax Agency",
    "corpType": "101",
    "prefecture": "東京都",
    "city": "千代田区",
    "street": "霞が関3丁目1-1",
    "prefectureCode": "13",
    "cityCode": "101",
    "postalCode": "1000013",
    "assignedAt": "2015-10-05",
    "closedAt": null,
    "closedReason": null,
    "successorLawId": null,
    "latest": true,
    "searchExcluded": false
  },
  "attribution": {
    "source": "国税庁法人番号公表サイト",
    "provider": "国税庁"
  }
}

閉鎖済み法人は closedAt / closedReason / 承継先 successorLawId が入ります。 未登録の法人番号は 404 NOT_FOUND

リクエスト(name のみ必須):

{
  "name": "トヨタ自動車",
  "prefecture_code": "23",
  "city_code": null,
  "limit": 10,
  "offset": 0
}

レスポンスは results 配列(各要素は lookup の corporation と同じ形)。 商号の前方一致で、prefecture_code / city_code で絞り込み、 limit / offset でページングします。

POST /api/v1/corporation/validate

リクエスト: { "law_id": "7000012050002" }

レスポンス(実例):

{
  "lawId": "7000012050002",
  "formatValid": true,
  "checksumValid": true,
  "valid": true,
  "existsInRegistry": true
}

形式(13 桁)→ checksum(mod-9)→ 登録簿の実在、の 3 段で判定します。 KYC・入力バリデーションでは existsInRegistry までの確認を推奨します。

POST /api/v1/corporation/normalize

リクエスト: { "name": "トヨタ自動車(株)" }

レスポンス(実例):

{
  "input": "トヨタ自動車(株)",
  "normalized": "トヨタ自動車株式会社",
  "corpType": "株式会社",
  "corpTypePosition": "suffix",
  "baseName": "トヨタ自動車"
}

半角カナ・略記(「(株)」等)を正規化し、法人種別と固有名部分(baseName)を分離します。 search の前処理に使うとヒット率が上がります。

POST /api/v1/corporation/batch

リクエスト(最大 100 件。超過は 400 BATCH_TOO_LARGE):

{ "law_ids": ["7000012050002", "1234567890123"] }

checksum 不正な番号もエラーにせず、要素ごとに valid: false として入力順で返します (一括照合でパイプラインが止まらない設計)。カウントは要素数 N = N 回分です。

エラー

エラーは全て次の形で返ります:

{ "error": { "code": "...", "message": "..." } }
HTTPcode(代表)意味と対処
400INVALID_REQUEST / INVALID_LAW_ID / BATCH_TOO_LARGE入力不正。カウントされません
404NOT_FOUND登録簿に存在しない法人番号(lookup)
401INVALID_API_KEY形式不正・未登録のキー。キーを外すと匿名 Free で通ります
429USAGE_LIMIT_EXCEEDED月間上限。Retry-After と次プランへの next_plan.checkout_path(→ /corporation/buy)を同梱
503SERVICE_UNAVAILABLEデータ層の一時障害。カウントされません。リトライしてください

上限とカウント規則

プラン月間上限
Free5,000 回
Starter200,000 回
Pro2,000,000 回
Enterprise無制限
  • lookup / search / validate / normalize = 1 リクエスト 1 カウント、batch = 要素数 N カウント
  • 400 系・401・404・503 はカウントされません(無料枠を消費しない)
  • 月間カウントは毎月 1 日 0:00 UTC にリセット

データ出典と更新

  • 出典: 国税庁法人番号公表サイト(公共データ利用規約)。レスポンスに attribution を常に同梱
  • 収録: 全国の公表法人 約 579 万社(閉鎖法人情報を含む)

AI 統合・機械可読仕様

  • OpenAPI 3.1: https://shirabe.dev/api/v1/corporation/openapi.yaml

→ 製品概要・料金 / → 申し込み / → API キー再発行