RESAS API終了後の代替手段:国土交通省DPFを使った都道府県・市区町村データ取得
はじめに
2025年3月に内閣府地方創生推進室が提供していたRESAS APIが終了しました。市区町村の名称変更や合併は近年珍しくなく、自分で管理することは手間です。そのため、信頼できる機関から最新の市区町村データを取得することが重要になります。
本記事では、RESAS API終了後の代替手段として、国土交通省データプラットフォーム(DPF)のGraphQL APIを使った都道府県・市区町村データの取得方法を解説します。
RESAS API終了と代替手段
RESAS APIで提供されていたデータと類似のAPIは、以下の公式ドキュメントで紹介されています:
https://opendata.resas-portal.go.jp/docs/api/v1/index.html
特に都道府県と市区町村の基本データについては、国土交通省DPFのGraphQL APIを利用することで効率的に取得できます。
国土交通省DPFの利用準備
会員登録とAPIキー取得
- 国土交通省データプラットフォーム(https://www.mlit-data.jp/#/Page)にアクセス
- 会員登録を行う
- APIキーを取得
API基本情報
項目 | 値 |
---|---|
エンドポイント | https://www.mlit-data.jp/api/v1/ |
利用可能なHTTPメソッド | POST |
レスポンス形式 | JSON |
API形式 | GraphQL |
詳細な利用方法については公式ドキュメント(https://www.mlit-data.jp/api_docs/usage/apiaccess.html)を参照してください。
GraphQL APIの特徴
国土交通省DPFではGraphQL形式のAPIを採用しているため、都道府県取得と市区町村取得を一つのエンドポイントで行うことができます。
利用時の注意点
API機能を使用したサービスを公開する場合は、以下のクレジット表示を記載してください。
このサービスは、国土交通データプラットフォームのAPI機能を使用していますが、最新のデータを保証するものではありません。
表示場所は利用者の目に入るところであればどこでもOKだそうです。(アプリ内、Webサイトのフッター、利用規約ページなど)
都道府県データ取得
GraphQL定義
type Query {
prefecture: [PrefectureClass]
}
type PrefectureClass {
code: Int
code_as_string: String
name: String
name_short: String
hiragana: String
romaji: String
used_from: String
used_until: String
}
主要なフィールド
-
code
: 都道府県コード(数値) -
name
: 都道府県名 -
hiragana
: 都道府県名のひらがな表記
使用例
都道府県データを取得する際は、パラメータを指定する必要がありません。APIにリクエストを送信することで、47都道府県分の指定したフィールドデータを一括取得できます。
詳細な仕様については公式リファレンス(https://www.mlit-data.jp/api_docs/reference/queries/prefecture.html)を参照してください。
市区町村データ取得
GraphQL定義
type Query {
municipalities(
muniCodes: [Any],
prefCodes: [Any]
): [MunicipalityClass]
}
type MunicipalityClass {
code: Int
code_as_string: String
prefecture_code: Int
name: String
katakana: String
romaji: String
county: String
county_katakana: String
county_romaji: String
city: String
city_katakana: String
city_romaji: String
ward: String
ward_katakana: String
ward_romaji: String
used_from: String
used_until: String
}
主要なフィールド
-
code
: 市区町村コード -
prefecture_code
: 都道府県コード -
name
: 市区町村名を合わせた名称 -
katakana
: 市区町村名のカタカナ表記(フィルタリングに便利)
検索パラメータ
-
muniCodes
: 市区町村コードでの絞り込み -
prefCodes
: 都道府県コードでの絞り込み
注意点
都道府県名がひらがな表記であるのに対し、市区町村名はカタカナ表記となっているため、データ処理時には表記の違いに注意が必要です。
活用例
prefCode
パラメータは、特定の都道府県に属する市区町村一覧を取得する際に特に有用です。都道府県と市区町村の階層構造を持つデータ一覧表の作成などに活用できます。
詳細な仕様については公式リファレンス(https://www.mlit-data.jp/api_docs/reference/queries/municipalities.html)を参照してください。
GraphQLクエリの実装例
基本的な都道府県データ取得
query {
prefecture {
code
name
hiragana
}
}
特定都道府県の市区町村データ取得
query {
municipalities(prefCodes: [13]) {
code
prefecture_code
name
katakana
}
}
まとめ
国土交通省DPFのGraphQL APIを使えば都道府県・市区町村データを取得できます。
このAPIの良い点は以下の通りです:
- 都道府県・市区町村の詳細なデータが取得可能
- GraphQL形式で必要なデータだけを効率的に取得
最初に会員登録とAPIキー取得が必要ですが、設定は一度だけです。地域データを使ったアプリを作る時は、ぜひ試してみてください。
また、国土交通省DPFはほかにも全国の道路の施設点検状況など興味深いデータが取れるので試してみてください。