任意の郵便番号から特定の距離内に存在する郵便番号を調べるAPI版を作ってみた

先日、任意の郵便番号から特定の距離内に存在する郵便番号を調べるWEBサービス 半径5km以内の郵便番号調べ を作りました

『この郵便番号から何キロ圏内にある地域を調べたい』という用途なので、そんなに使う人はいないんだろうなと作ってみたサービスでしたが、思ったよりも反響をいただき驚いています
声をいただけることはとても嬉しいです。ありがとうございます

「データをダウンロードしたい」や「もっと距離を選べるようにして欲しい」という声もいただきましたが、条件によっては数千件のデータになり、CSVにするのも画面に表示させるのも負担が増えてしまうのでAPI化してみました

API化することで距離も任意で細かく指定することもできました

検索方法

下記URLに必須条件のGETパラメータを付与しアクセスすることでJSON形式で情報を返します

https://everyday-growth.com/zipdistance/api/?

必須パラメータ

パラメータ名 内容
pcode 中心点としたい郵便番号になります
桁数:7桁
dis 中心点からの距離(km)
50まで

出力項目

Response(レスポンスヘッダー)

処理の内容を表示します

要素 内容
ResponseCode
戻り値 内容
200 正常処理
401 該当データなし
411 郵便番号不正エラー
421 距離指定エラー
50km以上が指定されています
501 必須パラメーターエラー
901 指定回数制限エラー
60分以内に10回まで
ResponseStatus
戻り値 内容
OK 正常
NG エラー
ResponseDescription
戻り値 備考
正常に処理しました ResponseCode:200
セットされた郵便番号を元にはデータが算出できませんでした ResponseCode:401
セットされた郵便番号に数字以外の文字が入っています ResponseCode:411
測定距離は50km以内で指定してください ResponseCode:421
パラメーターが正しくセットされていません ResponseCode:501
接続制限数を超えています。60分に10回以内の利用をお願いします ResponseCode:901
ResponseCount 該当したデータの件数。エラーの場合は0件

Search(検索条件内容)

検索条件に該当するデータを表示します

要素 内容
POSTCODE 郵便番号
ADD001 都道府県名
ADD002 市区町村名
ADD003 町域名
ADDYOMI001 都道府県名よみ
ADDYOMI002 市区町村名よみ
ADDYOMI003 町域名よみ
LONGITUDE 経度
LATITUDE 緯度
DISTANCE 距離

Result(結果)

抽出された結果を表示します

要素 内容
POSTCODE 郵便番号
ADD001 都道府県名
ADD002 市区町村名
ADD003 町域名
ADDYOMI001 都道府県名よみ
ADDYOMI002 市区町村名よみ
ADDYOMI003 町域名よみ
LONGITUDE 経度
LATITUDE 緯度
DISTANCE 距離

使用例

・郵便番号:107-0062(東京都港区南青山)
・距離:半径1km

パラメーターをつけて投げ込みます

結果:JSON形式

このように検索条件に対しての結果がJSON形式で返ってきますので、結果を取り込んで処理してみてください

PHPでの処理の例

PHPを使ってJSONデータを取り込み処理する例になります

PHPでJSONデータを処理するのはこんな感じです

注意事項

・個人で作成したAPIサービスですので運用状況によっては突然停止する場合があります
・60分以内に30回以内の利用制限をしています

次は個人情報ランダム生成をAPI化しようかな