顧客管理システム(CRM)やECサイトのデータベース、営業リストなど、ビジネスの現場では住所データが様々な場面で活用されています。

しかし、これらのデータはユーザーの手入力に頼ることが多く、「表記の揺れ」や「入力ミス」「情報の欠損」が発生しやすいという課題を抱えています。不正確な住所データは、DMの不達によるコスト増や、顧客のエリア分析の精度低下など、多くの問題を引き起こします。

これらの問題を解決するために、郵便番号検索APIと他システムを連携させることで、手元の郵便番号リストから正確な住所情報を一括で取得・補完し、データのクレンジングや正規化を実現したいというニーズが高まっています。

これにより、データの品質を向上させ、後続のマーケティング施策や分析、業務プロセスの精度を飛躍的に高めることができます。

本記事では、クラウドETLサービス「TROCCO」の転送元HTTPSコネクタを利用し、ノーコードで郵便番号検索API連携・データ連携を実現する手順を具体的に解説します。

TROCCOの転送元HTTP・HTTPSコネクタとは?

TROCCOの転送元HTTP・HTTPSコネクタは、公式コネクタが用意されていない外部サービスについて、REST API形式でデータを取得できる機能です。

このコネクタを利用すれば、URLを指定するだけでデータの定期取得からデータ基盤への転送までを自動化できます。

主な特徴は以下の通りです。

  • セキュアな認証設定: APIキー、Bearer Token、OAuth等の認証方式に対応
  • 柔軟なパラメータ設定: クエリパラメータ、ヘッダー、リクエストボディの自由な設定
  • ページング設定: 大量データの自動分割取得に対応可
  • スケジュール実行: 定期的な自動データ取得
  • データ変換機能: JSONレスポンスの自動パース・フラット化

これにより、郵便番号検索APIより取得した住所データをETLパイプラインの一部として組み込むことができます。

※ 転送元HTTP・HTTPSコネクタは TROCCO の Advanced プラン以上のプランでご利用いただける機能です。

利用するデータ

今回は、株式会社アイビス様が提供している「zipcloud」の郵便番号検索APIを利用します。

zipcloudは日本郵便のWebサイトで公開されている郵便番号データを再配信するサービスです。

こちらでは郵便番号データを検索するAPIを無料で提供しており、こちらを利用することで簡単に必要な情報を取得することが出来ます。

ドキュメントURL

zipcloud:https://zipcloud.ibsnet.co.jp/

郵便番号検索API:https://zipcloud.ibsnet.co.jp/doc/api

リクエストに必要なパラメータ

「zipcloud」の郵便番号検索APIは認証トークン等は不要です。

以下のリクエストURLに対し、必要なパラメータを付与することで、レスポンスを取得することが出来ます。

https://zipcloud.ibsnet.co.jp/api/search

パラメータ名項目名必須備考
zipcode郵便番号7桁の数字。ハイフン付き可。完全一致検索。
callbackコールバック関数名JSONPとして出力する際のコールバック関数名。UTF-8でURLエンコードした文字列。
limit最大件数同一の郵便番号で複数件のデータが存在する場合に返される件数の上限値(数字) ※デフォルト:20

取得できる郵便番号・住所データ

フィールド名項目名備考
statusステータス正常時は 200、エラー発生時にはエラーコードが返される。
messageメッセージエラー発生時に、エラーの内容が返される。
results— 検索結果が複数存在する場合は、以下の項目が配列として返される —
zipcode郵便番号7桁の郵便番号。ハイフンなし。
prefcode都道府県コードJIS X 0401 に定められた2桁の都道府県コード。
address1都道府県名
address2市区町村名
address3町域名
kana1都道府県名カナ
kana2市区町村名カナ
kana3町域名カナ

例えば、株式会社primeNumberの郵便番号である「1410021」を用いてAPIを実行すると、以下のようなレスポンスが返却されます。

リクエスト:https://zipcloud.ibsnet.co.jp/api/search?zipcode=1410021

取得できるデータについて

現在使用しているデータは、「2025年9月30日更新分の全国一括データ(加工済バージョン)」となります。

これらのデータは、日本郵便のWebサイトにて公開されている郵便番号データに対し、一定のルールに則って変換・加工を行ったデータとなっております。

変換・加工ルールにつきましてはこちらに記載がございますので、ご確認ください。

また

【事前準備】郵便番号検索APIを利用するための確認事項

「zipcloud」の郵便番号検索APIは、事前申請不要でどなたでも利用することが出来ます。
ただし、安定した運用と適切な利用のために、以下の点を確認しておきましょう。

1. ライセンスについて

  • 郵便番号検索APIを利用することにより利用規約の内容に同意したこととなります。
  • 詳細は、「郵便番号検索API利用規約」をご参照ください。
    • 特に「2.禁止事項」については必ず一読し、利用目的と本項目の内容に認識相違がないか確認してください。
  • 不明点がある場合は「お問い合わせ」よりご相談いただくことをおすすめいたします。

