This comparison is for developers, finance teams, FX traders, and quant analysts deciding between the XE Currency Data API and FXMacroData. Both products deliver exchange-rate data over a REST API, so they often appear in the same search results. They are built for different jobs, and the right choice depends on whether you need to convert amounts across a long list of currencies or understand and act on the macro events that move currency pairs.
The short finding: XE Currency Data is the stronger choice for business currency conversion, with mid-market rates for 170+ currencies and precious metals, history back to 1998, and update frequencies down to every minute on add-on or Enterprise terms. FXMacroData is the stronger choice for FX-focused, developer-led, and automated workflows: it pairs official central-bank reference rates for 22 currencies with 700+ official macro series, second-level release timestamps, a release calendar, positioning data, and MCP access, starting at $50/month with monthly billing, while XE's entry plan is $799/year.
Decision snapshot
Choose XE Currency Data when
You convert prices, invoices, or ledgers across 170+ currencies, need history back to 1998, or need hourly, 15-minute, or minutely rate refreshes for an ERP or treasury system.
Choose FXMacroData when
You trade or research major and regional currency pairs and need the macro drivers: policy rates, inflation, payrolls, release timestamps, calendars, COT, and official FX reference rates in one API.
Fast verdict
XE sells conversion-grade rates at business-software prices. FXMacroData sells the FX macro layer at a self-serve price, with official FX reference rates included.
Takeaway: settle first whether your system multiplies amounts by a rate or reacts to the events that move the rate. That one question decides most of this comparison.
Pricing And Plans
XE publishes a clear price ladder for its Currency Data API, billed per year. Lite is $799/year* for 10,000 requests per month with daily rates and one permitted entity. Intermediate is $1,799/year* for 50,000 requests per month with hourly and daily rates and up to five entities. Prime is $4,499/year* for 150,000 requests per month with 15-minute, hourly, and daily rates and up to ten entities. Enterprise is custom-priced with unlimited requests, live minutely rates, and unlimited entities. Live minutely rates are an add-on on the lower tiers ($400/year* on Lite, $700/year* on Intermediate, $1,500/year* on Prime), and an alternative source rate add-on runs from $200/year* to $500/year*. All plans include history back to 1998, 170+ currencies and precious metals, central bank rates, and dashboard access. XE offers a free trial; the pricing page does not state its length.
FXMacroData publishes monthly and annual prices. The Always Free tier needs no key and covers USD data with 100 requests per day and USD announcements delayed 15 minutes. Individual is $50/month or $500/year with a 14-day trial and 1,000,000 requests per month. Business is $250/month or $2,500/year for companies and teams of up to 10 people, with the same request allowance and priority support. Enterprise is by custom agreement, and a self-serve Commercial Redistribution add-on costs $10/month per block of up to 100 measured users or 1,000 public-feed followers.
The two products also count usage differently. XE's developer documentation says each currency rate returned counts as one request against the monthly allowance, so a call for EUR and GBP against USD uses two. FXMacroData counts each API call, and one call can return a full history for an indicator or pair.
Entry price per month, USD
FXMacroData in mint; XE Currency Data plans in cyan. XE bills annually only, so its plans are shown as annual price divided by 12. Hover a bar for the exact figure.
Takeaway: XE's entry plan works out to about $67/month and requires a $799 annual commitment; FXMacroData Individual is $50 on a monthly plan or $500/year paid annually, and the next XE tier is about three times that.
FXMacroData Individual
$50/month
Or $500/year. 14-day trial, 1,000,000 requests/month, 22 currencies, 700+ macro series, official FX reference rates, MCP.
XE Lite
$799/year*
About $67/month equivalent. 10,000 rate requests/month, daily rates, one entity, 170+ currencies and metals, history to 1998.
XE Prime
$4,499/year*
About $375/month equivalent. 150,000 rate requests/month, 15-minute, hourly and daily rates, up to ten entities.
Takeaway: XE prices rate refresh frequency and entity count; FXMacroData prices access to a macro data layer with a large request allowance and keeps monthly billing available.
Side-By-Side Comparison
| Attribute | FXMacroData | XE Currency Data API |
|---|---|---|
| Core job | FX macro data API: official releases, release calendar, official FX reference rates, COT, yields, commodities, and pair dashboards. | Mid-market exchange rates for conversion, pricing, reporting, and reconciliation. |
| Entry pricing | Individual $50/month or $500/year; Business $250/month or $2,500/year. | Lite $799/year*; Intermediate $1,799/year*; Prime $4,499/year*; Enterprise custom. Annual billing. |
| Free tier / trial | Always Free USD tier (100 requests/day, announcements delayed 15 minutes); 14-day trial on Individual. | Free trial on registration; length not stated on the pricing page. No ongoing free plan listed. |
| Coverage | 22 currencies; 700+ official indicator series; FX rates for pairs within those 22 currencies. | 170+ currencies and precious metals in all plans; selected crypto assets; no macro indicator data. |
| Release timing / latency | Second-level announcement_datetime; releases typically available within seconds of official publication, measured publicly. FX reference rates timestamped per source. |
Rate refresh by plan: daily (Lite), hourly (Intermediate), 15-minute (Prime), minutely via add-on or Enterprise. |
| API format | REST JSON with OpenAPI, X-API-Key header, SSE streaming for release events, GraphQL, Python/JS SDKs. |
REST over HTTPS with HTTP Basic auth (account ID and key); JSON by default, XML or CSV optional. |
| Rate limits | 1,000,000 requests/month; bursts of 300/minute, 5,000/hour, 20 concurrent. | 10,000 to 150,000 rate requests/month* (unlimited on Enterprise); each rate returned counts as one; 900 requests per 15-minute window. |
| History | Full official release history per series with announcement timestamps; FX reference-rate history by source. | Exchange-rate history back to 1998, period statistics, and monthly averages. |
| AI / MCP | Official MCP server for Claude, ChatGPT, Cursor, and other clients. | No MCP server listed on the checked pages. |
| Licence for programmatic / commercial use | Paid plans for internal use; self-serve Commercial Redistribution add-on at $10/month per audience block. | Plans set a number of permitted entities (1, 5, 10, unlimited*); redistribution terms not stated on the pricing page. |
| Best fit | FX traders, quant developers, event-study builders, dashboards, and AI agents. | Finance, ERP, e-commerce, treasury, and accounting teams converting across many currencies. |
* Competitor pricing retrieved from their public pricing page in October 2026. Request-counting and rate-limit details are from XE's public developer documentation, checked the same month.
Conversion Rates Versus Macro Drivers
XE describes its Currency Data API as pulling rates from more than 100 financial sources and central banks, filtering errors, and blending them into a mid-market rate that can update as often as every 60 seconds. Its endpoints reflect a conversion job: convert from, convert to, historic rate, historic period, monthly average, and statistics, plus central bank rates, an alternative source rate, and a bid-ask endpoint marked beta. That is exactly what an ERP, a pricing engine, or a month-end close process needs.
FXMacroData starts from the other end of the problem. When EUR/USD or USD/JPY jumps, the cause is usually a scheduled event: a US CPI print, a Non-Farm Payrolls surprise, or a decision from the Federal Reserve, the ECB, or the Bank of Japan. A conversion feed records the new price. A macro feed records what was released, when, and what the market was expecting.
Two exchange-rate jobs, two product centres
XE conversion flow
Request a mid-market rate, multiply an amount, store the rate with the transaction, reconcile with monthly averages at period end.
FXMacroData FX macro flow
Check the calendar, capture the official release with its timestamp, compare with prior and forecast, join to pair rates, positioning, and yields, then act.
Where they meet
Both return exchange-rate history. XE covers far more currencies; FXMacroData adds the release data that explains the moves.
Takeaway: a conversion row is built to multiply an amount; a macro release row is built to be joined to price action.
FX Rates In Each Product
XE's rates are proprietary blended mid-market rates. That is a strength for conversion: one consistent rate per currency per refresh, across 170+ currencies and precious metals, with history back to 1998 and frequencies that rise with the plan. The live minutely feed is an add-on below Enterprise, and the bid-ask endpoint is listed as beta in the developer documentation.
FXMacroData's /v1/forex/{base}/{quote} endpoint returns daily FX spot rates built from official central-bank and BIS reference rates for pairs where both currencies are among the 22 it covers, such as GBP/USD or AUD/USD. Crosses that a publisher does not quote directly are derived from USD legs and labelled as derived, and each row carries source metadata. Alongside the daily series, /v1/fx/reference-rates/{base}/{quote} returns timestamped official fixings by source, subscribers can pull intraday reference-rate observations as each authority publishes them, and /v1/fx/sources documents which source publishes which pair. These are research-grade official fixings, not a live quote or conversion feed refreshed every minute, and FXMacroData does not try to cover 170 currencies.
So if the requirement is "a consistent rate for any currency a customer might pay in", XE is the better tool. If the requirement is "the official rate a central bank published, with a timestamp and a source label, next to the macro data for the same pair", FXMacroData is built for it.
Release Timing And Latency
XE's timing story is rate refresh frequency: daily on Lite, hourly on Intermediate, every 15 minutes on Prime, and minutely through the live-rate add-on or Enterprise. That is the right measure for a conversion feed, where a fresher rate means a more accurate price.
For macro-driven FX work, the relevant clock is the release itself. Every FXMacroData release row carries a second-level announcement_datetime, and releases are typically available within seconds of official publication. The target is one second from publication, and FXMacroData publishes the measured record at /release-speed, by source, including every release that took longer. SSE streaming pushes release events to subscribers, so a system does not have to poll during a data window.
US payrolls morning, step by step
1. Before the print
Load the scheduled time from the calendar, plus prior values and optional forecasts.
2. Publication
The official number lands with a second-level timestamp, typically within seconds.
3. Pair context
Join the surprise to official FX reference rates, COT positioning, and bond yields.
4. Conversion, if needed
A finance system that settles in many currencies can still use a conversion feed such as XE for the amounts.
Takeaway: XE measures freshness as rate refresh frequency; FXMacroData measures it from the moment an official release is published, and shows the record publicly.
Coverage And History
XE's coverage is wide and flat: 170+ currencies and precious metals on every plan, with XE's marketing citing 220+ world currencies across its wider data and 20+ crypto assets available through a parameter. History reaches back to 1998 on every plan, which suits audits and long-run reporting.
FXMacroData's coverage is narrower and deeper. It covers 22 currencies in the production API: USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, BRL, CNH, CNY, DKK, HUF, ILS, KRW, MYR, NGN, NOK, PEN, SEK, THB, and TWD. For those it carries 700+ official indicator series such as policy rates, CPI and core CPI, GDP, labour data, PMIs, retail sales, trade, current account, and wages, each with source metadata. Examples include the Fed policy rate, US unemployment, and the ECB policy rate. Around that sit CFTC COT positioning for the major currency futures, government bond yields and curves, commodities such as gold, silver, platinum, and energy, central-bank press releases from banks including the Bank of England, and FX session context.
API And Developer Experience
XE's API is a conventional REST service at a versioned base URL using HTTP Basic authentication with an account ID and key. It returns JSON by default with XML and CSV options, exposes usage through response headers, and does not count conditional requests that return 304 Not Modified. XE also offers a dashboard and plug-ins for business software, which helps finance teams that do not want to write code.
FXMacroData uses REST JSON with an OpenAPI description, an X-API-Key header, SSE streaming for release events, GraphQL, Python and JavaScript SDKs, and integration guides for MetaTrader, TradingView, and NinjaTrader. Its official MCP server lets Claude, ChatGPT, Cursor, and other assistants query releases, calendars, COT, and FX rates directly, which supports AI trading research workflows. A typical first call:
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/usd/non_farm_payrolls"
Fields that matter
dateis the reference period of the release.valandpriorsupport surprise and revision analysis.announcement_datetime(epoch seconds) anchors the event to the second.pct_changesaves a transformation step.
Compared with a conversion response
An XE conversion response returns a rate and converted amount for a timestamp. A release row returns what was published, when, and against what prior, which is what an event study or alert needs.
Takeaway: header auth, one JSON shape across 22 currencies, and a timestamp on every row keep FX automation code short.
Rate Limits And Licensing
XE's monthly allowances run from 10,000 requests on Lite to 150,000 on Prime, with unlimited requests on Enterprise. Because each currency rate returned counts as one request, a job that refreshes 30 currency pairs every hour uses about 21,600 requests a month, which is above Lite and within Intermediate. The documentation also sets a ceiling of 900 requests per 15-minute window. Plans additionally cap the number of permitted entities, which matters for groups with several legal entities using the same feed.
FXMacroData Individual and Business both include 1,000,000 requests per month with bursts of 300 per minute, 5,000 per hour, and 20 concurrent. Commercial redistribution, such as showing data inside a product your own users see, is a self-serve add-on at $10/month per block of up to 100 measured users or 1,000 public-feed followers, with no quote required.
Where XE Currency Data Is Genuinely Stronger
XE is a well-known name in exchange rates for good reasons, and several jobs suit it better than FXMacroData:
- Currency breadth: 170+ currencies and precious metals on every plan, against FXMacroData's 22 currencies.
- Conversion-grade refresh: hourly, 15-minute, and minutely mid-market rates, which FXMacroData's official fixings are not designed to replace.
- Long rate history: data back to 1998 on all plans, plus monthly averages and period statistics for accounting.
- Finance-system fit: XML and CSV output, a dashboard, entity-based plans, and plug-ins for business software.
- Extra rate types: central bank rates, alternative source rates, a beta bid-ask endpoint, and selected crypto assets.
Where FXMacroData Is Stronger
FXMacroData is the stronger fit when the reader trades, researches, or automates around currency pairs rather than converting amounts:
FXMacroData strengths
- $50/month entry with monthly billing, 14-day trial, and a free USD tier.
- 700+ official macro series with second-level release timestamps.
- Calendar, COT, yields, commodities, press releases, and FX rates in one API.
- MCP, SSE streaming, GraphQL, SDKs, and trading-platform guides.
FXMacroData tradeoffs
- 22 currencies, not 170+.
- FX rates are official fixings, not a live quote or conversion feed.
- No precious-metal conversion rates or crypto rates.
XE strengths
- 170+ currencies and metals with history to 1998.
- Refresh down to minutely on add-on or Enterprise.
- Entity-based plans and finance-system output formats.
XE tradeoffs
- Annual-only plans starting at $799/year*.
- Each rate returned counts against a 10,000 to 150,000 monthly allowance.
- No macro releases, calendar, positioning, or MCP server on the checked pages.
Takeaway: XE wins on currency breadth and conversion refresh; FXMacroData wins on macro depth, release timing, and price for FX-focused automation.
Decision Matrix
| User type | Better fit | Why |
|---|---|---|
| ERP, accounting, or month-end close | XE Currency Data | 170+ currencies, monthly averages, history to 1998, entity-based plans. |
| E-commerce pricing in many currencies | XE Currency Data | Blended mid-market rates refreshed hourly or faster on higher plans. |
| Solo FX trader | FXMacroData | $50/month, release calendar, pair dashboards, and release timing. |
| Quant developer building event studies | FXMacroData | Second-level announcement timestamps and official FX reference rates in one schema. |
| AI agent or assistant builder | FXMacroData | Official MCP server and OpenAPI reduce custom tool code. |
| Fintech app with conversion and a markets tab | Both | XE for conversion amounts; FXMacroData for macro context, calendar, and redistribution add-on. |
Recommendation
Choose XE Currency Data if your system converts money: prices, invoices, expense claims, ledgers, or treasury reports that must handle a long tail of currencies with a consistent mid-market rate. Its plan ladder is transparent, its history is long, and its higher tiers and add-ons deliver the refresh frequency that conversion work needs.
Choose FXMacroData if your system trades or researches currencies: preparing for payrolls and CPI, tracking central-bank decisions, building event studies, or giving an AI assistant citable official data. It costs less at entry, bills monthly, and puts official FX reference rates next to the releases that move them. Compare plans, read the API reference, or start the 14-day trial.
Bottom line: XE Currency Data is the better choice for business currency conversion across 170+ currencies. FXMacroData is the better choice for FX traders, quants, and automation builders who need the macro drivers of currency moves, timestamped to the second and measured publicly at release speed, with official FX reference rates included, from $50/month.
Takeaway: pick by job, not by the word "currency" in the product name.
Sources Checked
The competitor figures in this article come from XE's public pricing and developer pages, checked in October 2026. Where XE does not publish a figure, such as the trial length or redistribution terms, the article says so.
XE Currency Data pricing
Plan prices, request allowances, refresh frequencies, entities, add-ons, coverage, history, and trial.
View sourceXE developer documentation
Endpoints, rate types, currency coverage, and crypto parameter.
View docsXE getting started
Basic authentication, base URL, request counting, and the 15-minute rate window.
View guideFXMacroData pricing and docs
Plans, limits, trial, redistribution add-on, API reference, and release-speed record.
View pricingTakeaway: both vendors publish their entry prices, so the cost comparison can be checked directly against the source pages.