Recession Indicator
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.
| Parameter | Type | Description | Example |
|---|---|---|---|
rolling | int | The rolling window size to use for smoothing the data (simple moving average). Defaults to None. | 4 |
trailing | int | The trailing window size to use for summing the data over trailing periods. Defaults to None. | 4 |
growth | bool | Whether to return the growth data or the actual data. Defaults to False. | True |
lag | int | The number of periods to lag the data by. Defaults to 1. | 4 |
standardize | bool | Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False. | True |
rounding | int | None | The number of decimals to round the results to. Defaults to None. | 2 |