市区町村API リファレンス
要約: 都道府県コード (JIS X 0401) から、配下の全市区町村リストを取得する REST API。1エンドポイント (GET /v1/cities/{都道府県コード})。郵便番号→住所APIの「全市区町村マスタが欲しい」要望に応えるシンプルAPI。都道府県→市区町村のカスケードセレクトに最適。製品概要は /api/postal-code 内で言及。
認証・HTTPステータス・バージョニングは API共通仕様 を参照。郵便番号→住所APIで地名取得もできますが、「都道府県を選んだら配下市区町村全件」 が必要なフォーム実装ではこちらが効率的です。
エンドポイント一覧この見出しへのリンク
| メソッド | パス | 用途 |
|---|---|---|
| GET | /v1/cities/{都道府県コード} | 指定都道府県の全市区町村リスト取得 |
共通仕様この見出しへのリンク
| 項目 | 内容 |
|---|---|
| 認証 | Authorization: Token YOUR_API_KEY |
| Content-Type | application/json |
| プラン | 本APIはスタンダードプラン以上でご利用いただけます (詳細は 料金プラン) |
GET /v1/cities/{都道府県コード}この見出しへのリンク
リソースURLこの見出しへのリンク
https://api.kenall.jp/v1/cities/{都道府県コード}
パスパラメータこの見出しへのリンク
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
{都道府県コード} | string | 必須 | JIS X 0401 で定義された2桁の都道府県コード。必ず文字列型で扱ってください (先頭ゼロが落ちると不正値になります)。47都道府県コード一覧は下の表を参照。 | "01"(北海道) |
curl サンプルこの見出しへのリンク
curl -H "Authorization: Token YOUR_API_KEY" \
https://api.kenall.jp/v1/cities/13
レスポンス例 (東京都)この見出しへのリンク
⇩ 利用中のAPIバージョンを選択してください。市区町村APIでは郡・行政区分解フィールドは 2023-09-01 から追加 (postal-code API とは進化タイミングが異なります)。
{
"version": "2021-02-26",
"data": [
{
"jisx0402": "13308",
"prefecture_code": "13",
"city_code": "308",
"prefecture_kana": "トウキョウト",
"city_kana": "ニシタマグンオクタママチ",
"prefecture": "東京都",
"city": "西多摩郡奥多摩町",
"prefecture_roman": "Tokyo",
"city_roman": "Okutama, Nishitama",
"county": "西多摩郡",
"county_kana": "ニシタマグン",
"county_roman": "Nishitama",
"city_without_county_and_ward": "奥多摩町",
"city_without_county_and_ward_kana": "オクタママチ",
"city_without_county_and_ward_roman": "Okutama"
}
]
}レスポンス・トップレベルフィールドこの見出しへのリンク
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
version | string | データのバージョン番号。YYYY-MM-DD 形式 | "2021-02-26" |
data | array | 市区町村レコードの配列 | — |
data 配列内・市区町村レコードのフィールド仕様この見出しへのリンク
⇩ APIバージョンで返却されるフィールドが異なります。本番kenall.jpと同じ進化タイミング (15 / 9 / 7 フィールド)。
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
jisx0402 | string | 全国地方公共団体コード (JIS X 0401、X 0402) | "13308" |
prefecture_code | string | 都道府県コード (JIS X 0401) | "13" |
city_code | string | 市区町村コード (JIS X 0402) | "308" |
prefecture | string | 都道府県名 | "東京都" |
prefecture_kana | string | 都道府県名 (全角カナ) | "トウキョウト" |
prefecture_roman | string | 都道府県名 (ローマ字) | "Tokyo" |
city | string | 市区町村名 | "西多摩郡奥多摩町" |
city_kana | string | 市区町村名 (全角カナ) | "ニシタマグンオクタママチ" |
city_roman | string | 市区町村名 (ローマ字) | "Okutama, Nishitama" |
county | string | 郡名 | "西多摩郡" |
county_kana | string | 郡名 (全角カナ) | "ニシタマグン" |
county_roman | string | 郡名 (ローマ字) | "Nishitama" |
city_without_county_and_ward | string | 地方自治体の市区町村のうち、郡及び政令指定都市の行政区を除いたもの | "奥多摩町" |
city_without_county_and_ward_kana | string | 地方自治体の市区町村のうち、郡及び政令指定都市の行政区を除いたもの (全角カナ) | "オクタママチ" |
city_without_county_and_ward_roman | string | 地方自治体の市区町村のうち、郡及び政令指定都市の行政区を除いたもの (ローマ字) | "Okutama" |
JIS X 0401 都道府県コード一覧 (47件)この見出しへのリンク
パスパラメータ {都道府県コード} に指定する2桁コードです。文字列型で先頭ゼロを保ったまま送信してください (例: "01")。
| コード | 都道府県 | コード | 都道府県 | コード | 都道府県 | コード | 都道府県 |
|---|---|---|---|---|---|---|---|
01 | 北海道 | 13 | 東京都 | 25 | 滋賀県 | 37 | 香川県 |
02 | 青森県 | 14 | 神奈川県 | 26 | 京都府 | 38 | 愛媛県 |
03 | 岩手県 | 15 | 新潟県 | 27 | 大阪府 | 39 | 高知県 |
04 | 宮城県 | 16 | 富山県 | 28 | 兵庫県 | 40 | 福岡県 |
05 | 秋田県 | 17 | 石川県 | 29 | 奈良県 | 41 | 佐賀県 |
06 | 山形県 | 18 | 福井県 | 30 | 和歌山県 | 42 | 長崎県 |
07 | 福島県 | 19 | 山梨県 | 31 | 鳥取県 | 43 | 熊本県 |
08 | 茨城県 | 20 | 長野県 | 32 | 島根県 | 44 | 大分県 |
09 | 栃木県 | 21 | 岐阜県 | 33 | 岡山県 | 45 | 宮崎県 |
10 | 群馬県 | 22 | 静岡県 | 34 | 広島県 | 46 | 鹿児島県 |
11 | 埼玉県 | 23 | 愛知県 | 35 | 山口県 | 47 | 沖縄県 |
12 | 千葉県 | 24 | 三重県 | 36 | 徳島県 |
HTTP ステータス・エラーこの見出しへのリンク
| HTTPステータス | 意味 | 典型的な原因 |
|---|---|---|
| 200 | OK | 正常にデータを取得 |
| 400 | Bad Request | 都道府県コードの形式不正 (2桁数字でない/範囲外) |
| 401 | Unauthorized | APIキー未設定/無効 |
| 404 | Not Found | 該当する都道府県コードに紐づくデータなし |
| 429 | Too Many Requests | リクエスト量の制限超過 |
共通エラー仕様は API共通仕様 — HTTPステータスコード を参照してください。
SDK で呼び出すこの見出しへのリンク
JavaScript SDKこの見出しへのリンク
import { KENALL } from '@ken-all/kenall';
const api = new KENALL('YOUR_API_KEY');
// 都道府県 → 市区町村 カスケード
const tokyoCities = await api.getCities('13');
console.log(tokyoCities.data.map(c => c.city)); // => ["千代田区", "中央区", ...]
Python (都道府県セレクト連動)この見出しへのリンク
import os, requests
HEADERS = {"Authorization": f"Token {os.environ['KENALL_API_KEY']}"}
def get_cities(pref_code):
"""都道府県コード ('01'〜'47') を渡すと、配下の市区町村リストを返す"""
res = requests.get(f"https://api.kenall.jp/v1/cities/{pref_code}", headers=HEADERS, timeout=10)
res.raise_for_status()
return res.json()["data"]
# 例: 東京都の市区町村一覧
for city in get_cities("13"):
print(city["jisx0402"], city["city"])
注意事項・制限事項この見出しへのリンク
都道府県コードの型についてこの見出しへのリンク
JIS X 0401 の都道府県コードには先頭ゼロのもの ("01"〜"09") が含まれます。必ず文字列型で扱ってください。数値型では先頭ゼロが失われ、不正なリクエストとなります。
「市区町村」カラムの郡含みについてこの見出しへのリンク
city フィールドは「西多摩郡奥多摩町」のように郡名を含む形式です。純粋な市区町村名のみが必要な場合は city_without_county_and_ward を使ってください。
政令指定都市の行政区この見出しへのリンク
本APIは政令指定都市の行政区を返しません (例: 横浜市の中区・西区など)。行政区を含む完全な住所が必要な場合は 郵便番号→住所API を利用してください。
このAPIに関する技術FAQこの見出しへのリンク
都道府県→市区町村のカスケードセレクトに使うのが基本ですか?
はい。フォームで「都道府県プルダウン → 市区町村プルダウン」を実装する場合の定番です。都道府県プルダウンで選ばれた値 (例: "13") を本APIに渡すと、配下の市区町村全件が返ります。
郵便番号→住所API と何が違いますか?
用途が違います。郵便番号→住所APIは「1つの郵便番号からピンポイント住所を引く」、市区町村APIは「都道府県配下の全市区町村マスタを取得」用です。マスタ系画面・自治体一覧UIなどに使います。
市区町村コード (city_code) は何桁ですか?
JIS X 0402 で3桁です。都道府県コード (2桁) と組み合わせて jisx0402(5桁) になります。例: 東京都千代田区 = "13" + "101" = "13101"。
政令指定都市 (横浜市・大阪市など) の行政区は返ってきますか?
いいえ。本APIは行政区を分離して返しません。横浜市は「横浜市」として1件返ります。中区・西区などの行政区が必要な場合は 郵便番号→住所API を利用してください。
過去バージョンを指定できますか?
本APIは URL パラメータでのバージョン指定をサポートしていません。常に最新の市区町村マスタを返します。バージョン履歴・廃止データが必要な場合はサポートまで。
関連リファレンスこの見出しへのリンク
- ⚠️ 既知の問題 (このAPIに該当する制約・破壊的変更)
- API共通仕様 — Token認証 / HTTPステータス / バージョニング
- 郵便番号→住所API — 郵便番号からピンポイント住所
- 郵便番号データダウンロードAPI — マスタ一括取得
- 住所→郵便番号API — 表記ゆれ住所の正規化
- OpenAPI スキーマ (YAML): 2023-09-01 / 2024-01-01 / 2025-01-01
外部参考リソースこの見出しへのリンク
最終更新: 2026-07-15