Use FXMacroData in Coda
The FXMacroData Pack adds formulas and sync tables to Coda. Put the latest inflation print, policy rate, FX rate or next scheduled release in any table or canvas, or sync a full history of an indicator, FX pair, commodity, release calendar or COT report into a table that refreshes itself.
Free USD data
Without an API key, USD indicators, the USD release calendar and USD COT positioning are available for the last 90 days, with a 15-minute delay after each release. The indicator catalogue is free for every currency.
Subscription data
Other currencies, FX rates, commodities, full history and real-time delivery need an API key from a subscription.
Key handling
You add your key once as a Pack account. Coda stores it and sends it in the X-API-Key header. It is never placed in a URL, and other people in the doc cannot read it.
Set up the Pack
- Add the FXMacroData Pack to your doc.
- To use subscription data, open the Pack's settings, choose Add account, and paste your FXMacroData API key. You can find it on your account page. Skip this step to use free USD data; the account is optional on every formula and table.
- Type
=Indicator("USD", "inflation")in a canvas or table cell to check the connection.
The Pack runs on Coda's servers, so requests go from Coda to api.fxmacrodata.com rather than from your browser. A request that your key does not cover returns a message that names the free tier and links to the subscription page.
Formulas
Use these in any canvas formula, table column or button. The indicator parameter autocompletes from the currency's catalogue. The optional onOrBefore date returns the latest observation dated on or before that day. Results are cached for five minutes.
| Formula | Returns | Example |
|---|---|---|
Indicator(currency, indicator, [onOrBefore]) | Number: the latest released value | Indicator("USD", "inflation") |
IndicatorRelease(currency, indicator) | Object: value, previous, change, direction, release time and series page | IndicatorRelease("USD", "policy_rate").Value |
FXRate(base, quote, [onOrBefore]) | Number: the latest daily reference rate | FXRate("EUR", "USD") |
CommodityPrice(commodity, [onOrBefore]) | Number | CommodityPrice("gold") |
NextRelease(currency, [release]) | Object: the next scheduled event from the official schedule | NextRelease("USD", "inflation").ScheduledAt |
Find indicator slugs in the API reference, or add the Indicator catalogue sync table below.
Sync tables
Drag a sync table from the Pack panel into your doc, set its parameters, and choose how often Coda refreshes it. Every table has a stable Key column, so each refresh adds new releases and updates revised values instead of creating duplicates.
| Table | Parameters | Key example |
|---|---|---|
| Indicator history | currency, indicator, start date, end date | USD inflation 2026-09-30 |
| FX history | base, quote, start date, end date | EURUSD 2026-10-14 |
| Commodity history | commodity, start date, end date | gold 2026-10-14 |
| Release calendar | currency | The calendar event ID |
| COT positioning | currency, start date, end date | USD COT 2026-10-06 |
| Indicator catalogue | currency | USD inflation |
Dates are Date columns, release and schedule times are Date-time columns in UTC, values are numbers and links are URLs. FX, commodity and COT tables include a Direction column that compares each row with the previous observation. Long histories are read 100 rows per sync step, so they stay within Coda's execution limit; Coda's own row limit for synced tables applies to the table as a whole.
Ideas for a macro doc
- A watchlist table with one row per currency and columns built from
Indicator(thisRow.Currency, "policy_rate")andIndicator(thisRow.Currency, "inflation"). - A Release calendar sync table grouped by day, filtered to high-importance events, for a weekly planning page.
- An Indicator history table with a line chart, refreshed daily, next to your own notes on each release.
- A COT positioning table charted against an FX history table for the same currency.
Related docs
Questions about a Coda setup? Contact info@fxmacrodata.com.