By FXMacroData Team
Published on June 7, 2026
FXMacroData now includes dedicated forward-curve and pair-differential endpoints, giving traders and analysts a cleaner way to move from raw yield levels to the part of the rates story that usually matters most for FX: what the market is implying about the path ahead, and how that path compares across currencies. Instead of rebuilding the same rate-spread workflow manually for every pair, you can now query the curve shape and the cross-country differential directly from the API.
That matters because spot FX rarely trades off one yield in isolation. A move in GBP/USD, EUR/USD, or USD/JPY is usually driven by relative repricing: which front end is shifting faster, which curve is flattening or steepening, and whether the expected policy path is becoming more supportive for one side of the pair than the other.
FXMacroData now exposes stored government-curve nodes as derived forward segments and adds a pair-differential surface that aligns two currencies on shared dates, returning both percentage-point and basis-point spreads in a format that is ready for live FX analysis.
What’s New
The new rates-and-curves surface adds two trader-facing building blocks:
- Forward curve analytics:
/api/v1/forward_curves/{currency}returns implied forward-rate segments derived from stored government bond tenor nodes, so you can inspect what a market is pricing between one maturity bucket and the next. - Pair differential history:
/api/v1/rate_differentials/{base}/{quote}returns the matched spread between two currencies using a shared measure such as risk-free rate, 2-year government bond yield, 10-year government bond yield, or policy rate. - Auto measure selection: when you request
measure=auto, the pair endpoint resolves to the best shared market across the two currencies instead of forcing you to guess which rate family has clean overlap. - Basis-point output built in: the pair response includes both percentage-point and basis-point spreads, which is the format most FX desks actually use when discussing carry and front-end repricing.
Why It Matters for Traders
The forward curve is where the market stops describing today and starts pricing tomorrow. If the Bank of England is on hold but intermediate forwards are still elevated, the market may be saying cuts will come slowly. If the Federal Reserve is easing but the curve beyond the first few years stays firm, the market may be treating the move as tactical rather than structural. That distinction matters for how long a currency move can persist.
The pair differential endpoint solves the next problem. Even if one curve looks hawkish in isolation, FX needs a comparison set. A sterling curve is only sterling-positive if it is repricing more aggressively than the dollar, euro, or yen curve that sits on the other side of the trade. That is why a matched spread history is more useful than two disconnected time series.
Practical Example 1: Reading the UK Forward Curve Before a Sterling Event Week
Suppose you are preparing for a heavy UK macro week and want to know whether sterling support is only a spot-yield story or whether the market is still pricing a relatively firm medium-term path. The forward-curve endpoint gives you that view in one request.
curl "https://api.fxmacrodata.com/v1/forward_curves/gbp?curve_family=government_nominal&method=derived_from_spot_nodes&api_key=YOUR_API_KEY"
A representative response could look like this:
{
"currency": "GBP",
"curve_family": "government_nominal",
"method": "derived_from_spot_nodes",
"requested_date": "2026-06-07",
"as_of": "2026-06-06",
"node_count": 4,
"segment_count": 3,
"sources": [
"Bank of England"
],
"official_forward_source_support": {
"source_type": "official_statistical_release",
"source_note": "Bank of England publishes gilt and SONIA OIS forward curves."
},
"data": [
{
"label": "2y1y",
"start_maturity": "2Y",
"end_maturity": "3Y",
"start_indicator": "gov_bond_2y",
"end_indicator": "gov_bond_3y",
"start_years": 2.0,
"end_years": 3.0,
"horizon_years": 1.0,
"date": "2026-06-06",
"val": 4.18,
"val_bps": 418.0
},
{
"label": "3y2y",
"start_maturity": "3Y",
"end_maturity": "5Y",
"start_indicator": "gov_bond_3y",
"end_indicator": "gov_bond_5y",
"start_years": 3.0,
"end_years": 5.0,
"horizon_years": 2.0,
"date": "2026-06-06",
"val": 4.01,
"val_bps": 401.0
},
{
"label": "5y5y",
"start_maturity": "5Y",
"end_maturity": "10Y",
"start_indicator": "gov_bond_5y",
"end_indicator": "gov_bond_10y",
"start_years": 5.0,
"end_years": 10.0,
"horizon_years": 5.0,
"date": "2026-06-06",
"val": 3.89,
"val_bps": 389.0
}
]
}
The interpretation is straightforward. If short-to-intermediate forward segments stay high while spot yields wobble, the market may still be pricing a relatively sticky UK rate path. For a trader, that is useful context when deciding whether a soft sterling reaction to one data release is a genuine regime change or just noise against a still-supportive rates backdrop.
Practical Example 2: Measuring the EUR/USD Pair Differential Directly
Now suppose you want the cross-country comparison instead of the single-country curve. You are watching EUR/USD and want to know whether the euro-dollar spread is narrowing or widening on the best shared short-rate proxy available across both currencies.
curl "https://api.fxmacrodata.com/v1/rate_differentials/eur/usd?measure=auto&start_date=2026-01-01&end_date=2026-06-07&api_key=YOUR_API_KEY"
A realistic response snapshot might look like this:
{
"base": "EUR",
"quote": "USD",
"measure_requested": "auto",
"measure_used": "risk_free_rate",
"base_indicator": "risk_free_rate",
"quote_indicator": "risk_free_rate",
"start_date": "2026-01-01",
"end_date": "2026-06-07",
"matched_points": 109,
"unit": "percent",
"latest_spread": -1.84,
"latest_spread_bps": -184.0,
"base_latest": 2.11,
"quote_latest": 3.95,
"sources": {
"base": "European Central Bank",
"quote": "Federal Reserve"
},
"data": [
{
"date": "2026-06-03",
"base_val": 2.08,
"quote_val": 4.01,
"spread": -1.93,
"spread_bps": -193.0,
"base_announcement_datetime": 1780786800,
"quote_announcement_datetime": 1780786800
},
{
"date": "2026-06-04",
"base_val": 2.10,
"quote_val": 3.98,
"spread": -1.88,
"spread_bps": -188.0,
"base_announcement_datetime": 1780873200,
"quote_announcement_datetime": 1780873200
},
{
"date": "2026-06-05",
"base_val": 2.11,
"quote_val": 3.95,
"spread": -1.84,
"spread_bps": -184.0,
"base_announcement_datetime": 1780959600,
"quote_announcement_datetime": 1780959600
}
]
}
The trader takeaway is immediate. The euro still carries a rate disadvantage versus the dollar, but the disadvantage is getting smaller. If price has not fully reflected that compression yet, the spread series gives you a clean way to judge whether the macro side of the pair is becoming less dollar-supportive even before spot breaks trend.
What These Endpoints Actually Improve
- Less manual curve math: you no longer need to rebuild forward segments from individual tenor pulls every time you want a quick view.
- Cleaner pair comparison: the differential endpoint aligns both legs on exact shared dates instead of leaving you to reconcile two series manually.
- Better carry framing: the output is naturally useful for pair selection, relative-value work, and post-central-bank repricing checks.
- More faithful rates context: traders can move from spot curve shape to pair spread without leaving the FXMacroData rates surface or the bond yields dashboard.
FX does not trade off a single yield level. It trades off expected paths and relative paths. The new forward-curve and pair-differential endpoints are built to expose both directly.
Get Started
Start with the public documentation for UK government bond yields, US risk-free rate, and euro-area risk-free rate, then use the new endpoints to compare what each curve is implying at the pair level. If you want a visual cross-check before a trade, use the bond-yields dashboard alongside the API output.
The result is a faster workflow for anyone trading macro FX through the rates channel: inspect the curve, compare the spread, then decide whether the pair move is being confirmed or challenged by the path the market is pricing.