学校情報検索API
本APIは、プレミアムプランご購読のお客様のみが利用できます。
GET /v1/school/?q=...&offset=...&limit=...&facet_area=...
与えられた検索クエリを元に、該当する学校情報リソースを取得します。
リソースURL
https://api.kenall.jp/v1/school/
パラメーター
名前 | 型 | 必須かどうか | 説明 | 例 |
---|---|---|---|---|
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
といったキーワード文字列を挟むと、「かつ」「もしくは」といった条件で検索が可能です。キーワード文字列がない場合は「かつ」となります。- (例1)
東京大学 AND type:F1
→ 「東京大学」「学校種が大学」の両方の条件を含むレコードを検索する。 - (例2)
postal_code:1130033 OR jisx0402:13105
→ 「郵便番号が1130033
」または「全国地方公共団体コードが13105
」 (またはその両方) を含むレコードを検索する。 - (例3)
東京大学 type:F1
→ 「東京大学」「学校種が大学」の両方の条件を含むレコードを検索する。
- (例1)
特定の項目のみを対象に検索を行いたいときは、項目名に続けて
:
(半角コロン) を記述し、その後にキーワード文字列を記載します。- (例) 学校名に「東京大学」を含む学校情報を取得する →
name:東京大学
- (例) 学校名に「東京大学」を含む学校情報を取得する →
キーワード文字列は正規化されます。詳細は検索の正規化を参照してください。
- 全角・半角どちらでも入力可能
- (例)
サイバー大学
(半角カナ) →サイバー大学
を検索する。
- (例)
- かな小文字・大文字どちらでも入力可能
- (例)
キヨウトフ
→キョウトフ
、キヨウトフ
のどちらかを含むレコードを検索する。
- (例)
- 歴史的仮名遣い・現代仮名遣いどちらでも入力可能
- (例)
ゐろはにほへと
→ゐろはにほへと
、いろはにほへと
のどちらかを含むレコードを検索する。
- (例)
- 旧字体・異体字・新字体いずれでも入力可能。詳細は旧字体・非標準文字の正規化を参照してください。
- (例)
国学院大学
→國學院大學
を検索する。
- (例)
- 全角・半角どちらでも入力可能
特定のファセットの階層以下の情報を取得したい場合は下記のクエリを使用します。詳細はファセットを参照してください。
- (例1)
_area:/東京都
- (例1)
検索対象フィールド
検索クエリで指定できるフィールドは以下の通りです。
検索項目 | 型 | 説明 | 例 |
---|---|---|---|
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" |
_area | string | 地域ファセットの階層を指定する。詳細はファセットを参照 | "/東京都" |
_jurisdiction_prefecture | string | 都道府県ファセットの階層を指定する。 addresses 内の prefecture とは異なり、学校コードデータに記載された都道府県番号。学校所在地の都道府県と一致しない場合がある | "/東京都" |
_type | string | 学校種ファセットの階層を指定する。詳細はファセットを参照 | "/大学" |
_establishment_type | string | 設置区分ファセットの階層を指定する。詳細はファセットを参照 | "/公立" |
_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
): 本分校を表すファセット。 (例) /本校
入力できる項目は以下の通りです。
- 地域ファセット (
facet_area
)/{都道府県}
/{都道府県}/{市区町村}
- 都道府県ファセット (
facet_prefecture
)/
/{都道府県}
- 学校種ファセット (
facet_type
)/
/幼稚園
/幼保連携型認定こども園
/小学校
/中学校
/義務教育学校
/高等学校
/中等教育学校
/特別支援学校
/大学
/短期大学
/高等専門学校
/専修学校
/各種学校
- 設置区分ファセット (
facet_establishment_type
)/
/国立
/公立
/私立
- 本分校ファセット (
facet_branch
)/
/本校
/分校
/廃校
クエリの実行例
東京大学
を検索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
レスポンス
{
"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 | データのバージョン番号。YYYY-MM-DD形式のデータ作成日付となっている。 | "2024-08-28" |
data | array | 前述の学校情報レコードの配列 | |
query | string | q パラメーターに与えられたクエリ文字列 | "name:東京大学" |
count | number | クエリに合致したレコードの総数 (dataプロパティに返却されるレコードの数ではなく、合致したすべてのレコードの件数) | 1 |
offset | number | offset パラメーターに与えられたオフセット | 0 |
limit | number | limit パラメーターに与えられた最大取得件数 | 100 |
facets | object またはnull | ファセットパラメーターが与えられた場合のみ出力される。パラメーターで示されたファセット階層配下のファセットとそのファセットに含まれるレコードの数のペアの配列。 | 後述 |
data内のそれぞれの学校情報レコードは学校コード検索APIのレスポンスと同一です。
学校コード検索APIと異なり、レスポンスが配列になっていることにご注意ください。
facets内のデータは以下のような構成になっています。
名前 | 型 | 説明 | 例 |
---|---|---|---|
area | array | 地域ファセットの結果 | ["/東京都": 1] |
type | array | 学校種ファセットの結果 | ["/大学": 1] |
establishment_type | array | 設置区分ファセットの結果 | ["/公立": 1] |
branch | array | 本分校ファセットの結果 | ["/本校": 1] |