2.更新頻度について 

  • 本APIは一般公開されており、一般的に高頻度アクセスや大量ダウンロードは望ましく有りません。
  • データ更新タイミング(例:毎時50分頃、10分ごと更新など)を確認し、それに合わせて定期取得を設定しましょう。
  • TROCCOなどのETLツールでは、1時間〜数時間間隔のスケジュール設定を推奨します。

【実践編】郵便番号検索APIと転送元HTTP・HTTPSコネクタでデータ連携を実現

ここからは、TROCCOの転送元HTTP・HTTPSコネクタを利用して、郵便番号に紐づく住所データを自動取得・転送する設定手順を解説します。
サンプルとして、特定の郵便番号に紐づく住所データをBigQueryに連携する構成を例に進めます。

STEP1:転送元・転送先の設定

  1. TROCCOのメニューから [データ転送] → [転送設定] を開きます。
  2. [新規転送設定作成] ボタンをクリック。
  3. 「転送元」で HTTP・HTTPS を選択します。
  4. 「転送先」では今回は Google BigQuery を選択します。

転送元の設定

前述の通り、郵便番号検索APIは以下のベースリクエストURLを用いることでデータを取得することが可能となります。

https://zipcloud.ibsnet.co.jp/api/search

このURLをHTTPコネクタの項目”URL”に入力します。

設定例:

項目
URLhttps://zipcloud.ibsnet.co.jp/api/search
HTTPメソッドGET
文字エンコーディングUTF-8
入力ファイル形式JSON
ルート$.results※この指定により、zipcode以下の必要なフィールドの部分のみ展開し、データを取得することが可能となります。
パラメータ / HTTPヘッダ名前:zipcode値:{取得したい郵便番号7桁}※今回は例として、”1410021”を入力します。

転送先の設定(Google BigQuery)

転送先の設定は次のドキュメントを参照して設定してください。

転送モード:

  • 追加(APPEND):毎時取得で新しいデータを追記
  • 全件洗い替え(REPLACE):最新データを上書き(推奨はAPPEND)

設定後、 [次のSTEPへ] ボタンをクリックします。

[自動データ設定の選択] [自動データ設定を実行] を選択し [決定して次へ進む] をクリックします。

STEP2:スキーママッピング

  1. 郵便番号検索APIより取得出来た住所データが自動的に取得され、テーブルのプレビューが表示されます。
  1. TROCCOが自動的にカラム名・データ型を推論します。
  2. 必要に応じてカラム名を変換したり、データ型の変換を行ってください。

注意事項
STEP3:設定の確認・保存

  1. 入力内容を確認したら、画面右下の [確認画面へ] をクリックします。
  2. 設定内容が表示されるので、問題がなければ画面右下の [保存して適用] をクリックして設定を保存します。
  3. 設定完了後、転送設定の詳細画面に戻ります。
  4. 右上の [実行] ボタンを押し、手動実行でデータ転送のテストを行います。

ジョブのログ画面でステータスが「SUCCESS」になれば、データ取得とBigQuery転送が正常に完了しています。

BigQuery上で次のようなデータが確認できます。

又、今回はBigQueryへの転送を例示いたしましたが、お客様のニーズに応じて、Google Sheetへの出力や、CSV形式でのGoogle Driveへの出力も可能となっております。

定期実行の設定

定期ジョブ化することで分析データを常に最新状態に保つことが可能となります。

  1. 転送設定画面の [スケジュール設定] タブを開きます。
  2. [スケジュールを追加] をクリックしスケジュール登録を行います。

また、実行完了の通知をSlack/メールへしておくと運用がスムーズです。

複数の郵便番号に紐づく住所データを一括で取得したい場合

今回のサンプルでは1つの郵便番号を用いて住所データを取得しましたが、実際に運用する際には、複数の郵便番号ごとに、まとめて住所データを取得したいニーズがあると思います。

この場合、TROCCOではカスタム変数ループ実行を用いることで、複数の郵便番号ごとにまとめて住所データを連携することが可能となります。

カスタム変数ループ実行とは、カスタム変数を埋め込んだ転送設定・データマート定義を、ワークフロー定義上に組み込んだときに設定できる機能です。

カスタム変数ループ実行では、タスクに埋め込んだカスタム変数に対して、複数の値を展開するよう設定できます。

この設定を施したタスクがワークフロージョブ内で実行されると、「カスタム変数に値を展開し、それを踏まえた形でジョブを実行する」という処理が順番に繰り返されます。

このループ実行は、以下のように画面上で複数の文字列をまとめて設定することが出来るようになっています。

