Historical Exchange Rates API for Charts

Chart libraries want an ordered array of points; candlestick charts want OHLC per period. Most rate APIs make you assemble both from date-keyed objects — here, pair-history returns points pre-ordered, and ohlc=1 adds open/high/low and daily change to every point.

Line charts

points: [{date, rate}, …] plugs into Chart.js, Recharts, ECharts, or D3 without transformation. Ten years is ~2,600 points in one request.

Candlestick charts

USD-base pairs return daily OHLC computed from intraday snapshots — real candles, not synthesized from closes.

Comparisons

Time series with multiple symbols returns aligned dates across currencies for indexed or overlay charts.

The endpoints you'll use

Candles for a USD/JPY candlestick chart

GET /api/v1/pair-history?from=USD&to=JPY&start_date=2026-01-01&end_date=2026-07-08&ohlc=1

{ "data": { "points": [
  { "date": "2026-01-02", "rate": 158.42, "open": 157.98,
    "high": 158.77, "low": 157.61, "change_pct": 0.0031 },
  …
] } }

FAQ

How do you handle weekends on charts?

Non-trading days simply aren't in the data. Most chart libraries handle gaps natively; for continuous lines, carry the previous close forward client-side.

Why is OHLC only available for USD pairs?

A cross pair's true intraday high/low can't be derived from two separate series — computing it would fabricate data. Rather than fake candles, the API returns them only where they're real.