Skip to main content

pyreinfolib

国土交通省不動産情報ライブラリAPIサービスのPythonクライアントです。API仕様についての詳細はAPI操作説明ページをご参照ください。

Installation

pip install pyreinfolib

Supported Python Versions

Python >= 3.11

Usage

import os

from pyreinfolib import Client

client = Client(api_key=os.environ["REINFOLIB_API_KEY"])

Example

不動産価格(取引価格・成約価格)情報

from pyreinfolib.enums import PriceClassification

client.get_real_estate_prices(
    year=2024,
    quarter=1,
    price_classification=PriceClassification.REAL_ESTATE_TRANSACTION_PRICE,
    city="13109",
)

鑑定評価書情報

from pyreinfolib.enums import UseDivision

client.get_appraisal_reports(year=2024, area="13", division=UseDivision.INDUSTRIAL_LAND)

Error handling

このライブラリが送出する例外はすべて ReinfolibError を継承しています。requests を import せずに捕捉できます。

ReinfolibError
├── TransportError          レスポンスを得られなかった(接続失敗・タイムアウト)
└── APIError                レスポンスは返ったが利用できない(status_code / response_body / url を持つ)
    ├── AuthenticationError APIキーが未指定または拒否された(401)
    ├── NoResultsError      検索結果が0件(404)
    ├── RateLimitError      同一APIキーからのリクエストが多すぎる(429)
    └── InvalidResponseError レスポンスがJSONではなかった

検索結果が0件のとき

タイル座標を取らない3つのAPI(get_real_estate_prices、get_municipalities、get_appraisal_reports)は、条件に合致するデータが無い場合に空の結果ではなく HTTP 404 を返します(API操作説明の3章 Q.8)。このライブラリではこれを NoResultsError として送出します。

from pyreinfolib import Client, NoResultsError

client = Client(api_key=...)
try:
    prices = client.get_real_estate_prices(year=2024, city="13109")
except NoResultsError:
    prices = {"data": []}

タイル座標を取るAPIは0件でも200と空のフィーチャ一覧を返すため、NoResultsError は発生しません。

失敗の詳細を見る

APIError とそのサブクラスは、APIが返した本文を保持しています。

from pyreinfolib import APIError

try:
    client.get_municipalities(area="99")
except APIError as e:
    print(e.status_code, e.response_body, e.url)

Typing

型情報を同梱しています(PEP 561)。

price_classification、division、land_type_code、use_category_code には pyreinfolib.enums の enum メンバーを渡してください。StrEnum なので実行時は文字列でも動きますが、型チェックでは拒否されます。単一のコードはリストに包む必要はありません。

price_classification は API 上どのエンドポイントでも priceClassification という同じ名前ですが、コード体系は2つに分かれています。

enum 対象 コード
PriceClassification 不動産価格(XIT001、XPT001) 01 不動産取引価格情報 / 02 成約価格情報
LandPriceClassification 地価公示・地価調査(XPT002) 0 地価公示 / 1 都道府県地価調査

別の型にしてあるので、取り違えは型チェックで検出されます。誤ったコードを送った場合、API はエラーではなく絞り込まれた結果や空の結果を返すため、実行時には気づきにくい種類の間違いです。

Author

@matsudan (daaamatsun@gmail.com)

Metadata

Release files for pyreinfolib 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyreinfolib 0.4.0
File Size Uploaded
pyreinfolib-0.4.0.tar.gz 40.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyreinfolib 0.4.0
File Interpreter ABI Platform
pyreinfolib-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 51.6 kB

Release files / pyreinfolib-0.4.0.tar.gz

Download URL pyreinfolib-0.4.0.tar.gz
Size 40.8 kB
Tags Source
SHA-256 checksum
How to use checksums
04e609f52cd741a0064f68b867938e4fa4aaa9212ffe2db87865d3344572df0e
BLAKE2b-256 checksum
How to use checksums
174c61b61142a045bea34737a7c7838789def34223578970d804f98fd914f669
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release files / pyreinfolib-0.4.0-py3-none-any.whl

Download URL pyreinfolib-0.4.0-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a0249283dca56a812fb0f0d8f95c238d2387cb6f150bc99aadd4fe4214d5511
BLAKE2b-256 checksum
How to use checksums
0dccde5c8c50beadc30e40e71f9c399e44cebb56f30a04a4ebeeba4027489a60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page