Title: | An Interface to IMF (International Monetary Fund) Data JSON API |
Version: | 0.1.7 |
Description: | A straightforward interface for accessing the IMF (International Monetary Fund) data JSON API, available at https://data.imf.org/. This package offers direct access to the primary API endpoints: Dataflow, DataStructure, and CompactData. And, it provides an intuitive interface for exploring available dimensions and attributes, as well as querying individual time-series datasets. Additionally, the package implements a rate limit on API calls to reduce the chances of exceeding service limits (limited to 10 calls every 5 seconds) and encountering response errors. |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
RoxygenNote: | 7.2.3 |
Imports: | methods, utils, stats, curl, jsonlite |
Suggests: | testthat (≥ 3.0.0), data.table |
Config/testthat/edition: | 3 |
URL: | https://pedrobtz.github.io/imf.data/ |
BugReports: | https://github.com/pedrobtz/imf.data/issues |
NeedsCompilation: | no |
Packaged: | 2024-09-14 09:32:34 UTC; pbtz |
Author: | Pedro Baltazar [aut, cre] |
Maintainer: | Pedro Baltazar <pedrobtz@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2024-09-14 09:50:02 UTC |
imf.data: An Interface to IMF (International Monetary Fund) Data JSON API
Description
A straightforward interface for accessing the IMF (International Monetary Fund) data JSON API, available at https://data.imf.org/. This package offers direct access to the primary API endpoints: Dataflow, DataStructure, and CompactData. And, it provides an intuitive interface for exploring available dimensions and attributes, as well as querying individual time-series datasets. Additionally, the package implements a rate limit on API calls to reduce the chances of exceeding service limits (limited to 10 calls every 5 seconds) and encountering response errors.
Author(s)
Maintainer: Pedro Baltazar pedrobtz@gmail.com
See Also
Useful links:
List all available Time Series Datasets
Description
List all available Time Series Datasets
Usage
list_datasets()
Value
a data.frame with columns 'Id' and 'Description'.
Examples
d <- list_datasets()
head(d)
Loads Time Series Datasets
Description
Loads Time Series Datasets
Usage
load_datasets(id, use_cache = TRUE)
Arguments
id |
is character vector of Dataset Series identifier. |
use_cache |
is Boolean, defaults to TRUE, if TRUE it reloads the Dataset from cached values. |
Value
a dataset object for the time-series identifier, i.e. a list containing a list 'dimensions' of data.frames with the valid dimensions values, and a function 'get_series' to retrieve time-series data.
Examples
DOT <- load_datasets("DOT")
DOT$get_series(freq = "M",
ref_area ="GB",
indicator = "TMG_CIF_USD",
counterpart_area = c("B0","W00"),
start_period = "2022-01-01",
end_period = "2022-12-31")
Calls API endpoint 'CompactData' to get Dataset time series
Description
Calls API endpoint 'CompactData' to get Dataset time series
Usage
mt_compact_data(id, dimensions, start_period = NA, end_period = NA)
Arguments
id |
is a Dataset Series identifier. |
dimensions |
is a named list with the dimensions query. |
start_period |
is time series start date with formats. |
end_period |
is time series end date with format. See Details for the valid formats. |
Details
The 'start_period' and 'end_pariod' parameters should have formats: 'yyyy', 'yyyy-mm' or 'yyyy-mm-dd'.
Value
a list with content of 'CompactData' response.
Examples
DOT <- mt_compact_data("DOT", list("M","GB", "TMG_CIF_USD", c("B0","W00")))
Calls API endpoint 'DataStructure'
Description
Calls API endpoint 'DataStructure'
Usage
mt_data_structure(id)
Arguments
id |
is a Dataset Series identifier. |
Value
a list with content of 'DataStructure' response.
Examples
DOT <- mt_data_structure("DOT")
Calls API endpoint 'Dataflow'
Description
Calls API endpoint 'Dataflow'
Usage
mt_dataflow()
Value
a list with content of 'Dataflow' response.
Examples
DF <- mt_dataflow()