郵便番号データダウンロードAPI リファレンス
要約: 郵便番号→住所API と同一スキーマの全データを、xz圧縮 JSON 形式で一括ダウンロードするための REST API。2エンドポイント (ファイル一覧 / ダウンロードURL発行)。社内DB同期・バッチ ETL・オフライン検索インデックス構築に最適。プラン詳細は 料金ページ を参照。
シークレットAPIキー専用のAPIです。公開キー=フロントエンドJSで埋め込む用途のキーからは呼び出せません。また、データダウンロードオプション購読のお客様のみご利用可能です。
このAPIを使うべきケースこの見出しへのリンク
| ユースケース | このAPI / 都度API |
|---|---|
| 社内DB / Elasticsearch / Redis に郵便番号マスタを取り込みたい | このAPI |
| オフライン検索インデックスを構築したい (オンプレ・閉域網) | このAPI |
| 毎月の差分のみ取り込みたい | 郵便番号→住所API の /updates/ |
| ユーザ入力に応じて1件だけ引く | 郵便番号→住所API |
| 住所からピンポイント引く | 住所→郵便番号API |
エンドポイント一覧この見出しへのリンク
| メソッド | パス | 用途 |
|---|---|---|
| GET | /v1/download/postalcode/ | ダウンロードファイル一覧取得 |
| GET | /v1/download/postalcode/{ファイルパス} | ダウンロードURL発行 |
共通仕様この見出しへのリンク
| 項目 | 内容 |
|---|---|
| 認証 | Authorization: Token YOUR_SECRET_API_KEY ※ シークレットキーのみ。公開キーは 401 になります |
| プラン | データダウンロードオプション購読者 |
| Content-Type | レスポンス: application/json(一覧) / 303 See Other + Location ヘッダ (DL) |
| ファイル形式 | .json.xz(xz圧縮された JSON) |
| JSONスキーマ | 郵便番号→住所API と完全同一 |
GET /v1/download/postalcode/ (ファイル一覧)この見出しへのリンク
ダウンロード可能なファイルパスの一覧を取得します。
リソースURLこの見出しへのリンク
https://api.kenall.jp/v1/download/postalcode/
パラメータこの見出しへのリンク
なし
curl サンプルこの見出しへのリンク
curl -H "Authorization: Token YOUR_SECRET_API_KEY" \
https://api.kenall.jp/v1/download/postalcode/
レスポンス例この見出しへのリンク
{
"json": [
"latest/kenall.json.xz",
"2026-04-01/kenall.json.xz",
"2026-03-01/kenall.json.xz",
"2026-02-01/kenall.json.xz",
"2021-06-30/kenall.json.xz"
]
}
レスポンスフィールドこの見出しへのリンク
| 名前 | 型 | 説明 |
|---|---|---|
json | array<string> | ダウンロード可能なファイルパスの一覧。 形式: {バージョン}/{ファイル名}。 latest は最新版を指す特殊バージョン文字列 |
ダウンロードファイルパスの形式この見出しへのリンク
ダウンロードファイルパスは {バージョン}/{ファイル名} というフォーマットで構成されています。バージョン latest は特殊なバージョン表記で、一覧内の最新のバージョンを参照します。
GET /v1/download/postalcode/{ファイルパス}(DL URL発行)この見出しへのリンク
指定ファイルの一時ダウンロードURLを発行します。HTTP 303 リダイレクトで、Location ヘッダにダウンロードURLが返ります。
リソースURLこの見出しへのリンク
https://api.kenall.jp/v1/download/postalcode/{ファイルパス}
パスパラメータこの見出しへのリンク
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
{ファイルパス} | string | 必須 | 形式: {バージョン}/{ファイル名}。ファイル一覧API で取得した値を使用。latest/kenall.json.xz を指定すると常に最新版 | "2026-04-01/kenall.json.xz" / "latest/kenall.json.xz" |
curl サンプル (リダイレクトを自動追跡)この見出しへのリンク
curl -L -H "Authorization: Token YOUR_SECRET_API_KEY" \
https://api.kenall.jp/v1/download/postalcode/latest/kenall.json.xz \
-o kenall.json.xz
-L オプションで 303 リダイレクトを自動追跡。-o でファイル保存先指定。
リダイレクト動作この見出しへのリンク
| 項目 | 内容 |
|---|---|
| HTTP ステータス | 303 See Other |
| Location ヘッダ | 一時ダウンロードURL (CDN署名URL等) |
| URL有効期間 | 一時的に有効なURL。再利用不可。毎回 GET /v1/download/postalcode/{path} を叩いて取得し直してください |
ダウンロードファイルの中身この見出しへのリンク
| 項目 | 内容 |
|---|---|
| 圧縮形式 | xz 形式 (LZMA2)。標準ツールで展開可能 |
| 展開後形式 | JSON (UTF-8) |
| スキーマ | 郵便番号→住所API のレスポンスと同一構造 |
| 展開コマンド例 | xz -d kenall.json.xz(Linux/macOS) / tar -xf kenall.json.xz(Windows 10+ 標準) |
HTTPステータス・エラーこの見出しへのリンク
| HTTPステータス | 意味 | 典型的な原因 |
|---|---|---|
| 200 | OK | 一覧取得成功 |
| 303 | See Other | DL URL 発行成功 (Location ヘッダを参照) |
| 401 | Unauthorized | シークレットキー未設定/公開キーで叩いた/無効キー |
| 403 | Forbidden | データダウンロードオプション未購読 |
| 404 | Not Found | 指定ファイルパスが存在しない/バージョン削除済み |
| 429 | Too Many Requests | リクエスト量の制限超過 |
SDK で呼び出すこの見出しへのリンク
Python (毎月バッチ用サンプル)この見出しへのリンク
import os, lzma, json, requests
SECRET = os.environ["KENALL_SECRET_KEY"]
HEADERS = {"Authorization": f"Token {SECRET}"}
# 1. 最新ファイルのリダイレクトURLを取得し、ダウンロード保存
res = requests.get(
"https://api.kenall.jp/v1/download/postalcode/latest/kenall.json.xz",
headers=HEADERS, allow_redirects=True, timeout=60,
)
res.raise_for_status()
with open("kenall.json.xz", "wb") as f:
f.write(res.content)
# 2. 展開してメモリに読み込み
with lzma.open("kenall.json.xz", "rt", encoding="utf-8") as f:
data = json.load(f)
print(f"version: {data['version']}, records: {len(data['data'])}")
シェルスクリプト (cron 用)この見出しへのリンク
#!/usr/bin/env bash
set -euo pipefail
TOKEN="${KENALL_SECRET_KEY:?}"
DEST="${1:-./kenall.json.xz}"
curl -fSsL -H "Authorization: Token $TOKEN" \
"https://api.kenall.jp/v1/download/postalcode/latest/kenall.json.xz" \
-o "$DEST"
echo "Downloaded: $(du -h "$DEST" | cut -f1)"
注意事項・制限事項この見出しへのリンク
シークレットキー専用この見出しへのリンク
公開キーでは 401 が返ります。 シークレットキーはサーバサイドに保管し、フロントエンドJSには絶対に埋め込まないでください。漏洩した場合はダッシュボードから即時ローテーションしてください。
ダウンロードURLの一時性この見出しへのリンク
Location ヘッダで返るダウンロードURLは一時的に有効なURLで、再利用できません。保存はせず、毎回 /v1/download/postalcode/{path} を叩いてURLを取得し直してください。
ファイルサイズについてこの見出しへのリンク
全件スナップショットのため展開後のサイズは大きくなります。ストリーミング展開 (xz のパイプ) を活用するとメモリ消費を抑えられます。
更新頻度とバージョンこの見出しへのリンク
月次更新が基本。日本郵便の更新タイミングに合わせて新バージョンが公開されます。古いバージョンは一定期間保持後、削除される可能性があります。長期保存が必要な場合は自前で保管してください。
このAPIに関する技術FAQこの見出しへのリンク
都度API (/v1/postalcode/) との使い分けは?
都度APIは「ユーザ入力に応じて1件引く」向け、本APIは「全件を社内DBに取り込む / オフライン処理する」向けです。全件を定期的に取り込む用途では一括ダウンロードの方が効率的です。
差分のみダウンロードできますか?
本APIは「全件スナップショット」です。差分のみが必要な場合は 郵便番号→住所API の GET /v1/postalcode/updates/ を利用してください (update_status: 2 で廃止レコードも含む)。
xz が解凍できない環境です
Windows 10 以降は標準 tar -xf で展開可能。古い環境では XZ Utils をインストール。Python なら標準ライブラリの lzma モジュールでストリーム展開できます。
レスポンス JSON のスキーマは郵便番号→住所APIと同じ?
はい、完全同一です。トップレベルに version と data、data 配列内のフィールド構成は 郵便番号→住所API と同じ (30+ フィールド、ローマ字・郡・行政区・corporation オブジェクト 含む)。
シークレットキーを誤って公開してしまいました
ダッシュボードの「APIキー管理」から即時ローテーションしてください。古いキーは即座に無効化されます。Git にコミットしてしまった場合は履歴の rewrite + 全リポジトリの該当値検索も必須。
関連リファレンスこの見出しへのリンク
- ⚠️ 既知の問題 (このAPIに該当する制約・破壊的変更)
- 郵便番号→住所API — 同一スキーマの都度API (差分取得もこちら)
- 市区町村API — 都道府県→市区町村マスタ
- API共通仕様 — Token認証 / HTTPステータス
- APIキー・認証 — シークレットキー vs 公開キー
- プランと料金 — データダウンロードオプション
- OpenAPI スキーマ (YAML): 2023-09-01 / 2024-01-01 / 2025-01-01
最終更新: 2026-07-14