概要
こんにちは!
本記事では、経済産業省が無料で公開しているAPIを紹介します。
 APIサービス名は、『gBizINFO (ジービズインフォ)』です。
法人情報を検索のが出来るサイトですが、APIも公開されています!
JavaScriptで連携まで、本記事で紹介いたします。
DEMO
初期画面

企業情報取得ボタンを押す
処理が完了すると、情報が画面に表示されます。

コード
使用したエンドポイント
https://info.gbiz.go.jp/hojin/v1/hojin/updateInfoパラメータ
期間を「2023/01/01~2024/01/01」と指定しました。
'?page=1&from=20230101&to=20240101'トークン
リクエストヘッダーのX-hojinInfo-api-tokenに記述します。
利用申請を行うと発行できるので、使用時置き換えてください。
index.js
import express from 'express';
import fetch from 'node-fetch';
const __dirname = import.meta.dirname;
const app = express();
async function api() {
  const param = '?page=1&from=20230101&to=20240101';
  const endPoint = 'https://info.gbiz.go.jp/hojin/v1/hojin/updateInfo';
  const url = endPoint + param;
  const options = { 
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
      'X-hojinInfo-api-token': {APIトークンを取得し記述}
    }
  };
  try {
    const response = await fetch( url, options ); 
    if (!response.ok) { 
      throw new Error(`すまん。エラーが発生した!!!!: ${response.status}`);
    }
    const data = await response.json();
    return data; 
  } catch (error) {
    console.error('データの取得に失敗:', error);
  }
}
app.get('/', (req, res) => {
  res.sendFile( __dirname + '/index.html' );
});
app.get('/info', async (req, res) => { 
  try {
    const data = await api();
    res.json(data); 
  } catch (error) {
    res.status(500).send('すまん。エラーが発生した!!'); 
  }
});
app.listen( 8000, () => {
  console.log('Server listening on port 8000');
});index.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>API test</title>
</head>
<script>
    async function info_get(){
        console.log("処理開始");
        try {
            const response = await fetch("/info"); 
            if (!response.ok) { 
                throw new Error(`すまん。エラーが発生した!!!!: ${response.status}`);
            }
            const data = await response.json();
        
            result(data["hojin-infos"]);
        } catch (error) {
            console.error('データの取得に失敗:', error);
        }
    }
    function result(data){
        let disp="";
        for(let i = 0 ; i<data.length ; i++ ){
            disp = disp + '\n' + `法人名(${i}):` + data[i].name + ` 法人番号:` + data[i].corporate_number;
        }
        
        document.getElementById('info').innerText = disp;
    }
</script>
<body>
    <input type="button" onclick="info_get()" value="企業情報を取得" >
    <h1>結果</h1>
    <text id="info">初期値</text>
    
</body>
<style>
input{
    height: 40px;
    width: 200px;
    background-color: #f5deb3;
    
}
</style>
</html>トークン取得方法/ポリシー
APIを利用するには申請をする必要があるようです。
プライバシーポリシーに同意し、すんなり登録ができました。
使用する時は、よく読み自己責任で利用しましょう。
ブライバシーポリシー抜粋
1 基本的考え方
gBizINFO 運営事務局では、gBizINFO REST API(https://info.gbiz.go.jp/hojin/swagger-ui.html)(以下、「当
API」という。)の運営の円滑な運営に必要な範囲で、当 API を利用される皆様の情報を収集します。収集した
情報は利用目的の範囲内で適切に取り扱います。
2 収集する情報の範囲
2.1 当 API にアクセスした際に、アクセス日時、IP アドレス、指定したパラメータ等のアクセス情報を自
動的に収集します。
2.2 当 API の利用申請では、下記の情報をご提供いただきます。
(1) 法人担当者の方:法人番号、法人名、担当部署名、郵便番号、所在地、電話番号、メールアドレス、
API の利用目的および利用予定
(2) 個人利用者の方:メールアドレス、API の利用目的 および利用予定3 利用目的
3.1 2.1 節で収集した情報、および、2.2 節でご提供いただいた、法人番号・法人名・担当部署名・郵便番
号・所在地・電話番号・メールアドレス・API の利用目的および利用予定は、当 API および gBizINFO
のサービス運営や施策立案を円滑に行うために利用します。
3.2 2.2 節でご提供いただいたメールアドレスは、当 API にアクセスするためのアクセストークンのご連
絡、当 API の利用に係るお問い合わせ、当 API および gBizINFO のサービスに係るお知らせ、アン
ケートやご意見収集に係るご連絡に利用します。
引用:https://info.gbiz.go.jp/common/docs/policy.pdf
詰みポイント
取得したデータの取り出しには、注意が必要です!
企業情報は、hojin-infosというプロパティで帰ってきます。
ハイフンが入っているため、BADのような取り出し方はできません。
演算子のマイナスとして認識されてしまうようです。
GOODの記述方法のように取り出しましょう。
環境/構築手順
実行環境
M2 Mac Book Air
docker
ubuntu:20.04
Node.js:v23.4.0
1.Ubuntu:20.04の環境を整える
2.Node.jsv23.4.0/必要なパッケージのダウンロード
3.初期設定/ソースコードの配置
- 1.Ubuntu:20.04の環境を整える(dockerで構築します)
 - 
Ubuntu:20.04のダウンロード
docker pull ubuntu:20.04コンテナの作成
docker run -it -d --name コンテナの名前 -p 3000:8000 ubuntu:20.04コンテナの中に入る
docker exec -it コンテナの名前 /bin/bash初期作業としてアップデート
apt update apt upgrade apt install npm作業用フォルダに移動/作成
cd home mkdir test cd test - 2.Node.jsv23.4.0/必要なパッケージのダウンロード
 - 
apt install nodejsパッケージ管理ツールnpmをダウンロード
apt install npmNode.jsプロジェクトの初期化
npm init -y - 
Node.jsのバージョンツールのダウンロード
npm install -g n - 
Node.jsをアップデートする
n 23.4.0フレームワークexpressをインストール
npm install express - 3.ソースコードの配置
 - 
作業フォルダ直下に、index.jsとindex.htmlを配置する
. |-- index.html |-- index.js |-- node_modules |-- package-lock.json |-- package.json 
まとめ
無料で公開されていて、非常にありがたいですね。
造りもシンプルなので、API連携が初めての方にも丁度いいかなと思います!
うまくいかない箇所などがあれば、コメントください。
できる限り回答させていただきます😎