こちらで郵便番号をまとめて設定することで、紐づく住所データをまとめて取得することが可能となります。また、この他にもループ実行には「クエリ結果でループ」機能もございます。

こちらを用いることで、例えば、既にBigQueryに連携された郵便番号をまとめて取得した後、ループ実行の変数として利用することも可能となります。このようにTROCCOでは、お客様のニーズに応じて柔軟なデータ取得を実現することが可能となっております。

取得した住所データを1つの列に統合したい場合

取得した住所データについて、address1からaddress3までの値を1つの文字列に統合した上で連携、統合したいニーズがある場合、TROCCOでは以下2つの方法があります。

1.データマート機能を利用する

TROCCOが提供するデータマート機能を用いることで、3つの列の値を1つの文字列に統合することが出来ます。

データマート機能は、お客様が利用しているDWHに対してSQLを発行し、必要な形式にデータを加工した上でデータを出力することが可能となります。

基本的な利用方法はこちらに記載がございますので、ご確認ください。

こちらの機能にて、転送元より取得した住所データについて、3つの列を1つの文字列に結合するようなSQLを記述することで、住所データの統合を行うことが可能となります

2.プログラミングETL機能を利用する

上記とは別に、TROCCOではプログラミングETL機能を用いることで、同様のことを実現することが出来ます。

プログラミングETL機能は、転送元から取得したデータに対し、お客様が記述したプログラム処理を挟むことで、任意の処理を実行することが出来るようになります。

こちらの機能にて、転送元より取得した住所データについて、3つの列を1つの文字列に結合するような処理を記述することで、住所データの統合を行うことが可能となります。

郵便番号APIの実践的な活用ユースケース

TROCCOを用いて郵便番号検索APIをBigQueryなどのDWHに蓄積すると、
社内のさまざまなデータと掛け合わせた分析・自動化が実現します。
ここでは代表的なユースケースを紹介します。

顧客データ・会員データのクレンジングと正規化

  • 社内のCRMや顧客リストにある郵便番号をキーに、最新の正しい住所を一括で付与します。これにより、住所の表記揺れ(例:「1-2-3」「一丁目二番地」)を統一し、データ全体の品質を向上させます。DMの不達率を削減し、郵送コストの最適化にも繋がります。

エリアマーケティングの高度化

  • ECサイトの購買データとAPIで取得した住所情報を組み合わせ、BigQueryなどのDWHに格納。Looker StudioなどのBIツールで「どの市区町村からの売上が高いか」を地図上にヒートマップで可視化します。これにより、Web広告のエリアターゲティングや、新規出店計画の精度を高めることができます。

データ入力の効率化と精度向上

  • 各種フォームで入力された郵便番号から住所を自動補完する仕組みを、サーバーサイドでバッチ処理として実現します。ユーザーの入力負担を軽減し、入力ミスを防ぐことで、顧客体験の向上とデータ品質の担保を両立します。

よくある質問(FAQ)

Q1. 複数の郵便番号の住所を一度に取得したい場合はどうすればよいですか?

A. 郵便番号検索APIは、1リクエストにつき1つの郵便番号に対応しています。TROCCOの入力データソース(例:GoogleスプレッドシートやBigQueryのテーブル)に郵便番号のリストを用意し、転送設定でそのデータを読み込むように設定することで、リスト内の郵便番号一件一件に対してAPIリクエストを自動で繰り返し実行し、結果をまとめて転送先に格納することが可能です。

Q2. APIの利用に料金はかかりますか?

A. 記事執筆時点で、郵便番号検索API(zipcloud)は無料で提供されていますが、利用にあたっては必ず公式サイトの利用規約をご確認ください。また、TROCCOの転送元HTTPS機能は、Advancedプラン以上でご利用いただけます。

Q3. BigQuery以外のDWHにも転送できますか?
A. 可能です。Snowflake、Redshift、Databricksなど主要DWHに対応しています。HTTPコネクタの設定は共通で、出力先を切り替えるだけで転送可能です。

まとめ

郵便番号とそれに紐づく住所データは、ビジネス活動を行うための情報精度を高めるにあたり、非常に有効なデータソースとなります。

TROCCOのHTTP・HTTPSコネクタを利用すれば、こうした住所データをノーコードで自動取得し、BigQueryなどのDWHへ転送できます。
さらに、ワークフロー機能を組み合わせることで、SQLによるデータ加工や集計など、一連のデータ整備を自動化することも可能です。

郵便番号情報と住所データをマッピングし、データドリブンな意思決定を支える仕組みを、TROCCOで構築してみるのはいかがでしょうか。
上記お取り組みをご検討の方は、ぜひ TROCCOの無料トライアル をお試しください。

※転送元HTTP・HTTPSコネクタは、TROCCO の Advanced プラン以上のプランでご利用いただける機能です。ます。

primeNumber編集長

primeNumberのブログを担当している編集長