Skip to main content

日本銀行 時系列統計データ検索サイト 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bojstat-0.1.0.tar.gz (75.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bojstat-0.1.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

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

Hashes for bojstat-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f055466a30f485c846daca0f35910932a2554abea53db6c8355c51b56a9712d7
MD5 ee770bcdb0b4f95204a131fbe9639c76
BLAKE2b-256 9ee19a4b12c42045ed065ee30e5e9131a5d125530505a70136c0b855201d9cff

See more details on using hashes here.

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

Hashes for bojstat-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 618ef9fa28c78096feac90b9064d7d46c03f24262ee5e8f0f35525ebede6311d
MD5 e97039ac9032d405fb03eefcd49a730d
BLAKE2b-256 f4b01cec1137ad810c6a44c88afd85990aa55f42100e3dbd300d76c1cecc107e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page