Get the NBER-based US Recession Indicator from FRED.

This is the official US business-cycle chronology maintained by the National Bureau of Economic Research (NBER) Business Cycle Dating Committee, encoded as 1 during NBER-dated recession months (peak through trough) and 0 otherwise. The Committee determines recession dates retrospectively from a broad set of coincident indicators - including Nonfarm Payrolls (see get_nonfarm_payrolls) and the Industrial Production Index (see get_industrial_production_index) - rather than the popular “two consecutive quarters of negative GDP growth” rule of thumb, which the NBER does not use. This series is the standard ground-truth label used in academic and applied business-cycle research to backtest whether other indicators lead, lag or coincide with recessions.

No API key is needed: without a FRED API key the data comes from the NBER’s business cycle dates directly, built the way FRED builds USREC, which gives the same figures. When a FRED API key is set (see the fred_api_key parameter of the Economics class), it comes from FRED.

See definition: https://fred.stlouisfed.org/series/USREC

Also known as: USREC, NBER recession dummy, business cycle indicator.

Recession Indicator in Python or via the MCP

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_recession_indicator as shown below.

from financetoolkit import Economics

economics = Economics(start_date='2020-01-01', end_date="2025-12-31")

economics.get_recession_indicator()

Or, after setting up the Finance Toolkit MCP, ask:

Did the NBER date any month from August to December 2025 as a US recession?

Which returns:

Date United States
2025-08-01 0
2025-09-01 0
2025-10-01 0
2025-11-01 0
2025-12-01 0

Parameters

get_recession_indicator accepts the following parameters.

ParameterTypeDescriptionExample
rollingintThe rolling window size to use for smoothing the data (simple moving average). Defaults to None.4
trailingintThe trailing window size to use for summing the data over trailing periods. Defaults to None.4
growthboolWhether to return the growth data or the actual data. Defaults to False.True
lagintThe number of periods to lag the data by. Defaults to 1.4
standardizeboolWhether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.True
roundingint | NoneThe number of decimals to round the results to. Defaults to None.2
Share