imfp
Python package for downloading economic data from the International Monetary Fund SDMX 3.0 API, following econdataverse conventions.
What it is and what it does
imfp is a Python client for the International Monetary Fund's SDMX 3.0 API that retrieves economic data and returns it as pandas DataFrames. It provides four core functions: discovering available datasets, inspecting their dimensions, looking up valid codes for filtering, and fetching the actual data. The package handles the API interaction, response parsing, and data structuring so you work directly with tidy tabular output.
The package is designed for economists, financial analysts, and researchers who need programmatic access to IMF economic indicators. It follows econdataverse conventions and mirrors the R package imfapi, making it familiar to users of that ecosystem. Version 2.0.0 introduced a new API with functions like imf_get_dataflows and imf_get_datastructure; the old 1.x function names still work but emit deprecation warnings.
Use it for:
- Fetch commodity price indices (like coal prices) at annual frequency for time-series analysis.
- Build a research dataset by discovering IMF dataflows, then filtering by specific indicators and time periods.
- Automate regular downloads of economic indicators for a financial dashboard or reporting pipeline.
- Compare economic metrics across countries by querying IMF datasets with country-level dimension filters.
- Integrate IMF data into a pandas-based data processing workflow without manual API calls.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Downloads economic data from the International Monetary Fund's SDMX 3.0 API and returns it as tidy pandas DataFrames, with discovery functions for datasets, dimensions, and valid codes.
Yes. The package is actively maintained, has low install friction (two common dependencies), carries no known vulnerabilities, and solves a specific problem—programmatic IMF data access—with a clean API. It is suitable for anyone needing IMF economic data in Python, especially if you work with pandas. The Apache 2.0 license is permissive and poses no restrictions.
Install
imfp on PyPI
pip
pip install imfpuv
uv add imfppoetry
poetry add imfpInstalling imfp
Before you install
Low install friction; pure Python wheel with only pandas and requests as runtime dependencies. Active maintenance with a release 7 days ago and last commit on 2026-08-10.
License in practice
Apache License 2.0 is permissive; you may use, modify, and distribute the package freely provided you include the license and document any changes.
Quickstart
pip install imfp
import imfp
# Discover datasets
dataflows = imfp.imf_get_dataflows()
# Get data with dimension filters
df = imfp.imf_get(
"PCPS",
dimensions={"INDICATOR": ["PCOAL"], "FREQUENCY": ["A"]}
)
Requires Python 3.10 or later.
Verify before relying
- Rate limiting and bandwidth management behavior—how they work in practice and whether they require configuration.
- Whether the IMF API requires authentication or an API key.
- Typical response times and data volume limits for large queries.
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pandas, requests |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 118,022/month — #12,138 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: imfp-2.0.0-py3-none-any.whl
Keywords: economics, finance, IMF, API, SDMX, econdataverse
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
beaapibeaapi retrieves and processes economic data…
permissive · top 15,000 on PyPI
openbb-imfProvides a provider extension for the OpenBB…
agpl · top 15,000 on PyPI
eurostatFetches statistical data and metadata from…
permissive · top 15,000 on PyPI
sdmx1Reads, writes, and exchanges statistical data…
permissive · top 15,000 on PyPI
wbdataWbdata provides a Python interface to query and…
copyleft · top 5,000 on PyPI
wbgapiWBGAPI provides a Python interface to query…
permissive · top 15,000 on PyPI
tradingeconomicsProvides Python access to over 300,000 economic…
permissive · top 15,000 on PyPI
Nasdaq-Data-LinkProvides Python access to Nasdaq Data Link's…
permissive · top 15,000 on PyPI
QuandlQuandl provides a Python client for accessing…
permissive · top 15,000 on PyPI
ucimlrepoImports datasets from the UC Irvine Machine…
permissive · top 15,000 on PyPI