← FXAbsolute Data

Free Forex Candle Data (M1 OHLC)

Published 2026-08-17 · Updated 2026-08-28 · FXAbsolute

28,412,683 one-minute OHLC bars across 15 instruments, 2021 to 2026. No account, no API key, no rate limit. This page also lists where the data is missing, which almost no free provider will tell you — and which matters more than the headline bar count.

What is available

Everything is stored at one-minute resolution and aggregated on demand to M5, M15, M30, H1, H4, D1 or W1 on true clock boundaries.

InstrumentM1 barsFromTo
BTCUSD2,627,5492021-07-242026-07-23
ETHUSD2,270,8192021-01-012026-08-03
GBPJPY1,939,0252021-01-032026-04-30
USDCAD1,936,7312021-01-032026-04-30
EURUSD1,911,1412021-01-032026-04-30
AUDUSD1,909,0572021-01-032026-04-30
EURGBP1,905,9732021-01-032026-04-30
GBPUSD1,898,7462021-01-032026-04-30
USDJPY1,894,9502021-01-032026-04-30
EURJPY1,890,3882021-01-032026-04-30
AUDCAD1,888,2572021-01-032026-04-30
XAUUSD1,871,4872021-01-032026-04-30
SPX5001,390,1772021-01-042026-08-03
NAS1001,383,4982021-01-042026-08-03
US301,357,7572021-01-032026-08-03

Where the data is missing

Every historical dataset has holes. Weekends and holidays are expected; unexplained multi-day gaps are not, and they will quietly distort any statistic computed across them.

These are the gaps longer than three days in this archive, which you can regenerate yourself:

node scripts/research.mjs holes GBPUSD

LAST BAR    NEXT BAR    DAYS
2021-01-31  2021-02-09  8
2021-03-10  2021-03-14  4
2021-10-13  2021-10-17  4
2023-12-29  2024-01-01  3
2025-08-21  2025-08-25  3
2026-03-12  2026-03-16  3

The eight-day gap in early 2021 is the largest in the set. If your study window covers February 2021, that absence is real and you should account for it rather than assume continuous coverage.

EURUSD carries a five-day gap around 2025-07-22, and several instruments share a hole in mid-March 2021 where the upstream source genuinely has no index data.

Why publish this at all? Because a bar count without a gap list is a marketing number. You cannot evaluate a dataset you cannot inspect, and any provider unwilling to show you the holes is asking you to take coverage on trust.
Try it while you read FXAbsolute replays real historical candles bar by bar, free, in your browser. No account, no download, no card.
Start free — no account →

What the data does not contain

How to get it

Three routes, depending on what you are doing.

1. Just use it in the browser

The free backtester at fxabsolute.com loads this archive directly. Nothing to download, no account.

2. Give it to a coding agent

The MCP server exposes the whole archive to Claude Code, Cursor or any MCP client, with aggregation and session filtering done server-side so you are not moving millions of rows around.

git clone --depth 1 --filter=blob:none --sparse https://github.com/varsansri/fxabsolute
cd fxabsolute && git sparse-checkout set mcp
cd mcp && npm install
claude mcp add fxabsolute -- node "$PWD/src/index.js"

3. Read the binary files directly

The .bin files are a deliberately trivial format — a 4-byte big-endian bar count, then fixed 20-byte records of uint32 timestamp and four float32 prices. Twenty bytes per bar instead of roughly sixty for the equivalent CSV row, which is why five years of M1 loads in a browser at all.

const dv = new DataView(buf)
const count = dv.getUint32(0, false)
for (let i = 0; i < count; i++) {
  const o = 4 + i * 20
  const time  = dv.getUint32(o,      false)
  const open  = dv.getFloat32(o + 4,  false)
  const high  = dv.getFloat32(o + 8,  false)
  const low   = dv.getFloat32(o + 12, false)
  const close = dv.getFloat32(o + 16, false)
}
Put this into practice Five years of real one-minute data across 15 instruments, with an automatic trade journal. Free forever.
Open the free backtester →

How it compares to other free sources

SourceFree limitKey neededM1 depth
Alpha Vantage25 requests/dayYesCapped by request limit
Finnhub60 calls/minYesLimited intraday history
DukascopyUnmeteredNoDeep, but tick files need assembly
Yahoo FinanceUnofficialNo~30 days of intraday
FXAbsoluteNoneNo5 years, pre-assembled

Two honest notes on that table. Dukascopy is the upstream source for much of this archive — if you want raw ticks and are willing to do the assembly, go straight there. And Yahoo's roughly 30-day intraday window is the reason it is unsuitable for multi-year studies, not a criticism of the data itself.

What this archive saves you is the assembly step: fetching, de-duplicating, checking for empty responses and stitching years of chunks into something continuous. That work is genuinely tedious, and it is where most people's data projects quietly die.

When not to download at all

Downloading makes sense when you want the archive on disk — for a backtest engine, a database, or work that has to run offline. It is the wrong shape for two common cases.

Exploring. If you do not yet know which instrument or period you care about, pulling gigabytes to answer one question is wasteful. A query interface answers it in a call.

Feeding an AI agent. A model cannot usefully be handed a 38 MB CSV; it can only be handed what fits in its context. A tool call has no such ceiling, because the aggregation happens before the model sees a number.

For both, the same archive is queryable without downloading it:

claude mcp add fxabsolute -- npx -y fxabsolute-mcp

The server pulls only the instrument you ask about, caches it under ~/.cache/fxabsolute-mcp, and never fetches the rest. So it is not really "no download" — it is a download you do not have to manage, scoped to what you actually used.

Frequently asked questions

Do I have to download forex candle data to use it?

No. For scripts and AI agents you can query the same archive through an MCP server — npx -y fxabsolute-mcp — which fetches only the instruments you ask about and caches them locally. Downloading is still the better choice for offline work or loading into your own database.

Where can I get free M1 forex data?

FXAbsolute publishes 28,412,683 one-minute OHLC bars across 15 forex, index and crypto instruments spanning 2021 to 2026, with no account or API key. Dukascopy offers deeper raw tick data free but requires assembly. Alpha Vantage and Finnhub offer free tiers but cap requests, which makes long intraday histories impractical.

Is the free data accurate?

It is real market data from an institutional source, not synthetic. It is mid-price OHLC with no spread and no volume, and it contains coverage gaps — the largest being eight days in GBPUSD during February 2021. Those gaps are published so you can account for them rather than discovering them mid-study.

Does the data include volume?

No. Forex trades over the counter with no central exchange, so there is no true market-wide volume figure. Feeds that report forex volume are reporting their own tick counts. This archive omits the field rather than publishing something that could be mistaken for real volume.

What timeframes can I get?

Everything is stored at one-minute resolution and aggregated on demand to M5, M15, M30, H1, H4, D1 and W1. Aggregation happens on true clock boundaries, so an H1 bar begins exactly on the hour.

Can I use this data commercially?

The MCP server code is MIT licensed. The underlying market data originates from third-party feeds, so check the original provider’s terms before redistributing it or building a commercial product on top of it.

Why binary files instead of CSV?

A bar costs 20 bytes in this format against roughly 60 for the equivalent CSV row. Five years of one-minute data is around 1.9 million bars per instrument, so the difference decides whether it loads in a browser at all.

Use the data without downloading anything

The free browser backtester runs on this exact archive — bar-by-bar replay with a full trade journal. No account.

Open FXAbsolute →