【Javascript】無料API「gBizINFO」で企業情報を簡単取得ガイド【Node.js】

Node.js
目次

概要

こんにちは!

本記事では、経済産業省が無料で公開している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の記述方法のように取り出しましょう。

BAD data.hojin-infos[0].name

GOOD data.[“hojin-infos”][0].name

環境/構築手順

実行環境

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 npm

Node.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連携が初めての方にも丁度いいかなと思います!

うまくいかない箇所などがあれば、コメントください。

できる限り回答させていただきます😎

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次