LoginSignup
66
74
記事投稿キャンペーン 「プロダクトマネジメント」

不動産取引価格情報取得API(国交省)のPythonラッパーを作った

Last updated at Posted at 2023-10-20

最近、日本の不動産価格が上昇しているという記事をよく見ます。昨日はマンションが値上がりしているという記事を見かけました。

足元金利が上がり始めているので、この上昇が継続するのかもよくわからないけど、どんな感じで取引されているのか理解したいと思いました。一方で、不動産取引は取引所とかで取引されているわけでないので、どれくらい盛り上がっているかとか、近所でどんな取引があるかつかめない印象でした。

しかし、調べたところ、日本の不動産取引価格は国交省がAPIで提供していることが分かりました。

不動産取引価格情報取得API(国交省): https://www.land.mlit.go.jp/webland/api.html

「人生で最も高い買い物の不動産の価格こそ、しっかりその動向をつかんでおくべきではないか!」と思い、APIをPythonから叩きやすくしたラッパーを作り、PYPIに公開しました。

概要

j_realty_api は国交省の不動産取引価格情報取得APIを使いやすくするパッケージです。

使ってみて、都道府県コードが分からないとAPIが使えないことが分かり、都道府県コードを探す機能を付けました。都道府県コードと市町村コードが簡単に探せて、不動産の取引価格の情報が得られます。

使い方

まずはインストールしてください。

$ pip install j_realty_api

APIは日本語、英語の2種類があります。

英語

まずは英語の使い方サンプルです。(サンプルノートブック)

  1. 都道府県名の一部または全部を渡します。それにより、都道府県コードが得られると共に、city_json に市町村名とコードのjsonが渡されます。そこからどのような市町村があるかや市町村コードを探せます。
  2. 次に市町村名を渡すと、指定した市町村のコードが得られます。
  3. 上記で得た都道府県コード、市町村コードを使って、不動産取引価格情報取得APIから情報を得ます。期間は四半期ごとの指定となるため、西暦の後に第何四半期化を渡します(YYYYQ)。
  4. データを得ます。得たデータはpandasのDataFrameで返されます。
# English
from j_realty_api import j_realty_en as jrn

j = jrn.CityCode('Kyoto') #1
pref_code = j.pref_code 
city_code = j.city_code('kyoto') # 2
pt = jrn.PropTransactions(pref_code, city_code, 20223, 20224) #3
df = pt.get_data() #4

ここの例では京都府、京都市のデータを取得しました。APIからの情報は取引価格以外にも、建築年、間取り、広さ、建蔽率、リノベーションの有り無しなどの情報が含まれます。

スクリーンショット 2023-10-20 093937.png
(得られるデータの一部)

もちろん完璧にそろっているわけではありませんが、結構そろっているので、いろいろと分析できます。

日本語

日本語のAPIもあります。こっちは結構前処理をしています。もう少ししないとなぁとは思うのですが・・・。使い勝手は英語と同じような感じです。(サンプルノートブック)

from j_realty_api import j_realty_jp as jrp

j = jrp.CityCode('京都')
pref_code = j.pref_code
city_code = j.city_code('京都')
pt = jrp.PropTransactions(pref_code, city_code, 20223, 20224)
df = pt.get_data()

スクリーンショット 2023-10-20 095943.png

まとめ

というわけで、不動産の取引動向が知れる国交省のAPIのラッパーパッケージj_realty_apiを作成しました。人生で最も高い買い物の不動産、その取引動向がつかめるのは非常に参考になる思います。

あと、パッケージへの要望やアドバイス、プルリクも大歓迎です。Qiitaの「いいね」やgithubへの「スター」もいただけますと幸いです。お読みいただきありがとうございました。

66
74
1

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
66
74