0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RESAS APIが終了している!ならば国土交通省DPFだ!

Last updated at Posted at 2025-07-22

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キー取得

  1. 国土交通省データプラットフォーム(https://www.mlit-data.jp/#/Page)にアクセス
  2. 会員登録を行う
  3. 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はほかにも全国の道路の施設点検状況など興味深いデータが取れるので試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?