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

Bango API は、アカウントを作ってAPIキーを発行すれば、すぐにリクエストできます。 国税庁のアプリケーションIDを申請する必要はありません。

この記事では、登録から最初のリクエスト、レスポンスの読み方までを順番に説明します。登録前にレスポンスの形だけ見たい場合は、Playgroundをどうぞ。

手順1:アカウントを作る

  1. 新規登録ページを開く
  2. メールアドレスを入力する
  3. 届いたメールのリンクを開いて登録を完了する

最初はFreeプランで始まります。クレジットカードの登録はいりません。

手順2:APIキーを発行する

登録が終わると、最初の画面でAPIキーが発行され、そのキーを使ったサンプルのリクエストが表示されます。あとから追加や失効をするときは、ダッシュボードの「APIキー」から操作します。

APIキーは発行したときにしか全体が表示されません。安全な場所に保存してください。

手順3:最初のリクエストを送る

法人番号から企業情報を取得してみます。サンプルにはトヨタ自動車株式会社の法人番号 1180301018771 を使います。

curl

curl -H "x-api-key: $BANGO_API_KEY" \
  https://api.bango-api.jp/v1/companies/1180301018771

JavaScript(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 を確認する
401APIキーがない、または間違っているx-api-key ヘッダーの値を確認する
404該当する法人・登録番号がない番号に誤りがないか、国税庁の公表サイトでも確認する
429月の上限、または短時間の回数制限に達したmeta.quota や meta.rate_limit を見て待つか、プランを上げる

すべてのエラーコードはエラーリファレンスにまとめています。

次にやること

最初のリクエストが通ったら、目的に合わせて次の機能を試してください。

まとめ

Bango API は、登録してAPIキーを発行し、x-api-key ヘッダーを付けて呼ぶだけで使えます。法人番号でもT番号でも、企業情報とインボイスの状態が同じ形のJSONで返ります。

まずはFreeプランで、自分の取引先の番号をいくつか引いてみてください。

この記事を書いた人

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

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