Live release feed
Sub-second macro releases for FX backtests
Point-in-time history
Official CPI, jobs, GDP, and central-bank events with point-in-time history.
$25/month 14-day free trial
Start Free Trial

Production API Reference

REST API 15 endpoint families 48 documented paths

High-contrast API docs for macro, FX, and market-structure data.

Use this page like a normal reference manual: start with authentication and language examples, jump to an endpoint family, then open the per-endpoint parameter and payload details below. The public surface covers announcements, forecasts, calendars, FX, COT, commodities, event risk, and rates-and-curves analytics.

Auth model

Query parameter

?api_key=YOUR_API_KEY

Default format

JSON over HTTPS

Compression, ETag revalidation, and pagination supported.

Best first call

/api/v1/announcements/usd/inflation

Free USD endpoint for integration smoke tests.

Core product promise

FXMacroData is built around two things: exact announcement_datetime values for historical, no-lookahead backtests, and real-time delivery for newly published macro announcements. The indicator coverage index and each /api-data-docs/{currency}/{indicator} page now show the earliest currently published start date as well.

Start here

Use the docs in the right order

The previous page tried to do everything at once. This version separates first-call setup, language examples, and the endpoint reference so you can move from test request to production integration with less scanning.

Open quickstart

Step 1

Authenticate

Use public endpoints without a key where available, or append ?api_key=YOUR_API_KEY for authenticated routes.

See auth and limits

Step 2

Choose an endpoint family

Use the path inventory and family sections below to find the exact route, supported parameters, request examples, and coverage notes.

Browse all paths

Step 3

Copy a language example

Start with cURL, Python, or JavaScript on this page, then jump to Pine Script, MetaTrader, NinjaTrader, or Chainlink guides when you need platform-specific implementation.

View language examples

Backtesting

Point-in-time by default

Announcement endpoints carry exact release timestamps, not just period labels. That lets you align macro signals to what the market actually knew at each decision point.

Coverage depth

Visible history starts

Use the indicator coverage index or any per-endpoint docs page to see when currently published history begins for that exact currency and announcement series.

First API call

Quick Request

Start with a live announcement endpoint. Authentication stays in the api_key query parameter for direct browser and script testing.

EUR inflation example GET /api/v1/announcements/eur/inflation
Request snippet
curl "https://fxmacrodata.com/api/v1/announcements/eur/inflation?api_key=YOUR_API_KEY"

Access model

36

Always free

Health, discovery, forex, market-session, GraphQL, and most thematic endpoint families require no API key.

Access model

5

Pro (USD: free for last 365 days)

Announcements, predictions, press releases, and COT use mixed access: USD is public in the freemium window, while non-USD access or deeper history requires a Professional API key.

Access model

7

Pro key required

Rates/curves analytics and commodity price endpoints require a Professional API key for every request.

Quick Start Guide

How To Use FXMacroData Endpoints and Authentication

Start with one complete walkthrough covering authentication, endpoint families, real request examples, and the fastest way to move from testing USD endpoints to a production multi-currency integration.

What it covers

  • Authentication with ?api_key=YOUR_API_KEY
  • Announcements, predictions/forecasts, release calendar, COT, metals, forex, and sessions
  • Request patterns for USD-free and pro-key endpoint usage

Performance & efficiency

Compression, caching, and pagination

Every public read endpoint supports response compression, conditional revalidation, and opt-in pagination. Using these features cuts bandwidth and request latency without changing the JSON response shape.

1 · Gzip compression

Always on for clients that ask for it.

Send Accept-Encoding: gzip on requests. JSON time-series payloads typically compress 8–12×. Browsers, curl, requests, and most HTTP clients negotiate this automatically.

curl -H "Accept-Encoding: gzip" \
  --compressed \
  https://fxmacrodata.com/api/v1/announcements/usd/inflation

2 · ETag & Cache-Control

Re-poll for free with conditional GETs.

Every cacheable response carries an ETag and a Cache-Control header. Re-send the ETag in If-None-Match on the next poll — if data hasn't changed, you get an empty 304 Not Modified with no body, no Firestore read, and no egress.

If-None-Match: W/"usd-inflation-v42"
→ HTTP/1.1 304 Not Modified

3 · Pagination

Optional limit & offset.

On /v1/announcements/{ccy}/{ind} and /v1/predictions/{ccy}, pass limit (1–10000) and optional offset to slice data[]. Rows are most-recent-first; omit both for full-window results (default behaviour, unchanged).

/v1/announcements/usd/inflation?limit=10
/v1/predictions/eur?limit=20&offset=20

Cache-Control by endpoint family

