郵便番号→住所API リファレンス
要約: 与えられた郵便番号を元に、該当する郵便区画のリソースを取得するAPI。3エンドポイント (取得 / バージョン一覧 / 更新差分) ・30+のレスポンスフィールド (ローマ字・郡・政令指定都市行政区・大口事業所個別番号 含む) を提供。
このページは技術リファレンスです。ユースケース・料金・導入事例はこちら。
エンドポイント一覧この見出しへのリンク
| メソッド | パス | 用途 |
|---|---|---|
| GET | /v1/postalcode/{postal_code} | 郵便番号から郵便区画リソースを取得 (メイン) |
| GET | /v1/postalcode/versions/ | 利用可能な郵便番号データのバージョン一覧を取得 |
| GET | /v1/postalcode/updates/ | 指定バージョンにおける郵便番号データの更新差分を取得 |
共通仕様この見出しへのリンク
| 項目 | 内容 |
|---|---|
| 認証 | Authorization: Token YOUR_API_KEY |
| プラン | スタンダードプラン以上 (詳細は 料金プラン) |
| Content-Type | application/json |
データバージョンについてこの見出しへのリンク
ケンオールではサービス開始時点からの全郵便番号データをアーカイブしており、version パラメータを指定して過去バージョンへ問い合わせを行うことができます。バージョン名は郵便番号データが更新された日付 (YYYY-MM-DD形式) としています。バージョン一覧を取得するには、ダッシュボードから郵便番号更新情報を参照するか、バージョン一覧取得API を利用してください。
ダッシュボードの「郵便番号更新情報」ページでは、各バージョンにおける郵便番号の追加・変更・廃止件数を一覧で確認できます。最新バージョンの更新差分を取得するには 更新差分取得API も利用できます。
データバージョンとAPIバージョンのフォーマットは似ていますが、両者は異なるものです。混同にご注意ください。
GET /v1/postalcode/{postal_code}この見出しへのリンク
与えられた郵便番号を元に、該当する郵便区画のリソースを取得します。
リソースURLこの見出しへのリンク
https://api.kenall.jp/v1/postalcode/{postal_code}?version=...
パラメータこの見出しへのリンク
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
{postal_code}(パスパラメータ) | string | 必須 | 取得したい郵便区画の郵便番号、あるいは取得したい住所の大口事業所個別番号。ハイフンなしで、7桁の郵便番号を指定する必要があります。郵便番号には頭がゼロのものが存在するため、数値型ではなく文字列型を用いて取り扱うことを推奨します。 | "0893443" |
version(クエリパラメータ) | string | 省略可 | 取得したい郵便番号データのバージョンを指定します。省略した場合は、リクエスト時点での最新バージョンを指定したものとみなされます。 | "2021-02-26" |
curl サンプルこの見出しへのリンク
curl -H "Authorization: Token YOUR_API_KEY" \
https://api.kenall.jp/v1/postalcode/1000001
レスポンス例 (通常郵便番号)この見出しへのリンク
⇩ 利用中のAPIバージョンを選択してください。タブを切り替えると、そのバージョンで返却されるフィールド構成を確認できます。
{
"version": "2022-09-30",
"data": [
{
"jisx0402": "13101",
"old_code": "100",
"postal_code": "1000001",
"prefecture_kana": "トウキョウト",
"city_kana": "チヨダク",
"town_kana": "チヨダ",
"town_kana_raw": "チヨダ",
"prefecture": "東京都",
"city": "千代田区",
"town": "千代田",
"koaza": "",
"kyoto_street": "",
"building": "",
"floor": "",
"town_partial": false,
"town_addressed_koaza": false,
"town_chome": false,
"town_multi": false,
"town_raw": "千代田",
"corporation": null,
"town_jukyohyoji": false,
"update_status": 0,
"update_reason": 0,
"prefecture_roman": "Tokyo",
"county": "",
"county_kana": "",
"county_roman": "",
"city_without_county_and_ward": "千代田区",
"city_without_county_and_ward_kana": "チヨダク",
"city_without_county_and_ward_roman": "Chiyoda-ku",
"city_ward": "",
"city_ward_kana": "",
"city_ward_roman": "",
"city_roman": "Chiyoda-ku",
"town_roman": "Chiyoda"
}
]
}レスポンス例 (大口事業所個別番号)この見出しへのリンク
⇩ 利用中のAPIバージョンを選択してください。corporation オブジェクトの有無・フィールド構成がバージョンで異なります。
{
"version": "2022-09-30",
"data": [
{
"jisx0402": "13104",
"old_code": "16001",
"postal_code": "1638001",
"prefecture_kana": "トウキョウト",
"city_kana": "シンジュクク",
"town_kana": "",
"town_kana_raw": "",
"prefecture": "東京都",
"city": "新宿区",
"town": "西新宿",
"koaza": "",
"kyoto_street": "",
"building": "",
"floor": "",
"town_partial": false,
"town_addressed_koaza": false,
"town_chome": false,
"town_multi": false,
"town_raw": "西新宿",
"corporation": {
"name": "東京都庁",
"name_kana": "トウキヨウトチヨウ",
"block_lot": "2丁目8-1",
"block_lot_num": "2-8-1",
"post_office": "新宿",
"code_type": 0
},
"town_jukyohyoji": true,
"update_status": 0,
"update_reason": 0,
"prefecture_roman": "Tokyo",
"county": "",
"county_kana": "",
"county_roman": "",
"city_without_county_and_ward": "新宿区",
"city_without_county_and_ward_kana": "シンジュクク",
"city_without_county_and_ward_roman": "Shinjuku-ku",
"city_ward": "",
"city_ward_kana": "",
"city_ward_roman": "",
"city_roman": "Shinjuku-ku",
"town_roman": ""
}
]
}レスポンス・トップレベルフィールドこの見出しへのリンク
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
version | string | データのバージョン番号。YYYY-MM-DD形式のデータ作成日付 | "2022-01-31" |
data | array | 郵便区画レコードの配列。1郵便番号に複数住所が紐付くため配列 | — |
data 配列内・郵便区画レコードのフィールド仕様この見出しへのリンク
バージョン別フィールド一覧 (簡易・本番kenall.jp準拠)この見出しへのリンク
⇩ 利用中のAPIバージョンで返却されるフィールド一覧 (35 / 35 / 20 件)。詳細は 下の「意味別」セクションを参照。
| 名前 | 型 | 名前 | 型 |
|---|---|---|---|
jisx0402 | string | city_without_county_and_ward_roman | string |
old_code | string | city_ward | string |
postal_code | string | city_ward_kana | string |
prefecture | string | city_ward_roman | string |
prefecture_kana | string | town | string |
prefecture_roman | string | town_kana | string |
city | string | town_roman | string |
city_kana | string | town_raw | string |
city_roman | string | town_kana_raw | string |
county | string | koaza | string |
county_kana | string | kyoto_street | string |
county_roman | string | building | string |
city_without_county_and_ward | string | floor | string |
city_without_county_and_ward_kana | string | town_partial | boolean |
town_addressed_koaza | boolean | town_chome | boolean |
town_multi | boolean | town_jukyohyoji | boolean |
update_status | number | update_reason | number |
corporation | object/null |
詳細フィールド仕様 (意味別)この見出しへのリンク
住所コード・郵便番号
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
jisx0402 | string | 全国地方公共団体コード (JIS X0401、X0402) | "13101" |
old_code | string | (旧) 郵便番号 (3/5桁) | "100" |
postal_code | string | 郵便番号 (7桁) | "1008105" |
都道府県
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
prefecture | string | 都道府県名 | "東京都" |
prefecture_kana | string | 都道府県名(全角カナ) | "トウキョウト" |
prefecture_roman | string | 都道府県名(ローマ字) ※ バージョン 2022-11-01 以降 | "Tokyo" |
市区町村
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
city | string | 市区町村名。county(郡名) + city_without_county_and_ward + city_ward(政令市行政区) を連結した文字列。郡や行政区がない場合はそれぞれ空文字 | "横浜市中区" |
city_kana | string | 市区町村名(全角カナ) | "ヨコハマシナカク" |
city_roman | string | 市区町村名(ローマ字) | "Naka-ku, Yokohama" |
郡
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
county | string | 郡名 | "北佐久郡" |
county_kana | string | 郡名(全角カナ) | "キタサクグン" |
county_roman | string | 郡名(ローマ字) | "Kitasaku" |
郡・政令指定都市行政区を除く市区町村
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
city_without_county_and_ward | string | 地方自治体の市区町村のうち、郡及び政令指定都市の行政区を除いたもの | "横浜市" |
city_without_county_and_ward_kana | string | 同上(全角カナ) | "ヨコハマシ" |
city_without_county_and_ward_roman | string | 同上(ローマ字) | "Yokohama" |
政令指定都市の行政区
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
city_ward | string | 政令指定都市の行政区 | "中区" |
city_ward_kana | string | 政令指定都市の行政区(全角カナ) | "ナカク" |
city_ward_roman | string | 政令指定都市の行政区(ローマ字) | "Naka-ku" |
町域
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
town | string | 町域名をベースにして、複数行の結合や括弧書きの除去等の処理を行ったもの | "千代田" |
town_kana | string | 町域名 (全角カナ) ※ 既知の問題あり | "チヨダ" |
town_roman | string | 町域名(ローマ字) | "Chiyoda" |
town_raw | string | 郵便番号データ上の町域名。複数行にまたがって記載されていたものについては結合している | "大江 (2丁目651、662、668番地、3丁目103、118、210、254、267、372、444、469番地)" |
town_kana_raw | string | 郵便番号データ上の町域名 (全角カナ) | "オオエ (2チョウメ651、662、668バンチ、3チョウメ103、118、210、254、267、372、444、469バンチ)" |
koaza | string | 町域名から分離された小字・丁目 | "2丁目" |
kyoto_street | string | 京都市特有の通り名 | "先斗町通四条上る" |
建物
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
building | string | ビル名 | "オフィスタワーX" |
floor | string | ビルの階層 | "1階" |
町域の属性フラグ (boolean)
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
town_partial | boolean | 一町域が二以上の郵便番号で表される場合の表示 (true:該当、false:該当せず)。町域のみでは郵便番号が特定できず、丁目・番地・小字などにより番号が異なる町域のこと | false |
town_addressed_koaza | boolean | 小字毎に番地が起番されている町域の表示 (true:該当、false:該当せず)。郵便番号を設定した町域 (大字) が複数の小字を有しており、各小字毎に番地が起番されているため、町域 (郵便番号) と番地だけでは住所が特定できない町域のこと | false |
town_chome | boolean | 丁目を有する町域の場合の表示 (true:該当、false:該当せず) | false |
town_multi | boolean | 一つの郵便番号で二以上の町域を表す場合の表示 (true:該当、false:該当せず)。一つの郵便番号で複数の町域をまとめて表しており、郵便番号と番地だけでは住所が特定できないことを示す | false |
town_jukyohyoji | boolean | 当該町域が住居表示実施地域かどうか。この判定には国土地理院の電子国土基本図 (地名情報)「住居表示住所」を用いています | false |
更新ステータス
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
update_status | number | このバージョンで変更された郵便番号・大口事業所個別番号かどうかを表す数字 0: 変更なし / 1: 追加・変更 / 2: 廃止 | 0 |
update_reason | number | 変更事由 0: 変更なし / 1: 市政・区政・町政・分区・政令指定都市施行 / 2: 住居表示の実施 / 3: 区画整理 / 4: 郵便区調整等 / 5: 訂正 / 6: 廃止 | 0 |
大口事業所個別番号情報
| 名前 | 型 | 説明 |
|---|---|---|
corporation | object または null | 与えられた郵便番号が大口事業所個別番号に該当した場合 JSON オブジェクト、一般的な郵便番号の場合は null |
corporation オブジェクトのフィールド仕様
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
name | string | 事業所名 (漢字) | "総務省" |
name_kana | string | 事業所名 (カナ) | "ソウムシヨウ" |
block_lot | string | 小字名、丁目、番地等 | "2丁目1-2" |
block_lot_num | string または null | 住居表示の行われている地域では丁目・番地・号を、そうでない地域では番地の部分を半角算用数字およびハイフン繋ぎにしたもの | "2-1-2" |
post_office | string | 取扱郵便局 | "銀座" |
code_type | number | 個別番号の種別の表示 0: 大口事業所 / 1: 私書箱 | 0 |
ローマ字フィールドについてこの見出しへのリンク
- 実装時期: バージョン
2022-11-01以降で住所フィールドのローマ字表記を追加 - データ作成方法: 郵便番号データに含まれるカナ情報を基に、ケンオールが独自に変換して生成
- 変換方式: 外務省の公開するヘボン式ローマ字変換表をベースとしているが、変換表に記載がない一部の変換パターンについては「郵便番号データ (ローマ字)」に記載されている内容に基づき変換
- メリット:
- 日本郵便株式会社が公開する郵便番号データ (ローマ字)は、更新頻度が低く、更新タイミングが「郵便番号データ」と一致していないため、利用し辛いユースケースがある。ケンオールのローマ字データは、常に最新の情報を利用でき、「郵便番号データ」との一貫性に優れる
- 「郵便番号データ (ローマ字)」は、文字数制限により、その収録時に本来含めるべき文字が欠落するデータがある。ケンオールのローマ字データは、含めるべき文字が欠落することのないようデータ処理している
大口事業所個別番号における町域要素についてこの見出しへのリンク
town、kyoto_street、building、floor は、block_lot の住所要素を解析した結果を格納しています。ただし、私書箱情報は解析しておりません。
バージョン別フィールド差異この見出しへのリンク
- バージョン
2021-06-30以前: ローマ字関連フィールド (prefecture_roman、city_roman等) が未実装 - バージョン
2022-01-31:prefecture_kana、city_kana、town_kana等のカナフィールドが空文字となっているレコードあり (corporation内のname_kana等は別途存在) - バージョン
2022-09-01以降: カナ情報・ローマ字フィールドが揃った形に
GET /v1/postalcode/versions/この見出しへのリンク
現在ケンオールで提供しているすべての郵便番号データのバージョンを返します。
リソースURLこの見出しへのリンク
https://api.kenall.jp/v1/postalcode/versions/
パラメータこの見出しへのリンク
なし
curl サンプルこの見出しへのリンク
curl -H "Authorization: Token YOUR_API_KEY" \
https://api.kenall.jp/v1/postalcode/versions/
レスポンス例この見出しへのリンク
{
"versions": [
"2020-10-30",
"2020-11-30",
"2020-12-28",
"2021-01-29",
"2021-02-26",
"2021-03-31",
"2021-04-30",
"2021-05-31",
"2021-06-30",
"2021-07-30",
"2021-08-31",
"2021-09-30",
"2021-10-29",
"2021-11-30",
"2021-12-28",
"2022-01-31",
"2022-02-28",
"2022-03-31",
"2022-04-28",
"2022-05-31",
"2022-06-30"
]
}
レスポンスフィールドこの見出しへのリンク
| 名前 | 型 | 説明 |
|---|---|---|
versions | array<string> | データのバージョン番号を文字列で格納した配列。バージョン番号は YYYY-MM-DD 形式の、データ作成日付 |
GET /v1/postalcode/updates/この見出しへのリンク
郵便番号データの指定バージョンにおける更新差分を取得します。
リソースURLこの見出しへのリンク
https://api.kenall.jp/v1/postalcode/updates/?version=...
パラメータこの見出しへのリンク
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
version | string | 省略可 | 取得したい郵便番号データのバージョンを指定します。省略した場合は、リクエスト時点での最新バージョンを指定したものとみなされます。 | "2021-02-26" |
curl サンプルこの見出しへのリンク
curl -H "Authorization: Token YOUR_API_KEY" \
"https://api.kenall.jp/v1/postalcode/updates/?version=2022-06-30"
レスポンスこの見出しへのリンク
レスポンスのデータ構造は GET /v1/postalcode/{postal_code} と同じく、トップレベルに version と data を含みます。
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
version | string | データのバージョン番号。YYYY-MM-DD 形式のデータ作成日付 | "2022-01-31" |
data | array | 郵便区画レコードの配列。各レコードの仕様は、郵便番号 API のものと同一 | — |
本APIのレスポンスには、削除された郵便区画レコードも含まれます。 削除されたレコードは update_status: 2(廃止) で識別できます。差分マージ時には削除処理を必ず実装してください。
HTTP ステータス・エラーこの見出しへのリンク
| HTTPステータス | 意味 | 典型的な原因 |
|---|---|---|
| 200 | OK | 正常にデータを取得 |
| 400 | Bad Request | 郵便番号の形式不正 (7桁数字でない/ハイフン入り) |
| 401 | Unauthorized | APIキー未設定/無効/Bearer スキームで送信 |
| 403 | Forbidden | 契約中のプランに含まれないAPIです |
| 404 | Not Found | 該当する郵便番号データなし/指定バージョンが存在しない |
| 429 | Too Many Requests | リクエスト量の制限超過 |
| 500 | Server Error | サーバー側障害 (status.kenall.jp で確認) |
| 503 | Service Unavailable | メンテナンス・障害 |
エラー時のJSONボディ構造は API共通仕様 — HTTPステータスコード を参照してください。
SDK で呼び出すこの見出しへのリンク
JavaScript SDKこの見出しへのリンク
import { KENALL } from '@ken-all/kenall';
const api = new KENALL('YOUR_API_KEY');
// 取得
const result = await api.getAddress('1000001');
console.log(result.data[0].prefecture); // => 東京都
// バージョン一覧
const versions = await api.getPostalCodeVersions();
console.log(versions.versions);
// 更新差分
const updates = await api.getPostalCodeUpdates({ version: '2022-06-30' });
console.log(updates.data);
Python (requests)この見出しへのリンク
import os, requests
API_KEY = os.environ["KENALL_API_KEY"]
HEADERS = {"Authorization": f"Token {API_KEY}"}
BASE = "https://api.kenall.jp/v1/postalcode"
# 取得
res = requests.get(f"{BASE}/1000001", headers=HEADERS, timeout=10)
res.raise_for_status()
print(res.json()["data"][0]["prefecture"]) # => 東京都
# バージョン一覧
res = requests.get(f"{BASE}/versions/", headers=HEADERS, timeout=10)
print(res.json()["versions"])
# 更新差分 (特定バージョン)
res = requests.get(f"{BASE}/updates/", headers=HEADERS, params={"version": "2022-06-30"}, timeout=10)
for record in res.json()["data"]:
if record["update_status"] == 2:
print(f"廃止: {record['postal_code']}")
→ SDK 一覧
OpenAPI スキーマこの見出しへのリンク
ケンオールAPIの仕様を、機械可読な形式 (OpenAPI / YAML) で配布しています。Postman・Swagger UI・各種コード生成ツールに読み込むことで、APIクライアントのひな型を自動生成できます。
📐 OpenAPI スキーマ (YAML): 2023-09-01 / 2024-01-01 / 2025-01-01
注意事項・制限事項この見出しへのリンク
郵便番号の型についてこの見出しへのリンク
郵便番号には頭がゼロのものが存在するため、必ず文字列型で扱ってください。数値型では先頭の 0 が失われます (例: "0893443" → 893443)。
town_kana フィールドについてこの見出しへのリンク
既知の問題があります。詳細はケンオール公式の既知の問題を参照してください。
大口事業所個別番号における町域要素この見出しへのリンク
town・kyoto_street・building・floor は、block_lot の住所要素を解析した結果を格納しています。私書箱情報は解析しておりません。
削除されたレコードこの見出しへのリンク
/v1/postalcode/updates/ エンドポイントのレスポンスには、削除された郵便区画レコードも含まれます。update_status: 2(廃止) で識別してください。
このAPIに関する技術FAQこの見出しへのリンク
ハイフン付きの郵便番号にも対応していますか?
対応していません。リクエスト時にハイフンを除去した7桁の数字を送信してください。フロント側で postal.replace(/-/g, '') 等で除去するのが一般的です。
郵便番号は数値型と文字列型のどちらで扱うべきですか?
必ず文字列型で扱ってください。郵便番号には頭がゼロのもの (例: 0893443) が存在するため、数値型では先頭の 0 が失われます。データベースのカラム型・型定義 (TypeScript 等) でも string を使ってください。
1つの郵便番号に複数の住所が返ることはありますか?
はい。大企業・官公庁向けの大口事業所個別番号や、町域が分かれているケースで複数件返ります。data が配列なのはこのためです。フォーム自動補完では先頭要素を選ぶか、ユーザーに選択させる UI を実装してください。
データ更新頻度は?過去バージョンを取得できますか?
毎月、日本郵便の更新タイミングに合わせて反映します。version パラメータで過去バージョンを指定可能。/v1/postalcode/versions/ で利用可能なバージョン一覧を取得できます。
認証方式は Bearer ですか?
いいえ、ケンオール独自の Token 認証です。Authorization: Token YOUR_API_KEY の形式。Bearer を使うと 401 が返ります。詳細は API共通仕様。
ローマ字フィールドはいつから利用できますか?
バージョン 2022-11-01 以降で利用可能です。それ以前のバージョンでは prefecture_roman・city_roman 等は含まれません。
大口事業所個別番号 (事業所の個別郵便番号) とは何ですか?
大企業・官公庁などに割り当てられた個別の郵便番号です。例: 東京都庁 1638001、経済産業省 1008926。corporation オブジェクトに事業所名・所在地・取扱郵便局・コード種別 (大口事業所 / 私書箱) が含まれます。
京都の通り名はどう扱われますか?
京都市特有の通り名は kyoto_street フィールドに格納されます (例: "先斗町通四条上る")。一般的な町域名は town に入ります。
政令指定都市 (横浜市・大阪市・京都市など) の行政区はどう取得できますか?
city_ward(漢字)、city_ward_kana(カナ)、city_ward_roman(ローマ字) に格納されます。郡・政令指定都市行政区を除いた市区町村名は city_without_county_and_ward に。
町域の属性フラグ (town_partial / town_chome 等) の使い所は?
住所マスタの正規化・分析用です。例: town_chome: true なら丁目があり、town_jukyohyoji: true なら住居表示実施地域。一般的なフォーム自動補完では使いません。
関連リファレンスこの見出しへのリンク
- ⚠️ 既知の問題 (このAPIに該当する制約・破壊的変更)
- API共通仕様 — Token認証 / HTTPステータス / バージョニング / レート制限
- 住所→郵便番号API — 逆引き・表記ゆれ統一
- JavaScript SDK ドキュメント
外部参考リソースこの見出しへのリンク
- 国土地理院『電子国土基本図 (地名情報) 「住居表示住所」』
- 外務省『ヘボン式ローマ字』
- 日本郵便『郵便番号データ (ローマ字)』
最終更新: 2026-07-16