学校コードAPI リファレンス
要約: 文部科学省が指定する13桁の学校コードから、学校名・所在地・学校種を取得するREST API。学校情報検索 (条件指定での絞り込み) と学校コード検索 (コード指定で1件取得) の2系統を提供。本APIはプレミアムプラン以上でご利用いただけます (詳細は 料金プラン)。
このページは技術リファレンスです。ユースケース・料金・導入事例はこちら。
エンドポイント一覧この見出しへのリンク
| メソッド | パス | 用途 |
|---|---|---|
| GET | /v1/school/{学校コード} | 学校コード検索 |
| GET | /v1/school/?q=... | 学校情報検索 |
共通仕様この見出しへのリンク
| 項目 | 内容 |
|---|---|
| 認証 | Authorization: Token YOUR_API_KEY |
| プラン | プレミアムプラン以上 (詳細は 料金プラン) |
| Content-Type | application/json |
GET /v1/school/{学校コード}(学校コード検索)この見出しへのリンク
パスパラメータこの見出しへのリンク
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
{学校コード} | string | 必須 | 文部科学省によって全国の学校ごとに設定された、13桁の学校コード | "F113110102700" |
curl サンプルこの見出しへのリンク
curl -H "Authorization: Token YOUR_API_KEY" \
https://api.kenall.jp/v1/school/F113110102700
レスポンス例この見出しへのリンク
{
"version": "2024-08-28",
"data": {
"code": "F113110102700",
"type": "F1",
"jurisdiction_prefecture_code": "13",
"establishment_type": 1,
"branch": 1,
"name": "東京大学",
"address_raw": "東京都文京区本郷7-3-1",
"addresses": [
{
"postal_code": "1130033",
"jisx0402": "13105",
"prefecture": "東京都",
"prefecture_kana": "トウキョウト",
"prefecture_roman": "Tokyo",
"city": "文京区",
"city_kana": "ブンキョウク",
"city_roman": "Bunkyo-ku",
"street_number": "本郷7-3-1",
"town": "本郷",
"kyoto_street": null,
"block_lot_num": "7-3-1",
"building": null,
"floor_room": null
}
],
"established_date": "2021-01-20",
"abolished_date": null,
"school_survey_number": "0172",
"new_code": []
}
}
GET /v1/school/?q=… (学校情報検索)この見出しへのリンク
与えられた検索クエリを元に、該当する学校情報リソースを取得します。学校コード検索と異なり、レスポンスの data が配列になる点にご注意ください。
curl サンプルこの見出しへのリンク
# 学校名で検索
curl -H "Authorization: Token YOUR_API_KEY" \
"https://api.kenall.jp/v1/school/?q=name:東京大学"
# 学校名 × 地域ファセット
curl -H "Authorization: Token YOUR_API_KEY" \
"https://api.kenall.jp/v1/school/?q=name:東京大学&facet_area=/東京都"
レスポンス例 (検索)この見出しへのリンク
{
"version": "2024-08-28",
"data": [
{ ... },
{ ... },
{ ... }
],
"query": "name:...",
"count": 3,
"offset": 0,
"limit": 100,
"facets": {
"area": [
["/東京都", 2]
],
"type": [
["/大学", 1],
["/中等教育学校", 1]
],
"establishment_type": [
["/公立", 2]
],
"branch": [
["/本校", 2]
]
}
}
レスポンス・トップレベル (検索)この見出しへのリンク
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
version | string | データのバージョン番号 | "2024-08-28" |
data | array | 学校情報レコードの配列 (フィールド構成は上記単一取得と同じ) | — |
query | string | q パラメータに与えられたクエリ文字列 | "name:東京大学" |
count | number | クエリに合致したレコードの総数 (dataの件数ではない) | 1 |
offset | number | リクエストで指定された offset | 0 |
limit | number | リクエストで指定された limit | 100 |
facets | object / null | ファセットパラメータが与えられた場合のみ出力。area / type / establishment_type / branch の 4ファセット | 下表 |
facets オブジェクトの内訳は以下の通りです。
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
area | array | 地域ファセットの結果 | [["/東京都", 1]] |
type | array | 学校種ファセットの結果 | [["/大学", 1]] |
establishment_type | array | 設置区分ファセットの結果 | [["/公立", 1]] |
branch | array | 本分校ファセットの結果 | [["/本校", 1]] |
クエリパラメータこの見出しへのリンク
| 名前 | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
q | string | 必須 | 検索クエリ。仕様は下記「検索クエリの仕様」を参照 | "name:東京大学" |
offset | number | 省略可 | 結果を取得するオフセット値。省略時は 0 | 0 |
limit | number | 省略可 | 最大取得件数を指定する。1以上100以下の値を指定できる | 50 |
facet_area | string | 省略可 | 地域ファセットの階層を指定する | "/東京都/文京区" |
facet_prefecture | string | 省略可 | 都道府県ファセットの階層を指定する (jurisdiction_prefecture_code に基づく) | "/東京都" |
facet_type | string | 省略可 | 学校種ファセットの階層を指定する | "/大学" |
facet_establishment_type | string | 省略可 | 設置区分ファセットの階層を指定する | "/公立" |
facet_branch | string | 省略可 | 本分校ファセットの階層を指定する | "/本校" |
検索クエリの仕様この見出しへのリンク
- 部分一致検索のみ行います。
- 検索ワードは一つ以上の半角スペース・タブ・改行文字で区切ります。
- 検索ワードの間に
AND/ORを挟むと、「かつ」「もしくは」といった条件で検索できます。キーワードがない場合は OR として扱われ BM25 スコアで順位付けされます (短いテキストが対象のため全ワード一致が実質 AND と同等の結果になります)。 - 特定の項目のみを対象に検索したい場合は、
項目名:キーワードの形式を使います (例: 学校名に「東京大学」を含む →name:東京大学)。 - 特定のファセット階層以下を対象にしたい場合は
_facet_area:/東京都のように指定します。
| 例 | 意味 |
|---|---|
東京大学 AND type:F1 | 「東京大学」かつ「学校種が大学」の両方を含むレコード |
postal_code:1130033 OR jisx0402:13105 | いずれか (または両方) を含むレコード |
東京大学 type:F1 | OR + BM25 (短テキスト対象のため両方に合致するレコードが実質 AND 相当で上位) |
クエリの実行例この見出しへのリンク
東京大学を検索:https://api.kenall.jp/v1/school/?q=東京大学- 学校名に東京大学を含み、かつ都道府県が東京都の学校を1件だけ検索:
https://api.kenall.jp/v1/school/?q=name:東京大学 AND prefecture_code:13&limit=1 - 学校種が大学で、かつ学校名に東京大学を含む学校を検索:
https://api.kenall.jp/v1/school/?q=name:東京大学 AND type:F1
検索対象フィールドこの見出しへのリンク
検索クエリ (q) で項目指定できるフィールドは以下の通りです。
| 検索項目 | 型 | 説明 | 例 |
|---|---|---|---|
name | string | 学校名。設置者名は入れないことを原則とするが、学校コード上の学校種・都道府県番号・設置区分が同一で同じ名称の学校が同一都道府県内に存在する場合 (例: 県立と市立で同じ名称の高校) には、区別のために設置者名を含めて記載する | "東京大学" |
postal_code | string | 学校所在地の文字情報を基に設定した郵便番号。全国町・字ファイルを基に設定しているため、外字や誤字脱字がある場合には正確な郵便番号が設定されないことがある。個別郵便番号 (ビル・大口事業所) には対応していない | "1130033" |
jisx0402 | string | 学校所在地の文字情報を基に設定した全国地方公共団体コード。外字や誤字脱字がある場合には正確なコードが設定されないことがある | "13105" |
prefecture_code | string | 都道府県番号。学校コードの都道府県番号にならう。JIS X 0401 と同一。jurisdiction_prefecture_code に基づく | "13" |
address_raw | string | 学校所在地。学校情報に記載されている通り | "東京都文京区本郷7-3-1" |
type | string | 学校種。A1:幼稚園 / A2:幼保連携型認定こども園 / B1:小学校 / C1:中学校 / C2:義務教育学校 / D1:高等学校 / D2:中等教育学校 / E1:特別支援学校 / F1:大学 / F2:短期大学 / G1:高等専門学校 / H1:専修学校 / H2:各種学校 | "F1" |
_facet_area | string | 地域ファセットの階層を指定する | "/東京都" |
_facet_jurisdiction_prefecture | string | 都道府県ファセットの階層を指定する。addresses 内の prefecture とは異なり、学校コードデータに記載された都道府県番号。学校所在地の都道府県と一致しない場合がある | "/東京都" |
_facet_type | string | 学校種ファセットの階層を指定する | "/大学" |
_facet_establishment_type | string | 設置区分ファセットの階層を指定する | "/公立" |
_facet_branch | string | 本分校ファセットの階層を指定する | "/本校" |
検索クエリの正規化この見出しへのリンク
学校情報APIは検索キーワードを正規化します。これにより、入力文字列のフォーマットを整える必要なく必要なレコードを取得できます。正規化されるフィールドは name / postal_code / jisx0402 / prefecture_code / address_raw / type です。
正規化ルールこの見出しへのリンク
- 全角・半角の正規化: 検索時には全角・半角を区別しません (例: 半角カナ
サイバー大学→サイバー大学を検索)。 - かな小文字・大文字の正規化: どちらでも入力可能です (例:
キヨウトフ→キョウトフ・キヨウトフのどちらかを含むレコードを検索)。 - 歴史的仮名遣いの正規化:
ゐ・ゑはそれぞれい・えと区別しません (例:ゐろはにほへと→ゐろはにほへと・いろはにほへとのどちらかを検索)。 - 旧字体・非標準文字の正規化: 旧字体や非標準文字は新字体と区別しません。詳細は下記を参照してください。
旧字体・非標準文字の正規化この見出しへのリンク
学校コードAPIは、旧字体や非標準文字による検索に対応しています。例えば非JIS漢字である 學 で検索した場合、常用漢字の 学 を検索します。
- (例)
大學→大学あるいは大學を含むレコードを検索する。 - (例)
国学院大学→國學院大學を検索する。
一部未対応の漢字もあります。制限事項 も参照してください。
ファセットこの見出しへのリンク
ファセットのパス名は必ず / で始まり、各階層は / で区切られます。ルート階層は / で表されます。学校コードのファセットは以下の4種類です。
- 地域ファセット (
facet_area): 都道府県や市区町村を表す。/{都道府県}または/{都道府県}/{市区町村}(例:/東京都/千代田区) - 都道府県ファセット (
facet_prefecture):jurisdiction_prefecture_codeに基づく都道府県。/または/{都道府県}(例:/東京都) - 学校種ファセット (
facet_type):///幼稚園//幼保連携型認定こども園//小学校//中学校//義務教育学校//高等学校//中等教育学校//特別支援学校//大学//短期大学//高等専門学校//専修学校//各種学校 - 設置区分ファセット (
facet_establishment_type):///国立//公立//私立 - 本分校ファセット (
facet_branch):///本校//分校//廃止
レスポンスフィールドこの見出しへのリンク
トップレベルこの見出しへのリンク
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
version | string | データのバージョン番号。YYYY-MM-DD 形式のデータ作成日付 | "2024-08-28" |
data | object | 学校情報レコード (単一取得の場合) または array(検索の場合) | 後述 |
data オブジェクトのフィールド仕様 (12フィールド)この見出しへのリンク
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
code | string | 学校コード。文部科学省によって全国の学校ごとに設定された、当該学校に固有の13桁の学校コード | "F113110102700" |
type | string | 学校種。A1: 幼稚園 / A2: 幼保連携型認定こども園 / B1: 小学校 / C1: 中学校 / C2: 義務教育学校 / D1: 高等学校 / D2: 中等教育学校 / E1: 特別支援学校 / F1: 大学 / F2: 短期大学 / G1: 高等専門学校 / H1: 専修学校 / H2: 各種学校 | "F1" |
jurisdiction_prefecture_code | string | 都道府県番号。学校コードの都道府県番号にならう。JIS X 0401 と同一。addresses 内の prefecture とは異なり、学校コードデータに記載された都道府県番号。学校所在地の都道府県と一致しない場合がある | "01" |
establishment_type | number | 設置区分。1: 国立 / 2: 公立 / 3: 私立 | 1 |
branch | number | 本分校。1: 本校 / 2: 分校 / 9: 廃止 | 1 |
name | string | 学校名。設置者名は入れないことを原則とするが、同じ名称の学校が同一都道府県内に存在する場合 (例: 県立と市立で同じ名称の高校) には、区別を容易にするために設置者名を含めて記載 | "東京大学" |
address_raw | string | 学校所在地。学校情報に記載されている通り | "東京都文京区本郷7-3-1" |
addresses | array | 学校所在地を表すサブレコード。ケンオールで正規化したもの (複数住所対応の配列)。下表 | [...] |
established_date | string | 属性情報設定年月日。YYYY-MM-DD | "2021-01-20" |
abolished_date | string / null | 属性情報廃止年月日。YYYY-MM-DD | "2021-01-20" |
school_survey_number | string / null | 旧学校調査番号。学校コードへの移行前に当該学校に設定されていた都道府県番号-学校調査番号を記載。但し、大学・短期大学・高等専門学校については、都道府県番号を含めず学校調査番号のみを記載 | "0172" |
new_code | array | 移行後の学校コード。現行の学校コードを廃止した上で別の学校コードに移行する場合に本データを設定 | ["A201323100055"] |
addresses 配列内のサブレコード (14フィールド)この見出しへのリンク
学校所在地をケンオールで正規化したサブレコードです。street_number (町域以下の住所) が town / kyoto_street / block_lot_num / building / floor_room に分解されます。存在しない要素は空文字あるいは null になります。
| 名前 | 型 | 説明 | 例 |
|---|---|---|---|
postal_code | string / null | 学校所在地の文字情報を基に設定した郵便番号。外字や誤字脱字がある場合には正確な郵便番号が設定されないことがある。個別郵便番号 (ビル・大口事業所) には対応していない | "1130033" |
jisx0402 | string / null | 学校所在地の全国地方公共団体コード | "13105" |
prefecture | string / null | 学校所在地の都道府県名 | "東京都" |
prefecture_kana | string / null | 学校所在地の都道府県名 (読み仮名) | "トウキョウト" |
prefecture_roman | string / null | 学校所在地の都道府県名 (ローマ字表記) | "Tokyo" |
city | string / null | 学校所在地の市区町村および行政区 | "文京区" |
city_kana | string / null | 学校所在地の市区町村および行政区 (読み仮名) | "ブンキョウク" |
city_roman | string / null | 学校所在地の市区町村および行政区 (ローマ字表記) | "Bunkyo-ku" |
street_number | string | 学校所在地の町域以下の住所 (丁目番地等) | "本郷7-3-1" |
town | string / null | street_number を構成する、学校所在地住所の町名 | "本郷" |
kyoto_street | string / null | street_number を構成する、学校所在地住所に含まれる京都の通り名 | "先斗町通四条上る" |
block_lot_num | string / null | street_number を構成する、学校所在地住所の号番地 | "7-3-1" |
building | string / null | street_number を構成する、学校所在地住所のビル名 | null |
floor_room | string / null | street_number を構成する、学校所在地住所の階層及び部屋番号 | null |
HTTPステータス・エラーこの見出しへのリンク
| HTTPステータス | 意味 |
|---|---|
| 200 | OK |
| 401 | Unauthorized (APIキー未設定/無効) |
| 403 | Forbidden (契約中のプランに含まれないAPIです) |
| 404 | Not Found (該当する学校コードなし) |
| 429 | Too Many Requests (リクエスト量の制限超過) |
SDK で呼び出すこの見出しへのリンク
JavaScript SDKこの見出しへのリンク
import { KENALL } from '@ken-all/kenall';
const api = new KENALL('YOUR_API_KEY');
const result = await api.getSchool('F113110102700');
console.log(result.data.name); // => 東京大学
console.log(result.data.addresses[0].city); // => 文京区
条件検索 (searchSchool) も利用できます:
const results = await api.searchSchool({ q: '東京大学' });
console.log(results.data.length); // => ヒット件数
Pythonこの見出しへのリンク
import os, requests
res = requests.get(
"https://api.kenall.jp/v1/school/F113110102700",
headers={"Authorization": f"Token {os.environ['KENALL_API_KEY']}"},
timeout=10,
)
data = res.json()["data"]
print(data["name"], data["addresses"][0]["city"])
このAPIに関する技術FAQこの見出しへのリンク
学校コードは数値型でいいですか?
必ず文字列型で扱ってください。学校コードは英字を含む13桁の文字列です (例: "B113310000027")。
廃校になった学校も取得できますか?
はい。廃校した学校もデータに含まれ、abolished_date(非null = 廃止) や branch: 9(廃止) で識別できます。後継校がある場合は new_code 配列に移行後の学校コードが入ります。
条件検索の q は部分一致ですか?
はい、学校名・所在地に対する部分一致検索です。完全一致したい場合は学校コード (code) で直接取得してください。
旧字体で入力しても検索できますか?
はい。検索キーワードは正規化され、旧字体・非標準文字は新字体と区別されません。例えば 國學院大學 は 国学院大学 で検索できます。全角・半角、かな小文字・大文字、歴史的仮名遣いも区別しません。一部未対応の漢字があります。
OpenAPI スキーマこの見出しへのリンク
OpenAPI スキーマ (YAML): 2024-01-01 / 2025-01-01
関連リファレンスこの見出しへのリンク
- ⚠️ 既知の問題 (このAPIに該当する制約・破壊的変更)
- API共通仕様
- 郵便番号→住所API — 学校所在地の正規化に併用
最終更新: 2026-07-15