FamilyAnonymousAuthenticated
/v1/announcements/*
/v1/predictions/*
public, max-age=10, swr=60private, no-store
/v1/calendar/*
/v1/cot/*
/v1/forex/*
public, max-age=60, stale-while-revalidate=300
/v1/data_catalogue/*
/v1/market_sessions
public, max-age=60, stale-while-revalidate=300

Single-indicator announcements & predictions use a version-keyed ETag (W/"{ccy}-{ind}-v{N}") that bumps on every successful ingest, so revalidation is essentially free at the origin.

Practical request example (Python)

import requests

s = requests.Session()
s.headers["Accept-Encoding"] = "gzip"

# First call: full body, ETag in headers
r1 = s.get(
    "https://fxmacrodata.com/api/v1/announcements/usd/inflation",
    params={"limit": 50},
)
etag = r1.headers["ETag"]

# Next poll: conditional GET, returns 304 if unchanged
r2 = s.get(
    "https://fxmacrodata.com/api/v1/announcements/usd/inflation",
    params={"limit": 50},
    headers={"If-None-Match": etag},
)
print(r2.status_code)  # 304 when nothing has been re-ingested

Operational guardrails

Rate limits & fair use

Rate limits apply only to authenticated requests. Anonymous traffic (no API key) is not rate-limited — we don't throttle by IP, so shared-infrastructure callers (Googlebot, ChatGPT, residential CDNs, corporate proxies) won't hit 429s just because many end users share one address. Per-key tiered budgets keep one identified client from saturating a Cloud Run instance and degrading service for everyone else. Pro and Enterprise are sized so normal production workloads — including dashboards, scheduled jobs, and live trading systems — never trip them.

Tier limits

Tier Requests / minute Requests / hour Requests / day Concurrent in-flight Per-endpoint / second
Anonymous (no key) no limit no limit no limit no limit no limit
Free 30 300 2,000 5 1
Pro / Startup 300 5,000 100,000 20 no cap
Enterprise 3,000 50,000 500,000 100 no cap

Admin keys and explicit partner allowlists bypass all checks. Limits are global per API key — calls to /announcements, /calendar, /forex, etc. all draw from the same minute/hour/day pool. Anonymous traffic carries no X-RateLimit-* headers because no per-request budget is tracked.

429 response shape

HTTP/1.1 429 Too Many Requests
Retry-After: 60
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Window: minute

{"detail": "Rate limit exceeded (minute). Maximum 30 requests per 60s. See https://fxmacrodata.com/documentation/#rate-limits"}

Response headers (every request)

  • X-RateLimit-Limit — budget for the binding window (or bypassed / unlimited).
  • X-RateLimit-Remaining — remaining slots in that window. Throttle when this trends toward zero.
  • X-RateLimit-Window — on 429, identifies which budget tripped: minute, hour, day, endpoint, or concurrency.
  • Retry-After — seconds until the offending window resets (429 only).

Best practices

  • Use conditional requests. Send If-None-Match with the last ETag304 responses don't count against your endpoint cap and use ~5% of the bandwidth of a fresh payload.
  • Avoid wide fanouts on a single key. If you need to poll many endpoints in parallel, stay well under the concurrency cap (the binding constraint for bots that hit dozens of routes at once).
  • Use ?limit=. Most endpoints accept a limit query parameter so you only pull the rows you actually need.
  • Use low-latency store-only endpoints when you only need the newest rows. The /v1/latest/* and /v1/recent/* routes cut payload size and skip wider history windows.
  • Need higher headroom? Email [email protected] and we'll size an Enterprise plan to your workload.

Schema-derived inventory

Complete public REST path inventory

This inventory is derived from the production OpenAPI schema so the site-level reference stays aligned with the live public surface, including newer sovereign, trade, housing, low-latency, and infrastructure routes.

health

Health & Infrastructure

3 paths
GET /api/v1/health Free

Ping the API

No API key required.

Data source: Operational health endpoints report FXMacroData service state, not third-party market data.

GET /api/v1/ping Free

Ping the API

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/sla/summary Free

Dev-only API SLA summary

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

statistics_releases

Statistics Releases

3 paths
GET /api/v1/announcements/{currency}/{indicator} Mixed access

Get macroeconomic indicator data

USD is publicly accessible within the freemium window. Other currencies or deeper history require a Professional API key.

Data source: Macroeconomic announcement and catalogue rows are normalized from official central-bank, national statistics, treasury, or government publisher releases. Responses expose publisher metadata via source, source_url, and provenance fields where available.

GET /api/v1/credit_conditions/{currency} Free

Bank lending standards and credit conditions

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/wage_settlements/{currency} Free

Official wage settlement and labor-cost trackers

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

predictions

Predictions

2 paths
GET /api/v1/predictions/{currency} Mixed access

List predictions for a currency

USD is publicly accessible within the freemium window. Other currencies or deeper history require a Professional API key.

Data source: Forecast rows identify the originating forecast source through prediction_source and prediction_source_label; realized actuals join back to official announcement rows by announcement_id.

GET /api/v1/predictions/{currency}/{indicator} Mixed access

List predictions for one indicator of a currency

USD is publicly accessible within the freemium window. Other currencies or deeper history require a Professional API key.

Data source: Forecast rows identify the originating forecast source through prediction_source and prediction_source_label; realized actuals join back to official announcement rows by announcement_id.

calendar

Release Calendar

1 paths
GET /api/v1/calendar/{currency} Free

Get upcoming economic data release dates

No API key required.

Data source: Release-calendar rows are derived from official publisher schedules and FXMacroData endpoint metadata, with endpoint_path routing back to the source data family.

data_catalogue

Data Catalogue

1 paths
GET /api/v1/data_catalogue/{currency} Free

Get Currently Available Macroeconomic Indicators

No API key required.

Data source: Macroeconomic announcement and catalogue rows are normalized from official central-bank, national statistics, treasury, or government publisher releases. Responses expose publisher metadata via source, source_url, and provenance fields where available.

fx_markets

FX Markets

9 paths
GET /api/v1/cot/{currency} Mixed access

Get CFTC Commitment of Traders (COT) data

USD is publicly accessible within the freemium window. Other currencies or deeper history require a Professional API key.

Data source: COT positioning is sourced from the CFTC Commitment of Traders public reporting API and served with CFTC source_url/provenance metadata.

GET /api/v1/curve_proxies/{currency} Pro key required

Get curve slope proxies

A Professional API key is required for every request.

Data source: Rates and curve analytics are computed from stored official government bond, central-bank, and market reference-rate observations. Derived fields document their source support where available.

GET /api/v1/curves/{currency} Pro key required

Get official curve node snapshot

A Professional API key is required for every request.

Data source: Rates and curve analytics are computed from stored official government bond, central-bank, and market reference-rate observations. Derived fields document their source support where available.

GET /api/v1/forex/{base}/{quote} Free

Get FX spot rates

No API key required.

Data source: FX spot series are served from FXMacroData's official reference-rate store. Responses include source and provenance metadata for the underlying rate series.

GET /api/v1/forward_curves/{currency} Pro key required

Get derived forward curve segments

A Professional API key is required for every request.

Data source: Rates and curve analytics are computed from stored official government bond, central-bank, and market reference-rate observations. Derived fields document their source support where available.

GET /api/v1/forward_differentials/{base}/{quote} Pro key required

Get pair forward-rate differentials

A Professional API key is required for every request.

Data source: Rates and curve analytics are computed from stored official government bond, central-bank, and market reference-rate observations. Derived fields document their source support where available.

GET /api/v1/market_sessions Free

FX market session timetable

No API key required.

Data source: Market-session status is calculated from exchange-session calendars and timezone rules rather than a third-party price feed.

GET /api/v1/rate_differentials/{base}/{quote} Pro key required

Get pair rate differentials

A Professional API key is required for every request.

Data source: Rates and curve analytics are computed from stored official government bond, central-bank, and market reference-rate observations. Derived fields document their source support where available.

GET /api/v1/risk_sentiment Free

Global risk-on / risk-off indicator

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

news

News

1 paths
GET /api/v1/news/{currency} Free

Official government and supranational organisation news

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

press_releases

Press Releases

1 paths
GET /api/v1/press-releases/{currency} Mixed access

Recent central bank press releases

USD is publicly accessible within the freemium window. Other currencies or deeper history require a Professional API key.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

graphql

GraphQL

1 paths
GET /api/v1/graphql Free

Handle Http Get

No API key required.

Data source: GraphQL exposes the same source-aware FXMacroData datasets as the REST endpoints; request source/provenance fields where the schema supports them.

monetary_policy

Monetary Policy

4 paths
GET /api/v1/cb_liquidity/{currency} Free

Central-bank liquidity operations and facility usage

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/cb_rules/{currency} Free

Central bank FX intervention rules and exchange rate regime

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/central_bankers/{currency} Free

Central bank officials — current and past

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/fx_intervention/{currency} Free

Official FX intervention operations

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

domestic_supply_demand

Domestic Supply & Demand

3 paths
GET /api/v1/electricity/{currency} Free

Household electricity prices by currency

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

GET /api/v1/housing/{currency} Free

Housing market indicators by currency

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

GET /api/v1/petrol_prices/{currency} Free

At-the-pump retail petrol/gasoline prices by currency

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

fiscal_policy

Fiscal Policy

7 paths
GET /api/v1/auction_metrics/{currency} Free

Sovereign auction microstructure metrics

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/bond_issuances/{currency} Free

Government bond auction and issuance results

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

GET /api/v1/esg/{currency} Free

Sovereign ESG indicators by currency

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/expenses/{currency} Free

Government expenditure breakdown by function

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/external_debt/{currency} Free

External debt maturity profile

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/fiscal/{currency} Free

National government debt, tax revenue, and budget balance

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

GET /api/v1/treasury_cash/{currency} Free

Treasury cash position and short-term funding pressure

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

politics

Politics & Event Risk

3 paths
GET /api/v1/economic_events Free

Major international economic events relevant to FX

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/elections/{currency} Free

Political elections and FX impact by currency

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/geopolitical_events Free

FX-relevant world events from GDELT

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

international_trade

International Trade

6 paths
GET /api/v1/bop/{currency}/{component} Free

Detailed balance-of-payments component series

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/capital_flows/{currency} Free

Cross-border portfolio flow tracker

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/iip/{currency} Free

International investment position

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/services_trade/{currency} Free

Services trade balance

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

GET /api/v1/shipping/{indicator} Free

Global shipping and maritime indicators

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

GET /api/v1/tariffs/{currency} Free

Trade tariff regimes and FX impact by currency

No API key required.

Data source: This endpoint family is backed by official publisher records such as central-bank, treasury, national statistics, trade, or policy-agency sources, normalized into FXMacroData's Firestore serving layer.

commodities

Commodities

3 paths
GET /api/v1/commodities/latest Pro key required

Get latest stored values for all commodity indicators

A Professional API key is required for every request.

Data source: Commodity series are sourced from official fixing or publisher datasets and served with source, source_url, and provenance metadata.

GET /api/v1/commodities/{indicator} Pro key required

Get commodity indicator data

A Professional API key is required for every request.

Data source: Commodity series are sourced from official fixing or publisher datasets and served with source, source_url, and provenance metadata.

GET /api/v1/opec/{indicator} Free

OPEC oil market indicators

No API key required.

Data source: Data is served from FXMacroData-controlled API or Firestore layers. Domain data endpoints document upstream publisher source/provenance fields where those fields are part of the response contract.

The production OpenAPI schema remains the canonical machine-readable source for path, parameter, and enum metadata: https://fxmacrodata.com/api/openapi.json.

Endpoint family · 01 of 3

Macro data and discovery

Fetch normalized macroeconomic indicator series with announcement timestamps, browse upcoming release schedules, and discover available indicators per currency.

GET /api/v1/announcements/{currency}/{indicator} Pro key · USD free

Historical macroeconomic indicator series with announcement timestamps.

USD is free without a key. All other currencies require a Professional API key.

Data source: Macroeconomic announcement and catalogue rows are normalized from official central-bank, national statistics, treasury, or government publisher releases. Responses expose publisher metadata via source, source_url, and provenance fields where available.
Path parameters
NameTypeRequiredDescription
currency string required 3-letter currency code.
e.g. usd, eur, gbp, jpy, aud, cad, chf, nzd, sgd, sek, dkk, pln, brl, hkd, nok
indicator string required Indicator slug. Use /v1/data_catalogue/{currency} to list available slugs per currency.
e.g. gdp, inflation, core_inflation, policy_rate, unemployment
Query parameters
NameTypeRequiredDescription
start_date string (YYYY-MM-DD) optional Earliest observation date to include. Date filters are applied before pagination. Authenticated requests page through full stored history when omitted; anonymous USD requests are limited to the most recent 365 days.
e.g. 2025-01-01
end_date string (YYYY-MM-DD) optional Latest observation date to include. Defaults to today.
e.g. 2026-03-01
limit integer optional Maximum number of rows to return per page. Defaults to 20; maximum 100.
e.g. 20
page integer optional One-based page number. When supplied, page takes precedence over offset; page=2 with limit=20 is equivalent to offset=20.
e.g. 1, 2, 3
offset integer optional Zero-based row offset after date filtering. Use with pagination.next_offset to request the next page.
e.g. 0, 20, 40
api_key string pro/free Professional API key. Required for non-USD currencies and for USD requests that need history older than 365 days.
e.g. YOUR_API_KEY
Response fields
FieldTypeDescription
currency string 3-letter currency code.
indicator string Indicator slug as requested.
has_official_forecast boolean True if the central bank publishes an official forecast for this indicator.
start_date string Earliest date in the filtered result set (YYYY-MM-DD).
end_date string Latest date in the filtered result set (YYYY-MM-DD).
earliest_available_date string | null Earliest date available for this series before any date filter or pagination is applied.
latest_available_date string | null Latest date available for this series before pagination is applied.
pagination.limit integer Page size used for this response.
pagination.offset integer Zero-based offset used for this response.
pagination.returned_count integer Number of rows included in data[].
pagination.total_count integer Total number of rows matching the path and date filters before pagination.
pagination.has_more boolean True when another page is available.
pagination.next_offset integer | null Offset to use for the next page, or null when there are no more rows.
cb_target object | null Central bank target metadata (e.g. inflation target range), if applicable.
data[].date string Observation date (YYYY-MM-DD).
data[].announcement_id string Stable announcement identifier in the form `{currency}_{indicator}_{date}` — use it to join predictions from /v1/predictions/{currency} and revision history.
data[].val number | null Observed value in the indicator's native unit.
data[].announcement_datetime integer | null Unix timestamp (UTC) of the official data release.
data[].pct_change number | null Period-over-period percentage change.
data[].pct_change_12m number | null 12-month rolling percentage change.
source string Human-readable upstream publisher or source family for this response.
source_url string | null Official publisher URL or source landing page when available.
provenance object Structured provenance metadata including publisher, storage layer, served_by, timestamp field, and value field.
source_series_name string | null Publisher's source-series label when FXMacroData stores one.
source_local_name string | null Local-language or publisher-native series name when available.
provenance.publisher string Official upstream publisher for the requested currency/indicator series.
provenance.storage string FXMacroData serving storage layer, typically FXMacroData Firestore.

Example request

GET https://fxmacrodata.com/api/v1/announcements/usd/inflation?start_date=2025-01-01&end_date=2026-03-01&limit=20&page=1

Public USD endpoint — anonymous callers receive the most recent 365 days. Add `?api_key=YOUR_API_KEY` to page through full stored USD history or to access any other currency. Date filters are applied before pagination. The default page size is 20 rows and the maximum is 100. Use either `page` or `offset`; when both are provided, `page` takes precedence. Forecasts are served separately by /v1/predictions/{currency}; join via `announcement_id`.

Supported currencies (35)
AED ARS AUD BOB BRL CAD CHF CLP CNH COP CZK DKK EUR GBP HKD HUF IDR ILS INR JPY MAD MXN MYR NGN NOK NZD PEN PLN SEK SGD THB TRY TWD USD ZAR
GET /api/v1/predictions/{currency} Pro key · USD free

Forecasts/predictions linked to announcements via announcement_id (market consensus, central-bank forecasts, IMF WEO, surveys).

USD is free without a key. All other currencies require a Professional API key.

Data source: Forecast rows identify the originating forecast source through prediction_source and prediction_source_label; realized actuals join back to official announcement rows by announcement_id.
Path parameters
NameTypeRequiredDescription
currency string required 3-letter currency code.
e.g. usd, eur, gbp, jpy, aud, cad, chf, nzd
Query parameters
NameTypeRequiredDescription
indicator string optional Optional indicator slug filter (e.g. inflation, policy_rate).
e.g. inflation, policy_rate, unemployment
prediction_type string optional Filter by forecast category: market_consensus, market_prediction, survey, central_bank_forecast, imf_weo.
e.g. market_consensus, central_bank_forecast, imf_weo
prediction_source string optional Filter by source identifier (e.g. philly_fed_spf, ecb_spf, imf_weo, rbnz_mps).
e.g. philly_fed_spf, ecb_spf, imf_weo
start_date string (YYYY-MM-DD) optional Earliest period date to include. Date filters are applied before pagination.
e.g. 2025-01-01
end_date string (YYYY-MM-DD) optional Latest period date to include.
e.g. 2026-12-31
limit integer optional Maximum number of announcement groups to return per page. Defaults to 20; maximum 100.
e.g. 20
page integer optional One-based page number. When supplied, page takes precedence over offset.
e.g. 1, 2, 3
offset integer optional Zero-based announcement-group offset after filters are applied.
e.g. 0, 20, 40
api_key string pro/free Professional API key. Required for non-USD currencies and for USD requests that need history older than 365 days.
e.g. YOUR_API_KEY
Response fields
FieldTypeDescription
currency string Currency code as requested.
indicator string | null Indicator filter if provided, otherwise null.
prediction_type string | null Active prediction-type filter, if any.
prediction_source string | null Active prediction-source filter, if any.
count integer Number of announcement groups returned in data[].
prediction_count integer Total number of per-source predictions across all announcement groups.
earliest_available_date string | null Earliest date available for the filtered forecast universe before pagination.
latest_available_date string | null Latest date available for the filtered forecast universe before pagination.
pagination.limit integer Page size used for this response.
pagination.offset integer Zero-based offset used for this response.
pagination.returned_count integer Number of announcement groups included in data[].
pagination.total_count integer Total number of announcement groups matching the filters before pagination.
pagination.has_more boolean True when another page is available.
pagination.next_offset integer | null Offset to use for the next page, or null when there are no more rows.
data[].announcement_id string Identifier of the announcement these forecasts target — matches data[].announcement_id on /v1/announcements/{currency}/{indicator}.
data[].currency string Currency of the forecasted indicator (lowercase).
data[].indicator string Indicator slug of the forecasted release.
data[].date string Reference period date of the forecast (YYYY-MM-DD).
data[].announcement_datetime integer | null Unix timestamp (UTC) of the forecasted announcement, when known.
data[].predictions[].predicted_value number Forecast value in the indicator's native unit.
data[].predictions[].prediction_type string | null Forecast category: market_consensus, market_prediction, survey, central_bank_forecast, imf_weo, fxmacrodata.
data[].predictions[].prediction_source string | null Stable identifier of the prediction data source.
data[].predictions[].prediction_source_label string | null Human-readable name for the prediction source.
data[].predictions[].generated_at integer | null Unix timestamp (UTC) when the prediction was generated, when available.

Example request

GET https://fxmacrodata.com/api/v1/predictions/usd?indicator=inflation&limit=20&page=1

Use the announcement_id to join each prediction with the realised observation returned by /v1/announcements/{currency}/{indicator}. Prediction endpoints paginate announcement groups, with a default page size of 20 and a maximum of 100.

Supported currencies (35)
AED ARS AUD BOB BRL CAD CHF CLP CNH COP CZK DKK EUR GBP HKD HUF IDR ILS INR JPY MAD MXN MYR NGN NOK NZD PEN PLN SEK SGD THB TRY TWD USD ZAR
GET /api/v1/predictions/{currency}/{indicator} Pro key · USD free

All available forecasts for one currency/indicator pair, linked via announcement_id.

USD is free without a key. All other currencies require a Professional API key.

Data source: Forecast rows identify the originating forecast source through prediction_source and prediction_source_label; realized actuals join back to official announcement rows by announcement_id.
Path parameters
NameTypeRequiredDescription
currency string required 3-letter currency code.
e.g. usd, eur, gbp, jpy
indicator string required Indicator slug. Use /v1/data_catalogue/{currency} to discover available slugs.
e.g. inflation, unemployment, policy_rate
Query parameters
NameTypeRequiredDescription
prediction_type string optional Filter by forecast category: market_consensus, market_prediction, survey, central_bank_forecast, imf_weo.
e.g. imf_weo
prediction_source string optional Filter by source identifier.
e.g. philly_fed_spf
start_date string (YYYY-MM-DD) optional Earliest period date. Date filters are applied before pagination.
e.g. 2025-01-01
end_date string (YYYY-MM-DD) optional Latest period date.
e.g. 2026-12-31
limit integer optional Maximum number of announcement groups to return per page. Defaults to 20; maximum 100.
e.g. 20
page integer optional One-based page number. When supplied, page takes precedence over offset.
e.g. 1, 2, 3
offset integer optional Zero-based announcement-group offset after filters are applied.
e.g. 0, 20, 40
api_key string pro/free Professional API key. Required for non-USD currencies and for USD requests that need history older than 365 days.
e.g. YOUR_API_KEY
Response fields
FieldTypeDescription
earliest_available_date string | null Earliest date available for the filtered forecast universe before pagination.
latest_available_date string | null Latest date available for the filtered forecast universe before pagination.
pagination.limit integer Page size used for this response.
pagination.offset integer Zero-based offset used for this response.
pagination.returned_count integer Number of announcement groups included in data[].
pagination.total_count integer Total number of announcement groups matching the filters before pagination.
pagination.has_more boolean True when another page is available.
pagination.next_offset integer | null Offset to use for the next page, or null when there are no more rows.
data[].announcement_id string Identifier matching data[].announcement_id on /v1/announcements/{currency}/{indicator}.
data[].announcement_datetime integer | null Unix timestamp (UTC) of the forecasted announcement.
data[].predictions[].predicted_value number Forecast value in the indicator's native unit.
data[].predictions[].prediction_type string | null Forecast category.
data[].predictions[].prediction_source string | null Stable source identifier.
data[].predictions[].prediction_source_label string | null Human-readable name for the prediction source.
data[].predictions[].generated_at integer | null Unix timestamp (UTC) when the prediction was generated.

Example request

GET https://fxmacrodata.com/api/v1/predictions/usd/inflation?prediction_source=philly_fed_spf&limit=20&page=1

Join predictions to actuals via the announcement_id field shared with /v1/announcements/{currency}/{indicator}. Walk pages with `page`, `offset`, or `pagination.next_offset`.

Supported currencies (35)
AED ARS AUD BOB BRL CAD CHF CLP CNH COP CZK DKK EUR GBP HKD HUF IDR ILS INR JPY MAD MXN MYR NGN NOK NZD PEN PLN SEK SGD THB TRY TWD USD ZAR
GET /api/v1/calendar/{currency} Free

Upcoming release dates for a currency and optional indicator filter.

Fully public — no API key required.

Data source: Release-calendar rows are derived from official publisher schedules and FXMacroData endpoint metadata, with endpoint_path routing back to the source data family.
Path parameters
NameTypeRequiredDescription
currency string required 3-letter currency code or COMM for commodity release schedules.
e.g. usd, eur, gbp, jpy, aud, cad, chf, nzd, sgd, sek, dkk, pln, brl, hkd, nok, COMM
Query parameters
NameTypeRequiredDescription
indicator string optional Optional filter to a specific indicator slug (e.g. inflation, gdp).
e.g. inflation, gdp, unemployment
Response fields
FieldTypeDescription
currency string Currency code as requested.
indicator string | null Indicator filter if provided, otherwise null.
data[].announcement_datetime integer Unix timestamp (UTC) of the upcoming release.
data[].release string Indicator slug for this release row (e.g. inflation, policy_rate).
data[].domain string Present on non-announcement rows (e.g. cot). Identifies the data domain.
data[].endpoint_family string Endpoint family identifier for non-announcement rows (e.g. cot).
data[].endpoint_path string Suggested API path to fetch the full release data.
data[].requires_api_key boolean Whether the linked endpoint requires a Professional API key.
data[].title string Human-readable title for the release (present on extended domain rows).

Example request

GET https://fxmacrodata.com/api/v1/calendar/usd

Returns all upcoming USD macro release dates. Filter by indicator with ?indicator=inflation.

Supported currencies (47)
AED ARS AUD BOB BRL CAD CHF CLP CNH CNY COMM COP CZK DKK DZD EGP EUR GBP HKD HUF IDR ILS INR JPY KRW MAD MXN MYR NGN NOK NZD PEN PHP PKR PLN RUB SAR SEK SGD THB TRY TWD USD UYU VND ZAR COMM
GET /api/v1/data_catalogue/{currency} Free

Available indicator metadata for a currency.

Fully public — no API key required.

Data source: Macroeconomic announcement and catalogue rows are normalized from official central-bank, national statistics, treasury, or government publisher releases. Responses expose publisher metadata via source, source_url, and provenance fields where available.
Path parameters
NameTypeRequiredDescription
currency string required 3-letter currency code.
e.g. usd, eur, gbp, jpy, aud, cad, chf, nzd
Query parameters
NameTypeRequiredDescription
include_capabilities boolean optional If true, adds route and authentication discovery metadata per indicator.
e.g. true
include_coverage boolean optional If true, adds a per-currency availability grid across all supported currencies.
e.g. true
Response fields
FieldTypeDescription
{indicator_slug} object Top-level key is the indicator slug (e.g. gdp, inflation, policy_rate).
{slug}.name string Human-readable indicator name.
{slug}.unit string Unit of measurement (e.g. %YoY, %QoQ, %).
{slug}.frequency string Release frequency (Monthly, Quarterly, Meeting, Daily).
{slug}.has_official_forecast boolean Whether the central bank publishes an official forecast.
{slug}.source string | null Official publisher/source label for this currency and indicator.
{slug}.source_url string | null Official publisher/source URL for this currency and indicator, when available.
coverage[].source string | null Per-currency source label when include_coverage=true.
coverage[].source_url string | null Per-currency official source URL when include_coverage=true.

Example request

GET https://fxmacrodata.com/api/v1/data_catalogue/usd

Lists all indicators available for USD with name, unit, and frequency metadata.

Supported currencies (35)
AED ARS AUD BOB BRL CAD CHF CLP CNH COP CZK DKK EUR GBP HKD HUF IDR ILS INR JPY MAD MXN MYR NGN NOK NZD PEN PLN SEK SGD THB TRY TWD USD ZAR

Endpoint family · 02 of 3

FX market structure and sentiment

Query spot FX pairs and inspect the live global trading-session schedule for market-timing workflows.

GET /api/v1/forex/{base}/{quote} Free

Daily FX spot-rate series for a currency pair, with optional technical indicators.

Fully public — no API key required.

Data source: FX spot series are served from FXMacroData's official reference-rate store. Responses include source and provenance metadata for the underlying rate series.
Path parameters
NameTypeRequiredDescription
base string required Base currency 3-letter code.
e.g. EUR, GBP, USD, AUD
quote string required Quote currency 3-letter code.
e.g. USD, JPY, CHF, CAD
Query parameters
NameTypeRequiredDescription
start_date string (YYYY-MM-DD) optional Earliest trading date to include. Date filters are applied before pagination. Defaults to 365 days ago.
e.g. 2025-01-01
end_date string (YYYY-MM-DD) optional End of the date range. Defaults to today.
e.g. 2026-03-01
limit integer optional Maximum number of trading days to return per page. Defaults to 20; maximum 100.
e.g. 20
page integer optional One-based page number. When supplied, page takes precedence over offset.
e.g. 1, 2, 3
offset integer optional Zero-based row offset after date filtering.
e.g. 0, 20, 40
indicators string optional Comma-separated technical indicator slugs to append to each row (e.g. sma_20,rsi_14).
e.g. sma_20,rsi_14
Response fields
FieldTypeDescription
base string Base currency code.
quote string Quote currency code.
start_date string Earliest date in the series (YYYY-MM-DD).
end_date string Latest date in the series (YYYY-MM-DD).
earliest_available_date string | null Earliest stored trading date for the pair before date filtering and pagination.
latest_available_date string | null Latest stored trading date for the pair before pagination.
pagination.limit integer Page size used for this response.
pagination.offset integer Zero-based offset used for this response.
pagination.returned_count integer Number of rows included in data[].
pagination.total_count integer Total number of rows matching the pair and date filters before pagination.
pagination.has_more boolean True when another page is available.
pagination.next_offset integer | null Offset to use for the next page, or null when there are no more rows.
data[].date string Trading date (YYYY-MM-DD).
data[].val number | null Spot rate for the pair on this date.
indicators.{slug}.{date} number | null Per-date value for the requested technical indicator (e.g. sma_20, rsi_14). Only present when indicators parameter is supplied. Multi-series indicators (macd, bollinger_bands) return nested dicts.
source string Human-readable upstream publisher or source family for this response.
source_url string | null Official publisher URL or source landing page when available.
provenance object Structured provenance metadata including publisher, storage layer, served_by, timestamp field, and value field.

Example request

GET https://fxmacrodata.com/api/v1/forex/eur/usd?start_date=2025-01-01&limit=20&page=1

Returns daily EUR/USD spot rates. Daily market endpoints use the same pagination contract: default page size 20, maximum 100, one-based `page`, zero-based `offset`, and `pagination.next_offset` for traversal.

Supported currencies (35)
AED ARS AUD BOB BRL CAD CHF CLP CNH COP CZK DKK EUR GBP HKD HUF IDR ILS INR JPY MAD MXN MYR NGN NOK NZD PEN PLN SEK SGD THB TRY TWD USD ZAR
GET /api/v1/market_sessions Free

Real-time FX market-session and overlap timetable.

Fully public — no API key required.

Data source: Market-session status is calculated from exchange-session calendars and timezone rules rather than a third-party price feed.
Query parameters
NameTypeRequiredDescription
at string (ISO-8601 UTC) optional Optional reference timestamp for scheduling or back-testing. Defaults to current server time.
e.g. 2026-03-05T12:00:00Z
Response fields
FieldTypeDescription
now_utc string Current server time in ISO-8601 UTC.
now_unix integer Current server time as Unix epoch.
is_market_day boolean False on weekends and major market holidays.
sessions[].name string Session name (Sydney, Tokyo, London, New York).
sessions[].display_name string Full descriptive name including region.
sessions[].description string Brief characterisation of the session.
sessions[].currencies array Currency codes most active during this session.
sessions[].timezone string IANA timezone for the session's home market.
sessions[].open_utc string Today's session open in ISO-8601 UTC.
sessions[].close_utc string Today's session close in ISO-8601 UTC.
sessions[].is_open boolean Whether the session is currently open.
sessions[].seconds_to_open integer | null Seconds until this session opens (null if already open or closed for the day).
sessions[].seconds_to_close integer | null Seconds until this session closes (null if not currently open).
overlaps[].name string Overlap window name (e.g. London / New York).
overlaps[].sessions array Session names that form this overlap.
overlaps[].description string Characterisation of liquidity during this overlap.
overlaps[].priority string Liquidity priority — high, medium, or low.
overlaps[].notable_pairs array Most actively traded pairs during this overlap.
overlaps[].start_utc string Overlap window start in ISO-8601 UTC.
overlaps[].end_utc string Overlap window end in ISO-8601 UTC.
overlaps[].is_active boolean Whether the overlap window is currently active.
overlaps[].duration_hours number Duration of the overlap in hours.

Example request

GET https://fxmacrodata.com/api/v1/market_sessions

Returns a real-time snapshot of all four sessions plus overlap windows. Use ?at=2026-03-05T08:00:00Z for a historical snapshot.

Endpoint family · 03 of 3

Market positioning and metals

CFTC Commitment of Traders positioning by currency and precious metals price series for cross-market analysis.

GET /api/v1/cot/{currency} Pro key required

Weekly CFTC Commitment of Traders positioning by currency.

Always requires a Professional API key.

Data source: COT positioning is sourced from the CFTC Commitment of Traders public reporting API and served with CFTC source_url/provenance metadata.
Path parameters
NameTypeRequiredDescription
currency string required 3-letter currency code. Maps to the corresponding CME FX futures contract.
e.g. USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD
Query parameters
NameTypeRequiredDescription
start_date string (YYYY-MM-DD) optional Earliest as-of date to include. Date filters are applied before pagination. Defaults to 52 weeks ago.
e.g. 2025-01-01
end_date string (YYYY-MM-DD) optional End of the date range. Defaults to today.
e.g. 2026-03-01
limit integer optional Maximum number of weekly rows to return per page. Defaults to 20; maximum 100.
e.g. 20
page integer optional One-based page number. When supplied, page takes precedence over offset.
e.g. 1, 2, 3
offset integer optional Zero-based row offset after date filtering.
e.g. 0, 20, 40
api_key string required Professional API key.
e.g. YOUR_API_KEY

Supported currencies

AUD CAD CHF EUR GBP HUF JPY MXN NZD TRY USD
Response fields
FieldTypeDescription
currency string 3-letter currency code.
instrument string Full CFTC instrument name (e.g. JAPANESE YEN - CHICAGO MERCANTILE EXCHANGE).
fx_overlay.pair string Conventional spot pair label for chart overlays (e.g. USD/JPY, GBP/USD, DXY).
start_date string Start of the returned series (YYYY-MM-DD).
end_date string End of the returned series (YYYY-MM-DD).
earliest_available_date string | null Earliest stored COT date for this currency before date filtering and pagination.
latest_available_date string | null Latest stored COT date for this currency before pagination.
pagination.limit integer Page size used for this response.
pagination.offset integer Zero-based offset used for this response.
pagination.returned_count integer Number of rows included in data[].
pagination.total_count integer Total number of rows matching the filters before pagination.
pagination.has_more boolean True when another page is available.
pagination.next_offset integer | null Offset to use for the next page, or null when there are no more rows.
data[].date string Tuesday as-of date for the COT snapshot (YYYY-MM-DD).
data[].announcement_datetime integer Unix timestamp of the Friday 3:30 PM ET CFTC publication for this row.
data[].open_interest integer Total open interest across all participants.
data[].noncommercial_long integer Non-commercial (speculative) long positions.
data[].noncommercial_short integer Non-commercial (speculative) short positions.
data[].noncommercial_net integer Net speculative positioning (long minus short).
data[].noncommercial_spread integer Non-commercial spread positions.
data[].commercial_long integer Commercial (hedger) long positions.
data[].commercial_short integer Commercial (hedger) short positions.
data[].commercial_net integer Net commercial positioning (long minus short).
data[].total_reportable_long integer Total reportable long positions.
data[].total_reportable_short integer Total reportable short positions.
data[].nonreportable_long integer Non-reportable (small trader) long positions.
data[].nonreportable_short integer Non-reportable (small trader) short positions.
source string Human-readable upstream publisher or source family for this response.
source_url string | null Official publisher URL or source landing page when available.
provenance object Structured provenance metadata including publisher, storage layer, served_by, timestamp field, and value field.

Example request

GET https://fxmacrodata.com/api/v1/cot/usd?start_date=2025-01-01&limit=20&page=1&api_key=YOUR_API_KEY

Returns USD COT history. All COT requests require a Professional API key. Data sourced from the CFTC Legacy Futures-Only report. Use `page`, `offset`, or `pagination.next_offset` to fetch additional weekly rows.

GET /api/v1/commodities/{indicator} Pro key required

Precious metals price series for gold, silver, and platinum.

Always requires a Professional API key regardless of indicator.

Data source: Commodity series are sourced from official fixing or publisher datasets and served with source, source_url, and provenance metadata.
Path parameters
NameTypeRequiredDescription
indicator string required Commodity indicator slug.
e.g. gold, silver, platinum
Query parameters
NameTypeRequiredDescription
start_date string (YYYY-MM-DD) optional Earliest observation date to include. Date filters are applied before pagination. Defaults to 365 days ago.
e.g. 2025-01-01
end_date string (YYYY-MM-DD) optional End of the date range. Defaults to today.
e.g. 2026-03-01
limit integer optional Maximum number of daily rows to return per page. Defaults to 20; maximum 100.
e.g. 20
page integer optional One-based page number. When supplied, page takes precedence over offset.
e.g. 1, 2, 3
offset integer optional Zero-based row offset after date filtering.
e.g. 0, 20, 40
api_key string required Professional API key.
e.g. YOUR_API_KEY
Supported metals indicators (3)
SlugNameUnitFrequency
gold Gold (LBMA PM Fix) USD/troy oz Daily
silver Silver (LBMA Fix) USD/troy oz Daily
platinum Platinum Spot USD/troy oz Daily
Response fields
FieldTypeDescription
currency string Always COMM (commodity namespace).
indicator string Precious metals slug as requested (e.g. gold, silver, platinum).
has_official_forecast boolean Always false — precious metals have no official central bank forecast.
start_date string Earliest date in the returned series (YYYY-MM-DD).
end_date string Latest requested end date (YYYY-MM-DD).
earliest_available_date string | null Earliest stored date for the commodity series before date filtering and pagination.
latest_available_date string | null Latest stored date for the commodity series before pagination.
pagination.limit integer Page size used for this response.
pagination.offset integer Zero-based offset used for this response.
pagination.returned_count integer Number of rows included in data[].
pagination.total_count integer Total number of rows matching the filters before pagination.
pagination.has_more boolean True when another page is available.
pagination.next_offset integer | null Offset to use for the next page, or null when there are no more rows.
data[].date string Observation date (YYYY-MM-DD).
data[].val number | null Price or index value in the indicator's native unit.
data[].announcement_datetime integer | null Unix timestamp of the official data publication (null for daily prices).
data[].pct_change number | null Period-over-period percentage change.
data[].pct_change_12m number | null 12-month rolling percentage change.
source string Human-readable upstream publisher or source family for this response.
source_url string | null Official publisher URL or source landing page when available.
provenance object Structured provenance metadata including publisher, storage layer, served_by, timestamp field, and value field.

Example request

GET https://fxmacrodata.com/api/v1/commodities/gold?start_date=2025-01-01&limit=20&page=1&api_key=YOUR_API_KEY

Returns gold LBMA PM Fix daily spot prices. Replace gold with silver or platinum for the other supported metals. Daily commodity endpoints use the same paginated contract as daily FX and bond-style series.

Indicator coverage

Announcement endpoint index

Per-currency detail pages for every announcement indicator. USD endpoints are free; all others require a Professional subscription.

Economy (28)

Balance on Goods

balance_on_goods

Balance of payments: trade in goods.

Balance on Services

balance_on_services

Balance of payments: trade in services.

Building Permits

building_permits

Number of new residential construction permits authorized, a leading indicator of future housing activity and...

Business Confidence

business_confidence

Survey-based measure of business executives' outlook on economic conditions, production, and investment plans.

Consumer Confidence

consumer_confidence

Survey-based measure of consumers' confidence in economic conditions, employment prospects, and personal finances.

Core Inflation

core_inflation

CPI excluding volatile items like food and energy.

Core Inflation MoM

core_inflation_mom

Month-over-month change in core consumer prices (excluding food and energy), tracking underlying inflation trends.

Current Account Balance

current_account_balance

Measures trade in goods and services and income flows.

Dairy Exports

dairy_exports

Monthly New Zealand dairy export value from official Stats NZ overseas merchandise trade HS10 export data.

Durable Goods Orders

durable_goods_orders

Measures new orders placed with domestic manufacturers for delivery of long-lasting goods.

Exports of Goods & Services

exports

Total exports reported by ABS (AUD millions), quarterly based on national accounts.

Gross Domestic Product (GDP) Growth

gdp

GDP growth: the quarterly change in the inflation-adjusted value of all goods and services produced in the economy.

Government Debt

government_debt

Total outstanding debt obligations of the central government, indicating fiscal sustainability and public sector...

House Price Index

house_price_index

Measures changes in residential property prices over time, reflecting housing market conditions and consumer wealth.

Housing Starts

housing_starts

Number of new residential construction projects that have begun in a given period, a key indicator of economic...

Imports of Goods & Services

imports

Total imports reported by ABS (AUD millions), quarterly based on national accounts.

Industrial Production

industrial_production

Measures the output of the industrial sector (manufacturing, mining, utilities).

Inflation Rate (CPI/HICP)

inflation

Headline inflation: the year-over-year percentage change in the Consumer Price Index (CPI), the standard measure...

Inflation MoM

inflation_mom

Month-over-month change in the consumer price index, measuring short-term inflationary momentum.

Services PMI (NMI)

nmi

Non-Manufacturing Index (NMI) or Services PMI, a leading indicator of economic activity in the services sector. A...

PCE Price Index

pce

The headline Personal Consumption Expenditures price index published by BEA.

PCE MoM

pce_mom

Month-over-month change in the Personal Consumption Expenditures price index.

Manufacturing PMI

pmi

Purchasing Managers' Index for the manufacturing sector, a leading indicator of economic activity based on surveys...

Producer Price Index (PPI)

ppi

Measures the average change over time in the selling prices received by domestic producers for their output.

Producer Price Index MoM (PPI)

ppi_mom

Month-over-month change in producer prices, an early indicator of inflationary pressure in the supply chain.

Retail Sales

retail_sales

Measures change in the total value of sales at the retail level.

Trade Balance

trade_balance

The difference between the value of a country's exports and imports.

Trade-Weighted Index (NEER)

trade_weighted_index

Nominal Effective Exchange Rate (NEER) measuring the value of a currency relative to a basket of trading partners'...

Labor Market (11)

Average Hourly Earnings

average_hourly_earnings

Measures the change in the price businesses pay for labor.

Employment Level

employment

Total number of employed persons.

Full-Time Employment

full_time_employment

Number of persons employed full-time.

Initial Jobless Claims

initial_jobless_claims

Weekly initial unemployment insurance claims.

Job Openings

job_openings

Total number of unfilled job positions, a key indicator of labor market demand and tightness.

NAIRU (Natural Rate of Unemployment)

nairu

Non-Accelerating Inflation Rate of Unemployment — the estimated unemployment rate consistent with stable inflation,...

Non-Farm Payrolls (NFP)

non_farm_payrolls

Number of workers in the U.S. excluding farm workers.

Part-Time Employment

part_time_employment

Number of persons employed part-time.

Labor Force Participation Rate

participation_rate

Ratio of the labor force to the working-age population.

Unemployment Rate

unemployment

Percentage of the labor force that is unemployed.

Average Weekly Earnings / Wages

wages

Measures nominal wage growth.

Money & Credit (11)

Broad Money (M3)

broad_money

Total money supply including cash, deposits and other liquid assets.

Credit Growth

credit_growth

Total credit growth from RBA series.

Total Domestic Credit

domestic_credit

Net credit to central government + private sector credit. RBNZ column C+D.

Narrow Money (M1)

m1

Currency in circulation + transaction deposits. RBNZ column A.

M2 Money Supply

m2

M1 + savings deposits (on-call). RBNZ derived: column A + B1.

Broad Money (M3)

m3

M1 + savings + term deposits. RBNZ column A+B (broadest aggregate).

Currency in Circulation

money_supply_currency

Currency held by the public. M1 sub-component A1.

Savings Deposits

money_supply_savings_deposits

On-call savings deposits. M2 incremental component B1.

Term Deposits

money_supply_term_deposits

Fixed-term deposits. M3 incremental component B2.

Transaction Deposits

money_supply_transaction_deposits

Demand deposits. M1 sub-component A2.

Private Sector Credit

private_sector_credit

Loans, debt securities, and other credit to private sector. RBNZ column D.

Monetary Policy (5)

Central Bank Total Assets

cb_assets

Total assets on the central bank's balance sheet, reflecting the scale of monetary policy operations including...

Foreign Exchange Reserves

foreign_reserves

Assets held by the central bank in foreign currencies, used to support the exchange rate and manage monetary policy....

Gold Reserves

gold_reserves

Quantity of gold held by the central bank as part of its foreign exchange reserves, measured in value terms.

Central Bank Policy Rate

policy_rate

Primary interest rate set by the Central Bank.

Risk Free Rate

risk_free_rate

Overnight lending rate between banks.

Government Bond Yields (12)

10-Year Breakeven Inflation Rate

breakeven_inflation_rate

10-Year Government Bond Yield

gov_bond_10y

1-Year Government Bond Yield

gov_bond_1y

20-Year Government Bond Yield

gov_bond_20y

2-Year Government Bond Yield

gov_bond_2y

30-Year Government Bond Yield

gov_bond_30y

3-Year Government Bond Yield

gov_bond_3y

40-Year Government Bond Yield

gov_bond_40y

4-Year Government Bond Yield

gov_bond_4y

5-Year Government Bond Yield

gov_bond_5y

7-Year Government Bond Yield

gov_bond_7y

Inflation-Linked Bond Yield

inflation_linked_bond

Interest Rates (1)

Overnight Deposit Rate

deposit_rates

Overnight deposit rate at registered banks. RBNZ daily banking rates.

SNB Indicators (2)

Sight Deposits

sight_deposits

SNB sight deposits (Girokonto balances).

SNB Balance Sheet

snb_balance_sheet

SNB total balance sheet assets.

Additional Indicators (37)

BoC Business Outlook

boc_business_outlook

Indicator validated by integration tests.

Building Approvals

building_approvals

Indicator validated by integration tests.

Central Bank Reserves - Domestic Currency

cb_reserves_domestic_currency

Central Bank Reserves - Foreign Currency

cb_reserves_foreign_currency

Central Bank Reserves - Gold

cb_reserves_gold

Energy Commodities

commodity_price_energy

Indicator validated by integration tests.

Ex-Energy Commodities

commodity_price_ex_energy

Indicator validated by integration tests.

Commodity Price Index

commodity_price_index

Indicator validated by integration tests.

Commodity Prices

commodity_prices

Indicator validated by integration tests.

Consumer Expectations

consumer_expectations

Indicator validated by integration tests.

Core Inflation (Median)

core_inflation_median

Indicator validated by integration tests.

Core Inflation (Trim)

core_inflation_trim

Indicator validated by integration tests.

Core PCE (PCE ex Food & Energy)

core_pce

Excess Reserves (Local Currency)

excess_reserves

FX Reserves

fx_reserves

Indicator validated by integration tests.

Quarterly GDP

gdp_quarterly

Indicator validated by integration tests.

House Prices

house_prices

Indicator validated by integration tests.

Household Credit

household_credit

Indicator validated by integration tests.

Inflation Expectations

inflation_expectations

Indicator validated by integration tests.

Inflation (YTD)

inflation_ytd

KOF Barometer

kof_barometer

Indicator validated by integration tests.

Local Currency Deposits Share

local_currency_deposits_pct

Local Currency Loans Share

local_currency_loans_pct

Monetary Base

monetary_base

Monetary Emission

monetary_emission

Monthly CPI

monthly_cpi

Indicator validated by integration tests.

Mortgage Rate

mortgage_rate

Indicator validated by integration tests.

Other Deposits

other_deposits

Marginal Lending Facility Rate

policy_rate_mlf

Main Refinancing Operations Rate

policy_rate_mro

Federal Funds Target Range Lower Bound

policy_rate_target_lower

Real Exchange Rate

real_exchange_rate

Indicator validated by integration tests.

Tankan Capex

tankan_capex

Indicator validated by integration tests.

Terms of Trade

terms_of_trade

Indicator validated by integration tests.

Total Deposits

total_deposits

Trimmed Mean Inflation

trimmed_mean_inflation

Indicator validated by integration tests.

Wage Price Index

wage_price_index

Indicator validated by integration tests.

API response structure

Representative payload snapshots

Example field values from the live production contract. Core timestamp semantics are consistent across families; each endpoint adds domain-specific fields on top.

Discovery

USD catalogue metadata

Indicator discovery is not limited to one headline series. The live USD catalogue currently includes growth, inflation, rates, labor, housing, liquidity, and reserve metrics.

/api/v1/data_catalogue/usd
gdp GDP · %QoQ · Quarterly
inflation Inflation CPI · %YoY · Monthly
policy_rate Policy Rate · % · Meeting

Announcement Series

EUR inflation release data

Announcement series return a top-level envelope plus a data array of observations, each stamped with the exact publication timestamp used for event-driven research.

/api/v1/announcements/eur/inflation
currency EUR
indicator inflation
has_official_forecast false
data[0].date 2026-02-28
data[0].val 2.3
data[0].announcement_datetime 1772272800

COT Positioning

GBP speculative positioning

Weekly CFTC COT data tracks net speculative positioning by currency. Includes open interest, long/short splits for commercial, non-commercial, and non-reportable traders.

/api/v1/cot/gbp
currency GBP
instrument BRITISH POUND - CME
fx_overlay.pair GBP/USD
data[0].date 2026-02-24
data[0].open_interest 245,678
data[0].noncommercial_net -8,020

Release Calendar

JPY upcoming releases

The calendar endpoint returns upcoming releases sorted by announcement timestamp. Non-announcement rows (e.g. COT) include routing metadata like endpoint_path.

/api/v1/calendar/jpy
currency JPY
data[0].release policy_rate
data[0].announcement_datetime 1774580400
data[1].endpoint_family cot
data[1].endpoint_path /v1/cot/jpy
data[1].requires_api_key true

Metals

Gold LBMA PM Fix prices

Precious metals series return daily price data from official sources with period-over-period and 12-month change enrichment.

/api/v1/commodities/gold
currency COMM
indicator gold
data[0].date 2026-02-28
data[0].val 2870.00
data[0].pct_change 1.2
data[0].pct_change_12m 30.1

Market Sessions

Live FX session snapshot

The market sessions endpoint returns real-time open/close state for Sydney, Tokyo, London, and New York, plus overlap windows showing peak-liquidity periods.

/api/v1/market_sessions
is_market_day true
sessions[0].name London
sessions[0].is_open true
sessions[0].seconds_to_close 18000
overlaps[0].name London / New York
overlaps[0].priority high

Rates & Curves

EUR/USD rate differential

Pair rate differentials align both currency legs by intersection date and return spread values in percentage points and basis points.

/api/v1/rate_differentials/eur/usd
base EUR
quote USD
measure_used risk_free_rate
latest_spread -1.90
latest_spread_bps -190.0
data[0].date 2026-06-02

Forward Analytics

GBP derived forward curve

Forward-rate segments are derived from stored government spot tenor nodes and explicitly labeled as analytical outputs rather than raw stored series.

/api/v1/forward_curves/gbp
currency GBP
curve_family government_nominal
method derived_from_spot_nodes
data[0].label 2y1y
data[0].val 3.60
official_forward_source_support.source_type official_statistical_release

Schema and connectors

OpenAPI schema and MCP reference

The production OpenAPI schema is the authoritative path list. The MCP reference covers remote AI tooling and OAuth connector behavior.

Need help

Still have questions?

If the reference does not cover your use case, send the endpoint path, date range, response code, and request timestamp so support can reproduce it quickly.

Trust Signals

Source Integrity

Official central-bank, statistics-office, and government-publisher feeds.

Runtime Reliability

Production responses are served from FXMacroData-owned Firestore-backed datasets.

Operational Transparency

Rate limits, status visibility, and support SLAs are documented publicly.

AI Answer-Ready

Key Facts

Page
Documentation
Section
Documentation
Canonical URL
https://fxmacrodata.com/documentation
Source
FXMacroData editorial and official publisher references
Last Updated
See page metadata

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains Documentation with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.

Share page X LinkedIn Email