No FFIEC API credentials available. Code chunks will not be evaluated.
This package attempts to offer a convenient interface to interact with the Central Data Repository ‘REST API’ service made available by the United States Federal Financial Institutions Examination Council (‘FFIEC’).
If you haven’t done so already, install {ffiec} and create an account through the FFIEC’s Web Service portal using the instructions in the README section.
With your username and password from the FFIEC’s Web Service portal
in-hand (either stored as environment variables or ready to be passed as
function arguments), load the package using library().
While the package offers several functions to enable different workflows and analyses, one general workflow is as follows:
First, to obtain the available Call reporting periods, use the
get_reporting_periods() function. The
as_data_frame argument is set to TRUE to alter
the return behavior of the function. By default, the function will
return a list object.
Next, filter the get_reporting_periods() return value to
the period(s) of interest. For the purposes of this example, the four
reporting periods in calendar year 2025 will be used.
reports_2025 <- reporting_periods |>
dplyr::filter(
ReportingPeriod <= as.Date("2025-12-31"),
ReportingPeriod >= as.Date("2025-01-01")
) |>
dplyr::pull()Using the get_facsimile() function, Call report data can
be collected for the selected reporting periods and one or more
specified institutions.
Notice that each institution ID (column
BankRSSDIdentifier) contains Call report data for each
reporting period.
This example can be extended by comparing Call report values, either between periods or between institutions (or both). Below, the Call report data is filtered to display Tier 1 capital for each institution over the selected reporting periods.
The package offers functions to interact with both Call report data and Uniform Bank Performance Report (UBPR) data.
To interact with the latter, simply substitute
get_ubpr_reporting_periods() and
get_ubpr_facsimile() into the above examples. However,
please be aware that get_ubpr_facsimile() returns different
column names than get_facsimile().