Skip to content

FXMacroData in ChatGPT

FXMacroData for ChatGPT

The fastest way to use FXMacroData in ChatGPT is the Forex Macro Research FXMacroData Custom GPT. Developers can also connect the MCP server or import the ChatGPT Actions-safe OpenAPI schema. USD endpoints answer without an API key, so a ChatGPT session can verify the data before anyone subscribes.

Last updated

Currencies served: 22

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.

Measured coverage by release family

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
Inflation 17 of 22 1914-01-31 (112.7 years) CPI, Core CPI, CPI MoM, PPI, PPI MoM, PCE
Central bank policy 19 of 22 1975-01-02 (51.7 years) Policy rate, Risk-free rate, Central-bank assets, Snb Balance Sheet, Sight Deposits, Deposit Rates
Jobs and wages 16 of 22 1948-01-31 (78.7 years) Unemployment, Employment, Full Time Employment, Part Time Employment, Non-farm payrolls, Participation
Growth and activity 18 of 22 1947-03-31 (79.5 years) GDP, Retail Sales, Industrial Production, Durable Goods Orders, Business confidence, Business sentiment

Inflation covers 17 of the 22 production currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, BRL, CNH, CNY, DKK, HUF, ILS, NOK, SEK, THB), with history from 1914-01-31. CPI, core inflation, trimmed means, PPI, PCE, and inflation-expectation releases where published.

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.

Jobs and wages covers 16 of the 22 production currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, BRL, CNH, CNY, DKK, NOK, SEK, THB, TWD), with history from 1948-01-31. Unemployment, employment levels, payrolls, participation, job openings, and wage measures.

Growth and activity covers 18 of the 22 production currencies (USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, BRL, CNH, CNY, DKK, HUF, ILS, MYR, NOK, SEK, THB), with history from 1947-03-31. GDP, retail sales, industrial production, durable goods, business confidence, consumer confidence, and other activity indicators.

Announcements response fields

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}

Response envelope

currency, indicator, name, 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

Fields on every row of data[]

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, 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, release_timing, ingestion_latency_ms, ingestion_latency_reference, pct_change, pct_change_yoy, pct_change_qoq, pct_change_mom, pct_change_12m, revisions, 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.

What the release timestamps mean

  • announcement_datetime is Unix epoch seconds in UTC. Every row also carries announcement_datetime_local in the publisher's own timezone, and calendar rows add announcement_datetime_utc as an ISO-8601 string.
  • Where an official release calendar covers the period, the timestamp is the publication time captured from that release.
  • Where no official calendar reaches the period, which is common for history going back decades, the timestamp is derived from the median publication lag measured on that same series' confirmed releases and snapped to a valid announcement day. Those rows carry release_time_assumed: true and are counted in assumed_release_time_count.
  • data_quality.point_in_time_safe describes the window you requested, not the product: a single derived row anywhere in that window clears it for the whole response, so long histories commonly return false. Gate a point-in-time workflow on the per-row release_time_assumed flag and on assumed_release_time_count against row_count.
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.

Where consensus and forecast values come from

  • Forecasts live on /v1/predictions, not on the announcements endpoint, so an expected value is never mixed into a released one.
  • prediction_class names how the number was produced: compiled_consensus, forecaster_survey, market_implied, model_nowcast, central_bank_projection, institutional_projection, or fxmacrodata. Two of those seven are a genuine consensus of forecasters and the other five are not, so filtering on prediction_class is how you ask for the one you want.
  • prediction_source names the publication behind the number, for example philly_fed_spf, cleveland_fed_nowcast, fomc_sep, atlanta_fed_gdpnow, ny_fed_sme, ecb_spf, imf_weo or rbnz_mps, and prediction_source_label carries its display name.
  • Availability is set by the publisher, not by your plan. Many releases have no compiled consensus from any official source, and where none exists no subscription adds one.
  • A filtered request that matches nothing still returns HTTP 200. The availability block lists which classes have a publishing source for that currency and indicator at all, and why the class you asked for came back empty.

The full contract, including the availability reasons and the provenance block, is on the forecasts and consensus reference.

Pricing and access

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.
Enterprise $1,000 / month The same data, licensed for use inside a business, with support and governance.
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. There is no Startup plan.

See plan details and start a trial

Use Cases

  • Ask natural-language questions about macro releases and FX context.
  • Find the right FXMacroData endpoint before writing code.
  • Move from a ChatGPT research prompt into MCP, REST API, or dashboard workflows.

Why FXMacroData

  • USD announcements, the release calendar and catalogue discovery answer without an API key, so a model can check the data itself.
  • Every row carries source, source_url and announcement_datetime, so an assistant can cite the original publication.
  • FXMacroData exposes MCP, OpenAPI, llms.txt, snippets, dashboards, widgets, and docs.

Frequently Asked Questions

Does FXMacroData have a Custom GPT?

Yes. Use the Forex Macro Research FXMacroData Custom GPT for conversational FX macro research in ChatGPT.

Can ChatGPT read FXMacroData without an API key?

Yes, for USD. Anonymous access covers USD endpoints at up to 100 requests per day and returns the most recent 90 days, 15 minutes after each release is published. An Individual or Enterprise API key removes the delay. Release calendars, catalogue discovery, market-session status and risk sentiment need no key for any currency.

Which currencies can ChatGPT ask about?

Eighteen: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB and USD. Non-USD access needs an API key.

Can developers connect FXMacroData to OpenAI agents?

Yes. Use the MCP server at https://mcp.fxmacrodata.com, the ChatGPT Actions-safe OpenAPI schema, or the REST API directly.

How does the assistant know when a value was published?

Every announcement row carries announcement_datetime as Unix epoch seconds in UTC plus announcement_datetime_local. Rows whose publication time was derived rather than captured carry release_time_assumed: true.

Does the API return forecasts as well as released values?

Forecasts are on a separate endpoint, /v1/predictions, and each row states how it was produced through prediction_class. Released values and expected values are never mixed in one response.

What does it cost?

Individual is $50 per month with a 14-day trial and Enterprise is $1,000 per month. USD access without an API key is free. There is no Startup plan.

Last updated

Share page X LinkedIn Email