Title: | Client for Central Bank APIs |
Version: | 0.6.0 |
Description: | A client for retrieving data and metadata from major central bank APIs. It supports access to the 'Bundesbank SDMX Web Service API' (https://www.bundesbank.de/en/statistics/time-series-databases/help-for-sdmx-web-service/web-service-interface-data), the 'Swiss National Bank Data Portal' (https://data.snb.ch/en), and the 'European Central Bank Data Portal API' (https://data.ecb.europa.eu/help/api/overview). |
License: | MIT + file LICENSE |
URL: | https://m-muecke.github.io/bbk/, https://github.com/m-muecke/bbk |
BugReports: | https://github.com/m-muecke/bbk/issues |
Depends: | R (≥ 4.1.0) |
Imports: | curl, data.table (≥ 1.16.0), httr2 (≥ 1.0.0), jsonlite, stats, utils, xml2 |
Suggests: | ggplot2, scales, testthat (≥ 3.0.0) |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-02-02 11:45:18 UTC; mmuecke |
Author: | Maximilian Mücke |
Maintainer: | Maximilian Mücke <muecke.maximilian@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2025-02-02 22:40:02 UTC |
bbk: Client for Central Bank APIs
Description
A client for retrieving data and metadata from major central bank APIs. It supports access to the 'Bundesbank SDMX Web Service API' (https://www.bundesbank.de/en/statistics/time-series-databases/help-for-sdmx-web-service/web-service-interface-data), the 'Swiss National Bank Data Portal' (https://data.snb.ch/en), and the 'European Central Bank Data Portal API' (https://data.ecb.europa.eu/help/api/overview).
Author(s)
Maintainer: Maximilian Mücke muecke.maximilian@gmail.com (ORCID)
See Also
Useful links:
Report bugs at https://github.com/m-muecke/bbk/issues
Returns Bundesbank data for a given flow and key
Description
Returns Bundesbank data for a given flow and key
Usage
bbk_data(
flow,
key = NULL,
start_period = NULL,
end_period = NULL,
first_n = NULL,
last_n = NULL
)
Arguments
flow |
( |
key |
( |
start_period |
(
|
end_period |
( |
first_n |
( |
last_n |
( |
Value
A data.table::data.table()
with the requested data.
Source
See Also
Other data:
bbk_series()
,
ecb_data()
,
snb_data()
Examples
# fetch all data for a given flow and key
bbk_data("BBSIS", "D.I.ZAR.ZI.EUR.S1311.B.A604.R10XX.R.A.A._Z._Z.A")
# fetch data for multiple keys
bbk_data("BBEX3", c("M.ISK.EUR", "USD.CA.AC.A01"))
# specified period (start date-end date) for daily data
bbk_data(
"BBSIS", "D.I.ZAR.ZI.EUR.S1311.B.A604.R10XX.R.A.A._Z._Z.A",
start_period = "2020-01-01",
end_period = "2020-08-01"
)
# or only specify the start date
bbk_data(
"BBSIS", "D.I.ZAR.ZI.EUR.S1311.B.A604.R10XX.R.A.A._Z._Z.A",
start_period = "2024-04-01"
)
Returns the available Bundesbank metadata
Description
Retrieval of the metadata stored in the Bundesbank's time series database. Access via the SDMX Web Service API of the Bundesbank.
Usage
bbk_metadata(type, id = NULL, lang = c("en", "de"))
Arguments
type |
( |
id |
( |
lang |
( |
Value
A data.table::data.table()
with the queried metadata.
The columns are:
id |
The id of the metadata |
name |
The name of the metadata |
Source
See Also
Other metadata:
ecb_metadata()
Examples
bbk_metadata("datastructure")
bbk_metadata("dataflow", "BBSIS")
bbk_metadata("codelist", "CL_BBK_ACIP_ASSET_LIABILITY")
bbk_metadata("concept", "CS_BBK_BSPL")
Returns the Bundesbank time serie that is found with the specified time series key
Description
Returns the Bundesbank time serie that is found with the specified time series key
Usage
bbk_series(key)
Arguments
key |
( |
Value
A data.table::data.table()
with the requested data.
Source
See Also
bbk_data()
for an endpoint with more options.
Other data:
bbk_data()
,
ecb_data()
,
snb_data()
Examples
bbk_series("BBEX3.M.DKK.EUR.BB.AC.A01")
bbk_series("BBAF3.Q.F41.S121.DE.S1.W0.LE.N._X.B")
bbk_series("BBBK11.D.TTA000")
Returns ECB data for a given flow and key
Description
Returns ECB data for a given flow and key
Usage
ecb_data(
flow,
key = NULL,
start_period = NULL,
end_period = NULL,
first_n = NULL,
last_n = NULL
)
Arguments
flow |
( |
key |
( |
start_period |
(
|
end_period |
( |
first_n |
( |
last_n |
( |
Source
https://data.ecb.europa.eu/help/api/data
See Also
Other data:
bbk_data()
,
bbk_series()
,
snb_data()
Examples
# fetch US dollar/Euro exchange rate
ecb_data("EXR", "D.USD.EUR.SP00.A")
# fetch data for multiple keys
ecb_data("EXR", c("D.USD", "JPY.EUR.SP00.A"))
Euro foreign exchange reference rates
Description
Fetch the latest or historical Euro foreign exchange reference rates from the European Central Bank.
Usage
ecb_euro_rates(x = c("latest", "history"))
Arguments
x |
( |
Details
Note you can achieve the same by calling the ecb_data()
function with the right
parameters for each currency.
The reference rates are usually updated at around 16:00 CET every working day, except on TARGET closing days.
They are based on the daily concertation procedure between central banks across Europe, which normally takes place around 14:10 CET. The reference rates are published for information purposes only. Using the rates for transaction purposes is strongly discouraged.
Value
A data.table::data.table()
with the reference rates.
Source
Examples
ecb_euro_rates()
Returns the available ECB metadata
Description
Retrieval of the metadata stored in the ECB's time series database. Access via the SDMX Web Service API of the ECB
Usage
ecb_metadata(type, agency = NULL, id = NULL)
Arguments
type |
( |
agency |
( |
id |
( |
Value
A data.table::data.table()
with the queried metadata.
The columns are:
agency |
The agency of the metadata |
id |
The id of the metadata |
name |
The name of the metadata |
Source
https://data.ecb.europa.eu/help/api/metadata
See Also
Other metadata:
bbk_metadata()
Examples
ecb_metadata("datastructure")
ecb_metadata("datastructure", "ECB")
ecb_metadata("datastructure", "ECB", "ECB_EXR1")
ecb_metadata("datastructure", id = "ECB_EXR1")
Returns Swiss National Bank (SNB) data for a given id
Description
Returns Swiss National Bank (SNB) data for a given id
Usage
snb_data(id, start_date = NULL, end_date = NULL, lang = c("en", "de"))
Arguments
id |
( |
start_date |
( |
end_date |
( |
lang |
( |
Value
A data.table::data.table()
with the requested data.
Source
See Also
Other data:
bbk_data()
,
bbk_series()
,
ecb_data()
Examples
snb_data("rendopar")
# or filter for date range
snb_data("rendopar", "2020-01-01", "2020-12-31")