BLS Provider Extension for the OpenBB Platform
openbb-bls integrates the U.S. Bureau of Labor Statistics into the OpenBB
Platform. It combines three data paths:
- BLS Public Data API v2 — point-in-time time series by series ID (the only endpoint that can use an API key).
- Published release files — News Release tables, supplemental XLSX files,
and the news-release chart packages, parsed directly from
bls.gov. - A bundled series catalog — a local, partitioned cache of ~1.1M BLS series (14 survey families) so the catalog search works offline with no API calls.
A bundled OpenBB Workspace dashboard (apps.json) ships five apps: a BLS home
app plus dedicated Employment Situation, CPI, PPI, and Productivity apps.
Installation
From PyPI:
pip install openbb-bls
For local development from a clone of the OpenBB monorepo, run from this folder:
pip install -e .
Authentication
No key is required. Every News-Release table, supplemental table, and chart endpoint is parsed from published files and works with no credentials.
An (optional) BLS registration key only affects the series endpoint, where
it raises the per-request limits — 50 symbols / 20-year window / 500 requests
per day (registered) vs. 25 / 10 years / 25 per day (unregistered). Get one at
https://data.bls.gov/registrationEngine/ and set it as bls_api_key:
from openbb import obb
obb.user.credentials.bls_api_key = "YOUR_KEY"
Coverage
Python commands are obb.bls.<group>.<command>(...); the equivalent REST route
is GET /api/v1/bls/<group>/<command>. Every group also exposes a documents
command listing the release PDFs/files for that program.
Consumer Price Index — bls.cpi
| Command | Description |
|---|---|
t1_expenditure_category … t7_12m_analysis |
News Release tables 1–7 (expenditure category, detailed, special aggregates, selected areas, chained vs. CPI-U, 1-month and 12-month analyses) |
relative_importance |
Relative-importance / weights (U.S. city average and selected local areas) |
seasonal_factors |
Revised seasonally-adjusted indexes and seasonal factors |
supplemental_tables |
C-CPI-U, CPI-W, historical CPI-U, and other supplemental XLSX tables |
average_prices, by_category, by_category_line, by_metro, by_region |
News-release chart package |
Employment Situation — bls.employment_situation
| Command | Description |
|---|---|
summary_household, summary_establishment |
Summary Tables A (CPS) and B (CES) |
t1_employment_changes … t7_peak_trough, confidence_intervals |
CES analytical tables |
civilian_unemployment_rate, civilian_unemployment, civilian_employment, employment_population_ratio, labor_force_participation_rate, labor_underutilization, duration_of_unemployment, reasons_for_unemployment, unemployment_by_education, unemployment_by_veteran_status, long_term_unemployed_share, not_in_labor_force_indicators, not_in_labor_force_want_a_job |
Household-survey (CPS) chart package |
employment_levels_by_industry, average_weekly_hours_production, employment_change_by_industry_ci, employment_by_industry_monthly_changes, employment_and_hourly_earnings_by_industry, employment_and_weekly_earnings_by_industry |
Establishment-survey (CES) chart package |
Producer Price Index — bls.ppi
| Command | Description |
|---|---|
detailed_report |
Monthly Detailed Report tables (XLSX) |
relative_importance, seasonal_factors |
Relative importance and seasonal factors |
final_demand_1m / _12m, final_demand_components_1m / _12m, intermediate_processed_1m / _12m, intermediate_services_1m / _12m, intermediate_unprocessed_1m / _12m |
Final- and intermediate-demand chart package |
JOLTS — bls.jolts
| Command | Description |
|---|---|
change_analysis, revisions |
Over-the-month change analysis and SA/NSA revisions |
beveridge_curve, unemp_per_opening, openings_by_industry, hires_seps_rates, openings_hires_seps_levels, openings_hires_seps_rates, openings_hires_seps_by_region |
Job openings, hires, and separations chart package |
Productivity & Costs — bls.productivity
| Command | Description |
|---|---|
tables |
Long-form major-sector / total-economy productivity datasets |
by_sector, nonfarm_business_productivity / _indexes / _labor_costs, manufacturing_productivity / _indexes / _labor_costs, nonfinancial_corporations_indexes |
Major-sector productivity & costs charts |
tfp_output_and_inputs, tfp_combined_inputs_output, tfp_contributions, tfp_percent_change, tfp_ict_trends, tfp_fire_trends |
Total Factor Productivity |
wr_productivity_change / _by_period, wr_1yr_change, wr_longterm_change, wr_indexes_by_sector, wr_labor_cost_by_sector, wr_lp_by_industry |
Wholesale & Retail Trade productivity |
mm_productivity_change / _by_period, mm_1yr_change, mm_longterm_change, mm_indexes_by_industry, mm_labor_cost_by_industry |
Mining & Manufacturing productivity |
Import / Export Price Indexes — bls.import_export
| Command | Description |
|---|---|
price_indexes |
U.S. import and export price indexes |
imports_by_category, exports_by_category, imports_by_origin, exports_by_grains, air_passenger_fares |
Import/export chart package |
Real Earnings — bls.real_earnings
| Command | Description |
|---|---|
documents |
Real Earnings news-release archive |
Search, Series & Calendar
These cross-survey commands fetch live or cached data by series ID:
| Command | Description |
|---|---|
search |
Search the bundled ~1.1M-series catalog by category, keyword, or code (offline, no API call) |
series |
Fetch one or more time series by symbol from the BLS Public Data API (optional bls_api_key) |
calendar |
BLS data-release schedule |
When openbb-economy is installed these register under the Economy survey
namespace (e.g. obb.economy.survey.bls_search(...), and the release calendar as
obb.economy.calendar(provider="bls")); otherwise they are available standalone
as obb.bls.search(...), obb.bls.series(...), and obb.bls.calendar(...).
Usage
from openbb import obb
# Latest CPI-U expenditure-category table (no key required)
obb.bls.cpi.t1_expenditure_category(provider="bls").to_df()
# A specific time series from the BLS Public Data API
obb.bls.series(symbol="CUUR0000SA0", provider="bls").to_df()
# Find series in the local catalog, then chart one
obb.bls.search(category="cpi", query="urban", provider="bls").to_df()
Documentation for the OpenBB Platform is available at https://docs.openbb.co/platform.
Metadata
Release files for openbb-bls 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openbb_bls-2.0.0.tar.gz | 11.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openbb_bls-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.1 MB
Release files / openbb_bls-2.0.0.tar.gz
| Download URL | openbb_bls-2.0.0.tar.gz |
|---|---|
| Size | 11.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6209f3f64a9d0b120ec91a0860c639c44940f66ee2d8de4ad4a2bdc248995a7f
|
|
BLAKE2b-256 checksum How to use checksums |
f1db348fd61367bf8a8e88554a6b7ef1807b7c4637ba09594eefea6e0ceee49d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.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 Sep 28, 2026.
Transparency logRelease files / openbb_bls-2.0.0-py3-none-any.whl
| Download URL | openbb_bls-2.0.0-py3-none-any.whl |
|---|---|
| Size | 11.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
172c9ef61557ba2e53f7246144e49be78f3c5a67957676448ccaff2a1b0f1522
|
|
BLAKE2b-256 checksum How to use checksums |
eaf223bde86624d7def03dbf17758f8f34be0b5a76c8c44dee59c3fa0216ea46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.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 Sep 28, 2026.
Transparency log