日本銀行 時系列統計データ検索サイト API Python クライアント
Project description
bojstat
日本銀行 時系列統計データ検索サイト API の非公式 Python クライアントです。
2026年2月18日に公開された 日銀統計API を使い、金利・為替・マネーストック・短観など200,000以上の時系列統計データをPythonから簡単に取得できます。
注意: このパッケージは日本銀行が公式に提供・保証するものではありません。
インストール
pip install bojstat
# pandas 対応
pip install bojstat[pandas]
# polars 対応
pip install bojstat[polars]
# 両方
pip install bojstat[all]
# GitHubから(開発版)
pip install "git+https://github.com/kigasudayooo/bojstat.git#subdirectory=python"
クイックスタート
from bojstat import BOJStatClient
client = BOJStatClient()
# 利用可能なDB一覧を確認
print(client.list_databases())
# 外国為替市況(FM08)のメタデータを取得
meta = client.get_metadata(db="FM08")
for m in meta[:3]:
print(m["SERIES_CODE"], m.get("NAME_OF_TIME_SERIES_J"))
# 無担保コールO/N物レートを取得
data = client.get_data(
db="FM01",
codes=["STRDCLUCON", "STRDCLUCONH", "STRDCLUCONL"],
start="202501",
)
# pandas DataFrameに変換
df = client.to_dataframe(data)
print(df.head())
API リファレンス
BOJStatClient(lang="jp", timeout=30, request_interval=1.0)
クライアントを初期化します。
| パラメータ | 型 | デフォルト | 説明 |
|---|---|---|---|
lang |
str | "jp" |
出力言語("jp" or "en") |
timeout |
int | 30 |
リクエストタイムアウト(秒) |
request_interval |
float | 1.0 |
連続リクエスト間の待機時間(秒)。高頻度アクセスはサーバーに接続遮断される可能性があります |
get_data(db, codes, start=None, end=None, start_position=None)
コード API。系列コードを指定してデータを取得します(最大250件/リクエスト)。
data = client.get_data(
db="CO",
codes=["TK99F1000601GCQ01000", "TK99F2000601GCQ01000"],
start="202401", # 2024年Q1
end="202504", # 2025年Q4
)
開始期・終了期の形式
| 期種 | 形式 | 例 |
|---|---|---|
| 月次/週次/日次 | YYYYMM |
"202501" = 2025年1月 |
| 四半期 | YYYYQQ |
"202502" = 2025年Q2 |
| 暦年半期/年度半期 | YYYYHH |
"202501" = 2025年上期 |
| 暦年/年度 | YYYY |
"2025" |
get_data_all(db, codes, start=None, end=None)
250件超の系列を自動ページネーションして全件取得します。
all_data = client.get_data_all(db="PR01", codes=my_500_codes)
get_layer(db, frequency, layer, start=None, end=None, start_position=None)
階層 API。階層情報でデータを絞り込んで取得します。
data = client.get_layer(
db="BP01",
frequency="M",
layer="1,1,1", # 階層1=1, 階層2=1, 階層3=1
start="202504",
end="202509",
)
layer のワイルドカード指定例:
| 指定 | 意味 |
|---|---|
"*" |
全系列 |
"1,1" |
階層1=1, 階層2=1の全系列 |
"1,*,1" |
階層1=1, 階層2=全て, 階層3=1 |
get_metadata(db)
メタデータ API。系列コード・系列名称・収録期間などのメタ情報を取得します。
meta = client.get_metadata(db="FM08")
search_series(db, keyword=None)
メタデータからキーワードで系列を検索します。
# 外為DB内で「ドル」を含む系列を検索
results = client.search_series(db="FM08", keyword="ドル")
to_pandas(data)
get_data() / get_layer() の結果を pandas DataFrame に変換します。
df = client.to_pandas(data)
# インデックス: 日付、カラム: 系列コード
to_polars(data)
get_data() / get_layer() の結果を polars DataFrame に変換します。
df = client.to_polars(data)
# カラム: date + 各系列コード
to_dataframe()はto_pandas()のエイリアスとして引き続き利用可能です。
利用可能なDB一覧
| DB名 | 説明 |
|---|---|
| IR01 | 基準割引率および基準貸付利率の推移 |
| FM01 | 無担保コールO/N物レート(毎営業日) |
| FM08 | 外国為替市況 |
| FM09 | 実効為替レート |
| MD01 | マネタリーベース |
| MD02 | マネーストック |
| CO | 短観 |
| PR01 | 企業物価指数 |
| BP01 | 国際収支統計 |
| FF | 資金循環 |
| ... | (全リストは client.list_databases() で確認) |
注意事項
- 高頻度アクセスはサーバーへの接続遮断の原因となります。
request_interval(デフォルト1秒)を適切に設定してください。 - 1リクエストあたりの上限: 系列数250件、データ数60,000件。
- 系列コードには DB名を含まない コードを指定してください(例:
IR01'MADR1Z@DではなくMADR1Z@D)。 - 詳細は API機能利用マニュアル および 留意点 を参照してください。
ライセンス
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bojstat-0.1.0.tar.gz.
File metadata
- Download URL: bojstat-0.1.0.tar.gz
- Upload date:
- Size: 75.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f055466a30f485c846daca0f35910932a2554abea53db6c8355c51b56a9712d7
|
|
| MD5 |
ee770bcdb0b4f95204a131fbe9639c76
|
|
| BLAKE2b-256 |
9ee19a4b12c42045ed065ee30e5e9131a5d125530505a70136c0b855201d9cff
|
File details
Details for the file bojstat-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bojstat-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
618ef9fa28c78096feac90b9064d7d46c03f24262ee5e8f0f35525ebede6311d
|
|
| MD5 |
e97039ac9032d405fb03eefcd49a730d
|
|
| BLAKE2b-256 |
f4b01cec1137ad810c6a44c88afd85990aa55f42100e3dbd300d76c1cecc107e
|