This comparison is for FX traders, quant developers, and small trading or analytics teams deciding between Barchart OnDemand and FXMacroData. Both expose data through APIs, but they are built for different jobs. Barchart OnDemand is a broad commercial market-data API family: quotes, price history, futures and options, fundamentals, news, commodity statistics, and weather, licensed as a custom package. FXMacroData is a focused FX macro data API: official-source economic releases across 22 currencies, second-level announcement timestamps, a release calendar, CFTC positioning for currency futures, and pair-level context.
The core finding is simple. If you need exchange prices for futures, forex, equities, and options across many markets, Barchart OnDemand is the more complete price-data supplier. If you need to know what a central bank or statistics agency published, exactly when, and how it affects EUR/USD or USD/JPY, FXMacroData covers that job at a published price of $50/month, against a Barchart OnDemand entry point that Barchart states starts at $500/month.
Decision snapshot
Choose Barchart OnDemand when
You need real-time, delayed, or end-of-day prices and tick or minute history for futures, forex, equities, and options, plus fundamentals, news, or agricultural data, under a negotiated licence.
Choose FXMacroData when
You need official macro releases for 22 currencies with second-level timestamps, a release calendar, COT positioning for currency futures, and self-serve REST, SDK, and MCP access.
Quick answer
Barchart OnDemand is a price-data platform; FXMacroData is a macro-event data layer for FX. Many FX desks would use one for prices and the other for the macro releases that move them.
Takeaway: The decision turns on whether your bottleneck is market prices or macro-event data, not on which API is "better".
Pricing And Access
Barchart does not publish a price list for OnDemand. Its API catalogue invites buyers to request a custom package sized as small, medium, large, or enterprise, and every API page carries a "Contact Us to Get Access" form. The one public figure is in Barchart's help centre, where its standard API inquiry response states that OnDemand APIs start at $500/month*. The same help article points cost-sensitive users to Barchart for Excel, whose product page currently lists $89.95/month* after a free trial. The Excel add-in is a spreadsheet tool, not a programmatic API, but it is the cheapest public Barchart data route.
FXMacroData publishes every plan. The Always Free tier needs no key and serves USD data only, with 100 requests/day and USD announcements delayed 15 minutes. Individual is $50/month or $500/year with a 14-day trial, 1,000,000 requests/month, and bursts of 300/minute, 5,000/hour, and 20 concurrent requests. Business is $250/month or $2,500/year for companies and teams of up to 10 people, with the same 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.
Monthly list price, USD
FXMacroData in mint; Barchart products in cyan. Barchart OnDemand is shown at its stated starting price. Hover a bar for the exact figure.
Takeaway: Barchart's stated API entry point is ten times FXMacroData Individual and twice FXMacroData Business, before any custom package scoping.
FXMacroData Individual
$50/month
14-day trial, 22 currencies, 1,000,000 requests/month, self-serve checkout.
Barchart OnDemand
From $500/month*
Custom package via contact form; package contents, limits, and licence terms not publicly listed.
Barchart for Excel
$89.95/month*
Spreadsheet add-in with streaming quotes and history; not a REST API for your own code.
Takeaway: FXMacroData can be evaluated and bought in minutes; Barchart OnDemand starts with a sales conversation.
* Competitor pricing retrieved from Barchart's public help centre and product pages in October 2026.
Side-By-Side Comparison
| Attribute | FXMacroData | Barchart OnDemand |
|---|---|---|
| Core job | FX macro data: official releases, release calendar, COT, rates, yields, and pair context. | Multi-asset market data: quotes, history, futures and options, fundamentals, news, commodity statistics, weather. |
| Entry pricing | Individual $50/month or $500/year; Business $250/month or $2,500/year. | From $500/month*; custom package by contact form. |
| Free tier / trial | Always Free USD tier (no key, 100 requests/day, 15-minute delay); 14-day trial on Individual. | No self-serve free API tier listed on the current catalogue; access is by request. Free trial offered on Barchart for Excel. |
| Coverage | 22 currencies, 700+ official indicator series, FX spot, COT for major currency futures, bond yields, commodities, central-bank press releases. | Stocks, indexes, funds, ETFs, futures, forex, crypto, equity and futures options, forex forward curves, fundamentals, news, grain and fuel data. |
| Economic calendar | Release calendar per currency plus announcement history with actual, prior, and revisions. | getCmdtyCalendar: US economic activity and commodity events with actual, prior, and revised values, updated three times a day. |
| Release timing | Second-level announcement_datetime; typically available within seconds of official publication, measured publicly. |
Market prices in real time, delayed, or end-of-day; the economic calendar API is documented as refreshed three times a day. |
| COT positioning | COT API for AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, the US dollar index, and gold. | COT charts on the Barchart website (including currency futures); no dedicated COT endpoint in the public OnDemand catalogue. |
| API format | REST JSON with OpenAPI, X-API-Key header, SSE streaming, GraphQL, Python and JS SDKs. |
REST endpoints returning JSON or XML with an apikey parameter; clients for Java, JavaScript, PHP, Python, and MATLAB. |
| Rate limits | 1,000,000 requests/month; bursts 300/minute, 5,000/hour, 20 concurrent. | Not publicly listed; set per package. |
| History | Announcement-level history per series with source metadata and release timestamps. | Tick, minute-bar, and end-of-day price history; depth depends on package permissions. |
| AI / MCP | Official MCP server for Claude, ChatGPT, Cursor, and other MCP clients. | No MCP server listed on the checked OnDemand pages. |
| Licence for programmatic / commercial use | Published plans; Business for companies; self-serve Commercial Redistribution add-on. | Commercial licence negotiated per package; terms not publicly listed. |
| Best fit | FX traders, quant developers, macro event studies, alerting, dashboards, and AI agents. | Brokers, platforms, publishers, agribusiness, and firms that need licensed multi-asset price feeds. |
* Competitor pricing retrieved from Barchart's public help centre and product pages in October 2026; OnDemand package pricing beyond the stated starting figure is not publicly listed.
A Price Feed Versus A Macro Event Feed
Barchart OnDemand began with getQuote and getHistory, and those remain its centre. getQuote returns real-time, delayed, or end-of-day prices by symbol for stocks, indexes, funds, ETFs, futures, foreign exchange, and crypto. getHistory returns tick, minute-bar, or end-of-day series for the same asset classes. Around that core sit futures-specific APIs (getFuturesByExchange, getFuturesOptions, getFuturesSpreads, specifications and expirations), getForexForwardCurves for forward points, and a long list of equity fundamentals, news, and commodity endpoints.
FXMacroData starts from the other side of the trade. Its primary record is the official release: the number a statistics agency or central bank published, with the second it was published, prior and revised values, and the source. Prices are present, through /v1/forex/{base}/{quote}, but as context for the macro event rather than as a licensed exchange feed.
Where each product sits in an FX workflow
1. Event scheduled
FXMacroData calendar lists the release, country, and indicator.
2. Release published
FXMacroData row with actual, prior, and second-level timestamp.
3. Market reacts
Barchart tick or minute bars on spot FX and currency futures.
4. Positioning check
FXMacroData COT for speculative positioning in the currency future.
Takeaway: Barchart is strongest at step three; FXMacroData owns steps one, two, and four, which is where the macro signal lives.
Economic Calendar Coverage
Barchart's economic calendar API, getCmdtyCalendar, is documented as covering US economic activity and commodity trading events, including previous, revised, and actual values, updated three times a day. It can be filtered by category (Ag, Energy, Econ), ISO-3 country code, importance, and series symbol, and each event links to a cmdtyStats series. That is a useful design for commodity desks that want USDA reports and energy inventories on the same calendar as US macro data.
FXMacroData's release calendar is built per currency, through /v1/calendar/{ccy}, across all 22 supported currencies, and every scheduled release maps to an announcement series such as US CPI, non-farm payrolls, or the Fed policy rate. For an FX trader, the practical difference is breadth on the macro side: ECB, BoJ, BoE, RBA, and smaller central banks such as those of Norway, Sweden, Hungary, and Israel sit in the same schema as US data.
Release Timing And Latency
For exchange prices, Barchart is fast: getQuote returns a mode flag showing whether a quote is real-time, delayed, or end-of-day, and the Excel product markets sub-100ms streaming. For economic releases, the documented refresh cadence of getCmdtyCalendar is three times a day. That is fine for planning a week; it is not designed for reacting to a CPI print in the seconds after release.
FXMacroData targets one second from official publication and publishes the measured record at /release-speed, showing the share of releases available within one second by source and listing every release that took longer. Releases are typically available within seconds of official publication, and every row carries a second-level announcement_datetime, so an event study can align the macro print with Barchart's tick data or any other price source to the second.
Barchart economic calendar API
Refreshed three times a day per its documentation; event dates carried in UTC.
FXMacroData announcements
Typically within seconds of publication, with a one-second target measured publicly and SSE streaming for release events.
Takeaway: For trading the release itself, the gap is between intraday batches and seconds.
COT And Currency Futures
This is where the two products complement each other most clearly. Barchart has deep currency-futures market data: Euro FX, Japanese yen, British pound, Swiss franc, Canadian, Australian, and New Zealand dollar, and Mexican peso contracts, with futures options, spreads, specifications, and expirations available through OnDemand. Its website also publishes Commitments of Traders charts for those contracts across the legacy, disaggregated, and Traders in Financial Futures reports, updated each Friday afternoon. The public OnDemand catalogue, however, does not list a dedicated COT endpoint; Barchart has added some COT series, such as dairy contracts, to its cmdtyStats database.
FXMacroData exposes CFTC positioning as an API through /v1/cot/{ccy} for AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, the US dollar index, and gold, with a COT dashboard for visual review. If COT is the main reason you are shopping, read our comparison with the CFTC's own public reporting API, which covers what the free official source offers and where a normalised FX feed saves work.
API Access And Automation
Barchart OnDemand uses conventional REST endpoints such as getQuote.json and getQuote.xml, with the key passed as an apikey parameter, and maintains client libraries for Java, JavaScript, PHP, Python, and MATLAB. It also offers an Event-Based API with REST and Socket.IO endpoints for user-defined alerts, available on request. Rate limits and history depth are set by the package rather than published.
FXMacroData is self-serve: create a key, read the API reference, and call it with a header.
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/usd/non_farm_payrolls"
Example response (abridged, illustrative values):
{
"currency": "USD",
"indicator": "non_farm_payrolls",
"data": [
{
"date": "2026-08-01",
"val": 142.0,
"prior": 118.0,
"pct_change": 20.3,
"announcement_datetime": 1788525000
}
]
}
Fields that matter
announcement_datetime: epoch seconds of publication, the join key to price bars.valandprior: the surprise inputs.date: the reference period, kept separate from release time.
Joining with Barchart
Use the timestamp to cut a window from Barchart getHistory minute bars on EUR/USD spot or the Euro FX future and measure the reaction.
Takeaway: A second-level release timestamp is what turns two separate feeds into one event study.
For AI workflows, FXMacroData's MCP server lets Claude, ChatGPT, Cursor, and other MCP clients call releases, the calendar, COT, and FX rates directly; see the AI trading guides for worked examples. No MCP server appeared on the Barchart OnDemand pages checked for this article.
Where Barchart OnDemand Is Genuinely Stronger
Barchart is a long-established market-data company, and OnDemand reflects that. It is the better choice when you need:
- real-time, delayed, or end-of-day exchange prices across futures, forex, equities, ETFs, funds, and crypto from one vendor,
- tick and minute-bar history for backtesting execution, not just daily closes,
- futures and options analytics: chains, volatility, spreads, specifications, and expirations,
- forex forward curves for carry and hedging calculations,
- agricultural, fuel, weather, and cmdtyStats commodity fundamentals that no macro-only API covers,
- a licensed feed for a brokerage, platform, or publisher displaying prices to end users.
If your system's first question is "what is the price now", Barchart is designed for it.
Where FXMacroData Is Stronger
FXMacroData is stronger when the first question is "what did the data say, and when". It covers official releases for 22 currencies from the agencies and central banks that publish them, including Federal Reserve, ECB, BoJ, and BoE press releases, alongside bond yields, commodities, and FX session context.
FXMacroData pros
- Published $50/month entry, free USD tier, 14-day trial.
- Second-level timestamps and a public release-speed record.
- COT, calendar, yields, and press releases in one schema.
- MCP, SDKs, SSE streaming, and platform integration guides.
FXMacroData tradeoffs
- Not a licensed exchange price feed; no tick-level futures data.
- No equities, options chains, or company fundamentals.
- Focused on FX-relevant macro rather than every asset class.
Barchart OnDemand pros
- Broad multi-asset price coverage with tick history.
- Deep futures, options, and commodity datasets.
- Mature client libraries and alerting API.
Barchart OnDemand tradeoffs
- Starts at $500/month*; full pricing by sales contact.
- Economic calendar API is US-centred and refreshed three times a day.
- No dedicated COT or MCP endpoint in the public catalogue.
Takeaway: Barchart wins on price-data breadth; FXMacroData wins on macro-event depth, timing, and cost of entry for FX work.
Decision Matrix
| User type | Better fit | Why |
|---|---|---|
| Solo FX trader trading data releases | FXMacroData | $50/month, release timestamps, calendar, and pair dashboards such as GBP/USD. |
| Quant building macro event studies | FXMacroData, plus a price source | Second-level release times are the anchor; tick prices can come from Barchart or another vendor. |
| Currency-futures trader using COT | Both | Barchart for futures prices and options; FXMacroData for the COT API and macro drivers. |
| Broker or platform displaying live prices | Barchart OnDemand | Licensed multi-asset quotes and history are its core product. |
| Commodity or agribusiness desk | Barchart OnDemand | Grain bids, USDA prices, cmdtyStats, and weather data. |
| AI agent or automation builder | FXMacroData | MCP server, OpenAPI, and self-serve keys reduce integration work. |
Recommendation
Choose Barchart OnDemand when price data is the product: licensed real-time or delayed quotes, tick history, futures and options analytics, or commodity fundamentals, and when a $500/month-plus negotiated package fits your budget and procurement process.
Choose FXMacroData when macro releases drive your FX decisions. A trader positioning AUD/USD ahead of an RBA decision, a quant measuring how the ECB policy rate or US unemployment moves EUR/USD, or an agent answering "what did CPI print and when" all need official-source rows with second-level timestamps, not more price ticks. Compare the plans, check the measured release speed, and start with the API reference; the 14-day trial on Individual is enough to run a full event study.
Bottom line: Barchart OnDemand is a broad, sales-led market-data platform priced from $500/month*. FXMacroData is a focused, self-serve FX macro API from $50/month with second-level release timing, 22-currency coverage, COT, and MCP. For FX-focused, developer-led workflows, start with FXMacroData and add a price vendor only if you need licensed tick data.
Sources Checked
Claims about Barchart were checked against its public product, documentation, and help pages in October 2026. Where Barchart does not publish a figure, this page says so.
Barchart OnDemand API catalogue
Full API list, asset coverage, client libraries, and custom-package language.
View sourceBarchart API pricing note
Help-centre response stating OnDemand APIs start at $500/month.
View sourceEconomic Calendar API
getCmdtyCalendar scope, filters, fields, and three-times-daily refresh.
View sourcegetQuote documentation
Real-time, delayed, and end-of-day modes; JSON and XML request format.
View sourceFXMacroData pricing and docs
Plans, limits, trial, API reference, and release-speed record.
View pricingTakeaway: Barchart documents its APIs in detail but publishes only a starting price; package limits and licence terms come from sales.