Use Cases
- Track rate decisions by central bank and currency.
- Build carry and rate-differential dashboards around policy-rate history.
- Study FX moves around decisions using publication timestamps rather than reference dates.
Central Bank Data API
Use FXMacroData for central-bank policy-rate series when you need structured API access, decision timing, historical values, and FX-focused context. Rate structures are modelled explicitly: policy_structure and policy_role say whether a value is a single rate, a target range bound, or a midpoint.
Last updated
FXMacroData serves these 22 currencies in the production API. Each row names the central bank behind the policy series and the statistics office that publishes the consumer price index. Every announcement response repeats the publisher in source and links the release itself in source_url.
| Code | Currency | Area | Central bank | CPI publisher |
|---|---|---|---|---|
| USD | US Dollar | United States | Federal Reserve | BLS |
| EUR | Euro | Eurozone | European Central Bank | Eurostat |
| GBP | British Pound | United Kingdom | Bank of England | ONS |
| JPY | Japanese Yen | Japan | Bank of Japan | Statistics Bureau |
| AUD | Australian Dollar | Australia | Reserve Bank of Australia | ABS |
| CAD | Canadian Dollar | Canada | Bank of Canada | Statistics Canada |
| CHF | Swiss Franc | Switzerland | Swiss National Bank | FSO |
| NZD | New Zealand Dollar | New Zealand | Reserve Bank of New Zealand | Stats NZ |
| BRL | Brazilian Real | Brazil | Banco Central do Brasil | IBGE |
| CNH | Offshore Chinese Yuan | China (Offshore) | People's Bank of China | NBS |
| CNY | Chinese Yuan | China | People's Bank of China | NBS |
| DKK | Danish Krone | Denmark | Danmarks Nationalbank | Statistics Denmark |
| HUF | Hungarian Forint | Hungary | National Bank of Hungary | |
| ILS | Israeli New Shekel | Israel | Bank of Israel | Bank of Israel / Central Bureau of Statistics |
| KRW | South Korean Won | South Korea | Bank of Korea | Statistics Korea |
| MYR | Malaysian Ringgit | Malaysia | Bank Negara Malaysia | DOSM |
| NGN | Nigerian Naira | Nigeria | Central Bank of Nigeria | CBN |
| NOK | Norwegian Krone | Norway | Norges Bank | Statistics Norway |
| PEN | Peruvian Sol | Peru | Banco Central de Reserva del Perú | INEI |
| SEK | Swedish Krona | Sweden | Riksbank | Statistics Sweden |
| THB | Thai Baht | Thailand | Bank of Thailand | IMF IFS |
| TWD | New Taiwan Dollar | Taiwan | Central Bank of the Republic of China | DGBAS |
CNH is served as a read alias of CNY and shares China's publishers. An FX pair is served where both legs appear in this list; a pair with an unsupported leg returns 404.
Counts below are measured from the stored history, not from the catalogue: a market appears against a family only where that family has observations on record. "Markets" counts the production API currencies in the table above.
| Release family | Markets | Earliest observation | Series in this family |
|---|---|---|---|
| Central bank policy | 19 of 22 | 1975-01-02 (51.8 years) | Policy rate, Risk-free rate, Central-bank assets, Snb Balance Sheet, Sight Deposits, Deposit Rates |
| Rates and bond yields | 17 of 22 | 1974-09-24 (52.1 years) | 1Y yield, 2Y yield, 3Y yield, 5Y yield, 7Y yield, 10Y yield |
Central bank policy covers 19 of the 22 production currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, BRL, CNH, CNY, DKK, HUF, ILS, NGN, NOK, SEK, THB, TWD), with history from 1975-01-02. Policy rates, risk-free rates, deposit rates, liquidity settings, and official balance-sheet releases.
Rates and bond yields covers 17 of the 22 production currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, CNH, CNY, DKK, ILS, MYR, NOK, PEN, SEK, THB), with history from 1974-09-24. Government yield nodes, inflation-linked yields, breakevens, and curve-ready rates history.
The response envelope carries the series identity and its provenance; every element of the data array carries the released value and the timing metadata around it.
GET https://api.fxmacrodata.com/v1/announcements/{currency}/{indicator}
currency, indicator, name, unit, value_name, source, source_url, source_series_id, source_series_name, source_local_name, seasonal_adjustment, price_basis, is_proxy, proxy_note, provenance, policy_role, policy_structure, comparison_compatible, policy_family, has_official_forecast, requested_start_date, requested_end_date, requested_window_has_data, page_includes_latest_available, start_date, end_date, earliest_available_date, latest_available_date, cb_target, remap, filters, selected_series_id, selected_series, supported_options, data_quality, replay, dataset_version, value_mode, value_metadata, pagination, freemium_window, freemium_delay, no_data, data
source_validity_status, source_correction, announcement_id, date, val, source, source_url, source_url_scope, previous_value, previous_date, previous_announcement_datetime, change, change_from_previous, pct_change_from_previous, original_val, original_unit, val_mom, observation_id, announcement_datetime, announcement_datetime_local, release_time_assumed, release_time_upper_bound, publication_time_status, publication_time_precision, publication_time_basis, vintage_status, is_first_release, observed_at_ns, observed_at_ns_string, collected_at_ns_string, publication_at_ns, publication_at_ns_string, announcement_source_url, source_artifact_sha256, capture_time_basis, geography, period_basis, methodology_id, source_period_label_conflict, source_methodology_status, selected_vintage_known_at_ns, replay_vintage_verified, official_planned_release_datetime, official_planned_release_datetime_local, official_actual_release_datetime, official_actual_release_datetime_local, collected_at_ns, collected_at_iso, ingestion_latency_ms, ingestion_latency_reference, release_timing, pct_change, pct_change_yoy, pct_change_qoq, pct_change_mom, pct_change_12m, revisions, revisions_summary, outside_requested_window, requested_start_date, requested_end_date, returned_reason, staleness_days, canonical_indicator, raw_indicator, remap_applied, remap_rule_id, remap_segment_id
release_time_assumed
Present and true when announcement_datetime was derived from the publication lag measured on this series' confirmed releases, because no official release calendar reaches the period. Omitted on rows whose publication time was captured from the release.
Field names are read from the published OpenAPI schema at api.fxmacrodata.com/openapi.json, so this list stays in step with the API contract. Optional fields are omitted from a row rather than returned as null.
point_in_time_safe
Whether the returned values have verified availability and vintage evidence; estimated release times do not qualify.
has_assumed_release_times
True when at least one row in the quality scope carries a publication timestamp derived from the publication lag measured on that series' own confirmed releases, because no official release calendar reaches the period.
assumed_release_time_count
Number of rows in the quality scope whose publication timestamp was derived rather than captured. Compare against row_count to size the derived portion of the requested window.
release_time_assumed
Present and true when announcement_datetime was derived from the publication lag measured on this series' confirmed releases, because no official release calendar reaches the period. Omitted on rows whose publication time was captured from the release.
The full contract, including the availability reasons and the provenance block, is on the forecasts and consensus reference.
| Plan | Price | What it covers |
|---|---|---|
| Free, no API key | $0 | USD endpoints answer without an API key, up to 100 requests per day, returning the most recent 90 days on a 15-minute release delay. Health checks, catalogue discovery, release calendars, market-session status and risk sentiment need no key at all. |
| Individual | $50 / month | All 22 production currencies and full history, with a 14-day trial. Licensed for your own work. |
| Business | $250 / month | The same data, licensed to a company or team, for up to 10 people with member API keys, company invoices and a 14-day trial. |
| Enterprise | Custom agreement | For banks, funds and institutions that need negotiated terms, procurement or security review, service levels, or more than ten users. Arranged directly with our team. |
| Commercial Redistribution add-on | $10 / audience block / month | Added to a paid plan when other people see the data through you. One block covers up to 100 measured users; one block minimum. |
Paid plans differ by permitted use, not by which currencies or indicators they unlock. The plans are Individual, Business and Enterprise. There is no Startup plan.
The twenty-two production currencies map to the Federal Reserve, European Central Bank, Bank of England, Bank of Japan, Reserve Bank of Australia, Bank of Canada, Swiss National Bank, Reserve Bank of New Zealand, Banco Central do Brasil, People's Bank of China (CNY and CNH), Danmarks Nationalbank, Magyar Nemzeti Bank, Bank of Israel, Bank of Korea, Bank Negara Malaysia, Central Bank of Nigeria, Norges Bank, Banco Central de Reserva del Peru, Riksbank, Bank of Thailand and the Central Bank of the Republic of China (Taiwan).
As separate series. policy_rate carries the upper bound, with policy_rate_target_lower and policy_rate_midpoint alongside it; policy_role names which one you are holding and policy_family lists the others.
announcement_datetime is Unix epoch seconds in UTC, with announcement_datetime_local in the central bank's own timezone.
No, and the response says so. Where an official schedule reaches the period, the time is captured from the release. Where it does not, the time is derived from the median publication lag on that series' confirmed releases, and the row carries release_time_assumed: true.
Gate on the per-row release_time_assumed flag and on assumed_release_time_count against row_count, rather than on the point_in_time_safe boolean alone. That boolean describes the whole requested window, so a single derived row clears it for the entire response.
Where a publisher produces them. /v1/predictions carries central_bank_projection, compiled_consensus, market_implied and other classes; filter on prediction_class and read the availability block when a class comes back empty.
USD policy-rate history is free without an API key within the most recent 90 days at up to 100 requests per day, on a 15-minute release delay. Individual is $50 per month for solo engineers and one-person projects, including commercial development, with a 14-day trial, Business is $250 per month for incorporated businesses with two or more people, Enterprise is arranged by custom agreement, and there is no Startup plan.
Last updated
Coverage, licensing, pricing and integration. Subscribers can also retrieve data.
Answers use AI. Questions are sent to Google. Your email and conversation are saved for support follow-up. Never include keys. Privacy