Macroeconomic and FX time-series data for AI agents: indicators, calendars, COT, forex, commodities.
The FXMacroData Python SDK provides a simple and efficient interface for fetching macroeconomic indicators, forex prices, release calendars, COT positioning, and commodity prices from FXMacroData.
Use synchronous and asynchronous clients to bring the data into research notebooks, backtests and applications.
Subscribe to FXMacroData for non-USD data, full available history, FX, commodities and positioning. Use the public USD workflow to evaluate the integration before connecting your subscription.
get_fx_price.requests and aiohttp.Install from PyPI:
pip install fxmacrodata
Or install the latest version from GitHub:
pip install git+https://github.com/fxmacrodata/fxmacrodata.git
from fxmacrodata import Client
client = Client(api_key="YOUR_API_KEY")
# Fetch macroeconomic indicators
data = client.get_indicator(
"aud", "policy_rate",
start_date="2023-01-01",
end_date="2023-11-01"
)
print(data)
# Forex price endpoint
fx = client.get_fx_price("usd", "gbp", start_date="2025-01-01")
print(fx)
# Forex with technical indicators
fx = client.get_fx_price("eur", "usd", indicators="sma_20,rsi_14,macd")
print(fx)
# Release calendar
calendar = client.get_calendar("usd")
print(calendar)
# Data catalogue β discover available indicators
catalogue = client.get_data_catalogue("usd")
print(catalogue)
# COT positioning data
cot = client.get_cot("eur", start_date="2025-01-01")
print(cot)
# Commodity prices
gold = client.get_commodities("gold", start_date="2026-01-01")
print(gold)
import asyncio
from fxmacrodata import AsyncClient
async def main():
async with AsyncClient(api_key="YOUR_API_KEY") as client:
# Fetch macroeconomic indicators
data = await client.get_indicator("eur", "inflation")
print(data)
# Forex price endpoint
fx = await client.get_fx_price("usd", "jpy")
print(fx)
# Release calendar
calendar = await client.get_calendar("usd")
print(calendar)
# Data catalogue
catalogue = await client.get_data_catalogue("usd")
print(catalogue)
# COT positioning
cot = await client.get_cot("jpy")
print(cot)
# Commodity prices
gold = await client.get_commodities("gold")
print(gold)
asyncio.run(main())
FXMacroData supports all practical OpenBB integration paths from this package:
obb.fxmacrodata.*./api/v1/fxmacrodata/* routes through openbb-api.openbb-api from inline metadata.widgets.json, apps.json, and data endpoints.openbb-mcp.openbb-build.OpenBB packages require Python 3.10+. Install the OpenBB Python extra:
pip install "fxmacrodata[openbb]"
openbb-build
Then use FXMacroData from the OpenBB Python interface:
from openbb import obb
obb.user.credentials.fxmacrodata_api_key = "YOUR_API_KEY"
catalogue = obb.fxmacrodata.data_catalogue(
currency="USD",
provider="fxmacrodata",
).to_df()
inflation = obb.fxmacrodata.macro_indicators(
currency="USD",
indicator="inflation",
start_date="2020-01-01",
provider="fxmacrodata",
).to_df()
eurusd = obb.fxmacrodata.fx_historical(
base="EUR",
quote="USD",
start_date="2024-01-01",
provider="fxmacrodata",
).to_df()
Run the OpenBB REST API and generated Workspace backend:
pip install "fxmacrodata[openbb-api]"
openbb-build
fxmacrodata-openbb-api --host 127.0.0.1 --port 6900
Workspace can be connected to http://127.0.0.1:6900. The generated
/widgets.json uses FXMacroData's inline OpenBB widget metadata.
Run the OpenBB Workspace custom backend:
pip install "fxmacrodata[workspace]"
fxmacrodata-openbb-backend
Default backend URL:
http://127.0.0.1:7779
Workspace exposes /widgets.json, /apps.json, /catalogue,
/release_calendar, /macro_indicator, /forex, /cot, and /commodity.
Swagger/OpenAPI docs are disabled by default for this backend. For local
debugging only, set FXMACRODATA_OPENBB_ENABLE_DOCS=1 before starting it.
Run OpenBB MCP:
pip install "fxmacrodata[mcp]"
openbb-build
fxmacrodata-openbb-mcp --default-categories fxmacrodata --host 127.0.0.1 --port 8001
Run OpenBB CLI:
pip install "fxmacrodata[openbb-cli]"
openbb-build
openbb
See docs/openbb-integration.md for the full integration matrix and the
separate upstream OpenBB repository contribution path.
get_indicator(currency, indicator, start_date=None, end_date=None)Fetches macroeconomic indicator time series data.
currency: "usd", "aud", "eur", "gbp", "cad", "nok", "nzd", "jpy", "brl", "cny", "dkk", "pln", "sek", "sgd", etc.indicator: "policy_rate", "inflation", "gdp", "unemployment", "trade_balance", "current_account_balance", "gov_bond_10y", etc.get_fx_price(base, quote, start_date=None, end_date=None, indicators=None)Fetches daily FX spot rates between two currencies.
indicators: Optional comma-separated technical indicators β "sma_20", "sma_50", "sma_200", "rsi_14", "macd", "ema_12", "ema_26", "bollinger_bands", or "all".get_calendar(currency, indicator=None)Fetches upcoming economic data release dates for a currency.
indicator: Optional filter to a specific indicator slug.announcement_datetime (Unix timestamp) and release (indicator slug).get_data_catalogue(currency, include_capabilities=False, include_coverage=False, indicator=None)Discovers available macroeconomic indicators for a given currency.
name, unit, frequency, and has_official_forecast.get_cot(currency, start_date=None, end_date=None)Fetches CFTC Commitment of Traders (COT) positioning data.
AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD.get_commodities(indicator, start_date=None, end_date=None)Fetches commodity price time series.
indicator: "gold", "silver", or "platinum".18 currencies supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
The table below shows a sample of indicator coverage across four major currencies. Use get_data_catalogue() to discover the full list for any currency.
| Category | Metric | USD | EUR | AUD | GBP |
|---|---|---|---|---|---|
| Economy | GDP Growth | β | β | β | β |
| Inflation Rate | β | β | β | β | |
| Trade Balance | β | β | β | β | |
| Current Account Balance | β | β | β | β | |
| Retail Sales | β | β | β | β | |
| Industrial Production | β | β | β | β | |
| Labor Market | Unemployment Rate | β | β | β | β |
| Employment Level | β | β | β | β | |
| Full-Time Employment | β | β | β | β | |
| Part-Time Employment | β | β | β | β | |
| Participation Rate | β | β | β | β | |
| Non-Farm Payrolls | β | β | β | β | |
| Monetary Policy | Policy Rate | β | β | β | β |
| Risk-Free Rate | β | β | β | β | |
| Central Bank Assets | β | β | β | β | |
| Government Bond Yields | 2-Year Govt Bond | β | β | β | β |
| 5-Year Govt Bond | β | β | β | β | |
| 10-Year Govt Bond | β | β | β | β | |
| Inflation-Linked Bond | β | β | β | β |
MIT License Β© FXMacroData
This listing does not have a supported local package template. Use the maintainerβs documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.