初めに
ゼミの研究発表の為に、人口データが必要になったのでRESASのAPIを使って市町村ごとの人口データ取得しました。その方法をまとめてご紹介します。
目次
- APIキーの取得
- 都道府県コードの取得
- 市区町村コードの取得
- 人口構成データの取得
- 人口ピラミッドの取得
APIキーの取得
公式サイトに登録をしてAPIキーを取得します。
RESAS API公式サイト
下はRESAS-APIの仕様書のリンクです。
RESAS-API仕様書
都道府県コードの取得
都道府県コードを指定することで、都道府県を指定することができます。
その為に必要な都道府県コード一覧をAPIを使って取得します。
import requests
api_key = "取得したAPIキーを入れてね"
headers = {"X-API-KEY": api_key}
response = requests.get("https://opendata.resas-portal.go.jp/api/v1/prefectures", headers=headers)
data = response.json()
黄色でマーカーを引いた数字の部分が都道府県コードです。
都道府県コードをprefCode
市区町村コードをcityCode
といいます。
今回指定したURLは
都道府県一覧のsampleにURLがあります。
市区町村コードの取得
研究内容の関係で、熊本県の市町村コードを取得します。
熊本県の都道府県コードは43です。
# Make a GET request to the API endpoint
response = requests.get(" https://opendata.resas-portal.go.jp/api/v1/cities?prefCode=43", headers=headers)
# Process the response
data = response.json()
URLのprefCodeに43を指定しています。
熊本市のcityCodeが43100であることがわかります。
今回指定したURLは
市町村一覧のsampleにURLがあります。
人口構成データの取得
cityCodeに43100、prefCodeに43を指定することで
熊本県熊本市の人口構成データが取得できます。
response = requests.get("https://opendata.resas-portal.go.jp/api/v1/population/composition/perYear?cityCode=43100&prefCode=43", headers=headers)
data = response.json()
データの中身
総人口、年少人口、生産年齢人口、老年人口が1985~2045まで5年ごとに入っています。また、valueとrateで人数と割合がわかります。実績値は2020年まで、それ以降は推計値です。
sample URLは人口構成の所にあります。
人口ピラミッドの取得
cityCodeに43100、prefCodeに43を指定することで
熊本県熊本市の人口ピラミッドを取得できます。
response = requests.get("https://opendata.resas-portal.go.jp/api/v1/population/composition/pyramid?cityCode=43100&yearRight=1990&prefCode=43&yearLeft=2020", headers=headers)
data = response.json()
地域単位、年単位の人口ピラミッドデータを返します。
1980-2045年(5年毎)で実績値は2020年まで、それ以降は推計値。
sample URLは人口ピラミッドの所にあります。
終わりに
RESAS APIの使い方をまとめてみました。
少しでもお役に立てると嬉しく思います。