メインコンテンツへスキップ
2015年からサービス提供中

法人番号 REST API

法人番号・インボイス登録番号を検索できるAPIを無料で提供。個人利用・商用利用ともにリクエスト数制限なし。登録不要。

240万+
法人データ
300万+
インボイス番号
~70ms
レスポンス速度
無料
登録不要・制限なし

特徴

開発者が使いやすいように設計されています

完全無料

誰でも手軽にアクセス数を気にしないで使えるサービスを目指して作りました。ユーザ登録も不要です。 寄付はGithub Sponsorsから

利用規約

アクセス制限なし

Cloudflare CDNによりほとんどのデータがキャッシュされ、高速に配信。CDN利用料が無料のため、APIも無料で提供できています。

Cloudflare CDN

高速で安定

約70msでデータを返却する高速レスポンス。HTTP/3・IPv6・転送圧縮対応。外部データセンターからの外形監視で稼働率を公開中。

サービス稼働状況

よくある質問

商用利用できますか?

商用利用も無料です。許可は不要なのでお問い合わせを送らないようにしてください。

元データは?

国税庁のサイトからCSVファイルをダウンロードして取り込んでいます。

更新頻度は?

非定期に更新しています。

機能要望

Discordまたはお問い合わせページからリクエストを送信してください。

寄付をしたい

寄付はGithub Sponsorsから受け付けています。

ソースコードを購入したい

イントラネット運用等のために販売しています。Discordまたはお問い合わせからご連絡ください。

開発を手伝いたい

Ruby on Railsで構築。Discordまたはお問い合わせからプロフィールと共にご連絡ください。

作者は?

@matsubokkuriです。フォローしてもらえると幸いです。

更新情報を知りたい

Discordに掲載しています。

MCP Server

AIアシスタントから
直接検索

MCPサーバーをセットアップすると、Claude DesktopやClaude Codeなどから自然言語で法人情報を検索できます。npxで即座に利用可能。APIキー不要。

法人検索 — "日本郵便の法人番号を調べて"

インボイス — "T4010301136081 の登録情報を確認して"

EDINET — "トヨタ自動車のEDINETコードを検索して"

セットアップ方法を見る

デモ

サンプルコード

デモはこのコードと同じ動きをします。そのままコピーして利用できます。

autofill.html HTML
<form id="corporation-autofill">
  <label for="s">法人名または法人番号</label>
  <input type="text" id="s" placeholder="日本郵政 or 6010001110551">

  <label for="corporate_name">法人名</label>
  <input type="text" id="corporate_name" disabled>

  <label for="corporate_number">法人番号</label>
  <input type="text" id="corporate_number" disabled>

  <label for="registrated_number">適格請求書発行事業者番号</label>
  <input type="text" id="registrated_number" disabled>
</form>
autofill.js JavaScript
const ENDPOINT = 'https://corporation.teraren.com';

const query = document.getElementById('s');
const fields = {
  name: document.getElementById('corporate_name'),
  number: document.getElementById('corporate_number'),
  invoice: document.getElementById('registrated_number')
};

const clearFields = () => {
  Object.values(fields).forEach((field) => { field.value = ''; });
};

const fetchJson = async (url) => {
  const response = await fetch(url);
  if (!response.ok) {
    throw new Error(`${response.status} ${response.statusText}: ${url}`);
  }
  return response.json();
};

const autofill = async () => {
  const keyword = query.value.trim();
  if (keyword === '') {
    clearFields();
    return;
  }

  try {
    // 1. 法人名・法人番号で検索する(部分一致。ここでは先頭の1件を採用)
    const { items } = await fetchJson(`${ENDPOINT}/corporations.json?s=${encodeURIComponent(keyword)}`);
    if (items.length === 0) {
      clearFields();
      return;
    }

    const [corporation] = items;
    fields.name.value = corporation.name;
    fields.number.value = corporation.corporate_number;

    // 2. 法人番号の先頭に T を付けるとインボイス登録番号になる。
    //    未登録の事業者は 404 が返るので、その場合は空欄のままにする。
    try {
      const invoice = await fetchJson(`${ENDPOINT}/invoice_registration_numbers/T${corporation.corporate_number}.json`);
      fields.invoice.value = invoice.registrated_number;
    } catch {
      fields.invoice.value = '';
    }
  } catch (error) {
    console.info(error);
    clearFields();
  }
};

query.addEventListener('keyup', autofill);

最終更新日: 2026/09/27 23:35:44