Bango APIの使い方|APIキー発行から最初のリクエストまで

Bango API は、アカウントを作ってAPIキーを発行すれば、すぐにリクエストできます。 国税庁のアプリケーションIDを申請する必要はありません。
この記事では、登録から最初のリクエスト、レスポンスの読み方までを順番に説明します。登録前にレスポンスの形だけ見たい場合は、Playgroundをどうぞ。
手順1:アカウントを作る
- 新規登録ページを開く
- メールアドレスを入力する
- 届いたメールのリンクを開いて登録を完了する
最初はFreeプランで始まります。クレジットカードの登録はいりません。
手順2:APIキーを発行する
登録が終わると、最初の画面でAPIキーが発行され、そのキーを使ったサンプルのリクエストが表示されます。あとから追加や失効をするときは、ダッシュボードの「APIキー」から操作します。
APIキーは発行したときにしか全体が表示されません。安全な場所に保存してください。
手順3:最初のリクエストを送る
法人番号から企業情報を取得してみます。サンプルにはトヨタ自動車株式会社の法人番号 1180301018771 を使います。
curl
curl -H "x-api-key: $BANGO_API_KEY" \
https://api.bango-api.jp/v1/companies/1180301018771JavaScript(Node.js 18以降)
const res = await fetch(
"https://api.bango-api.jp/v1/companies/1180301018771",
{ headers: { "x-api-key": process.env.BANGO_API_KEY } },
);
const body = await res.json();
console.log(body.data.name, body.data.invoice.valid);Python
import os
import requests
res = requests.get(
"https://api.bango-api.jp/v1/companies/1180301018771",
headers={"x-api-key": os.environ["BANGO_API_KEY"]},
timeout=10,
)
res.raise_for_status()
body = res.json()
print(body["data"]["name"], body["data"]["invoice"]["valid"])手順4:レスポンスを読む
レスポンスは、どのエンドポイントでも同じ骨組みです。
| フィールド | 中身 |
|---|---|
object | データの種類(company、invoice_issuer など) |
data | 本体。企業情報やインボイス情報 |
links | 関連するAPIのURL(法人からインボイスへ、など) |
meta.quota | 今月の残り回数 |
meta.source | データの出典と更新日 |
schema_version | レスポンスの形の版 |
企業情報の data.invoice には、インボイスの登録状況が入っています。valid が true なら、今日時点で登録が有効です。
よく使うリクエスト
T番号でインボイス情報を取得する
curl -H "x-api-key: $BANGO_API_KEY" \
https://api.bango-api.jp/v1/invoice/T1180301018771個人事業主のT番号でも同じ形で返ります。data.kind が individual になり、氏名や住所などの個人情報にあたる項目は null です。
取引日時点で有効だったかを確かめる
curl -H "x-api-key: $BANGO_API_KEY" \
"https://api.bango-api.jp/v1/invoice/T1180301018771/valid?date=2024-10-01"date を省略すると、日本時間の今日で判定します。請求書の取引日を入れれば、その日に登録が有効だったかが分かります。
企業名で検索する
curl -G -H "x-api-key: $BANGO_API_KEY" \
--data-urlencode "q=トヨタ自動車" \
https://api.bango-api.jp/v1/companies/search既定は部分一致で、「株式会社」の位置や全角・半角の違いを吸収して探します。mode=exact で完全一致にできます。
エラーが返ってきたとき
エラーのレスポンスには、原因を表すコードと説明が入っています。主なものは次のとおりです。
| ステータス | よくある原因 | 対処 |
|---|---|---|
| 400 | 法人番号が13桁でない、T番号の形式が違う | 番号の桁数と先頭の T を確認する |
| 401 | APIキーがない、または間違っている | x-api-key ヘッダーの値を確認する |
| 404 | 該当する法人・登録番号がない | 番号に誤りがないか、国税庁の公表サイトでも確認する |
| 429 | 月の上限、または短時間の回数制限に達した | meta.quota や meta.rate_limit を見て待つか、プランを上げる |
すべてのエラーコードはエラーリファレンスにまとめています。
次にやること
最初のリクエストが通ったら、目的に合わせて次の機能を試してください。
- 取引先の企業名をまとめて法人番号にひも付けたい → 一括名寄せの使い方
- 取引先の社名変更やインボイスの失効に気づきたい → 変更監視の使い方
- 実装サンプルを見たい → GitHubのサンプル集
- 全エンドポイントの仕様を見たい → ドキュメント
まとめ
Bango API は、登録してAPIキーを発行し、x-api-key ヘッダーを付けて呼ぶだけで使えます。法人番号でもT番号でも、企業情報とインボイスの状態が同じ形のJSONで返ります。
まずはFreeプランで、自分の取引先の番号をいくつか引いてみてください。




