← FXAbsolute Resource

Best Free Forex Data Sources (2026)

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

Every "free forex data" listicle tells you where to download. None tell you what is missing once you do, which is the only thing that matters — a backtest run across a silent three-day hole produces a confident number built on absent history. So this page compares sources by their gaps, and it starts by publishing the gaps in our own archive.

Our own data, audited first

It would be convenient to skip this section. Publishing your own flaws in a page that recommends your own tool is not standard practice, but a gap audit that exempts the author is worthless.

Running a coverage check across 1,911,141 EURUSD one-minute bars spanning 3 January 2021 to 30 April 2026, on 17 August 2026, produced these holes — stretches where the archive simply has no bars:

Last bar before holeNext bar afterDays missing
2023-12-292024-01-013
2025-06-252025-06-304
2025-07-022025-07-074
2025-07-222025-07-285
2025-09-242025-09-284
2025-11-202025-11-243
2026-03-062026-03-125

Seven holes across five years. Some are ordinary — the 2023-12-29 to 2024-01-01 gap is the New Year weekend and correct. Others are not: a five-day hole in July 2025 is missing history, inherited from the upstream provider.

The cause, stated plainly: the archive is built from Dukascopy, and Dukascopy intermittently returns an empty response for a valid time window. If a fetch pipeline caches that empty answer as truth, it bakes a week-long hole into the history permanently. Any source built on Dukascopy has this failure mode. Ours has seven instances of it.

Also worth knowing before you trust index data: Dukascopy genuinely has no index history for 10–18 March 2021, so SPX500 and NAS100 carry an eight-day hole that no amount of refetching will fill. That is upstream, not fixable.

What weekend gaps actually look like

The other thing free data will not warn you about is the weekend gap — price jumping between Friday's close and Sunday's open with nothing tradeable in between. Strategies holding over a weekend are exposed to it, and most backtests quietly pretend it is not there.

Measured across the same 1.9 million EURUSD bars:

StatisticValue
Gaps observed309
Median gap5.4 pips
75th percentile13.6 pips
90th percentile35.0 pips
99th percentile127.5 pips
Largest observed163.5 pips
Share exceeding 10 pips31.39%

Read the shape rather than the middle. The median gap of 5.4 pips is harmless. But almost a third of weekends gap more than 10 pips, and one in a hundred gaps more than 127 pips — far beyond where a typical stop sits. A strategy that holds over weekends and shows no catastrophic losses in backtest is telling you something about the backtest, not the strategy.

Skip the download entirely FXAbsolute has 28.4 million one-minute bars already loaded and replaying in your browser. No key, no cap, no account.
Start free — no account →

The sources, compared

SourceDepthCost / limitsThe catch
DukascopyTick, back to ~2003Free, no accountSlow; intermittently returns empty windows that look like real answers
HistDataM1, back to 2000Free, no accountMonthly ZIPs, manual assembly; no tick data
Broker MT4/MT5 historyVaries, often shallowFree with accountBroker-specific; not portable between brokers
Alpha VantageIntraday, limited25 requests/day, key requiredCannot download years of M1 in any reasonable time
Yahoo FinanceDaily reliable, intraday poorFreeIntraday coverage is patchy and undocumented
FXAbsolute28.4M M1 bars, 2021–2026Free, no key, no capOnly 5 years; mid-price OHLC, no spread; inherits Dukascopy holes above

Reading that table honestly

Dukascopy is the deepest free source and everything else is downstream of it or shallower. If you want twenty years of tick data and are willing to fight the pipeline, go straight to the source. Two hard-won details if you do: its default connection timeout is too short for large requests, and month-sized ranges tend to fail where four-day chunks succeed. Never cache an empty response.

HistData is the best zero-effort bulk download. Monthly ZIP files, no account, back to 2000. Assembling them is manual but predictable, which is more than can be said for API-based sources.

Alpha Vantage's free tier cannot do this job. At 25 requests a day, downloading five years of one-minute data for a single instrument would take longer than most people will stay interested. It is a fine API for quotes and a poor one for history.

How to check any source yourself

Whatever you download, run these three checks before you trust a backtest built on it. They take minutes and catch nearly everything.

  1. Count bars per day. A complete M1 trading day has 1,440 bars. Days far below that are partial; days at zero inside the trading week are holes. Sort ascending and look at the bottom.
  2. Find the time gaps. Sort by timestamp and difference consecutive values. Anything over a normal weekend is a hole worth explaining before you use the range.
  3. Cross-check one week against a second source. Pick a volatile week and compare daily highs and lows against any other feed. Small differences are normal. Different highs are not.

The instrument matters as much as the source. Correlation between related pairs is a useful sanity check: across 1,536 overlapping trading days, EURUSD and GBPUSD daily returns correlate at r = 0.77 and move in the same direction 77.72% of the time. If your two files disagree wildly on a given day, one of them is wrong.

Let your coding agent query it The same archive is exposed over MCP, so Claude or Cursor can pull real candles directly — no API key, no request limit.
Open the free backtester →

Which to use

You want…Use
To start practising in the next minuteFXAbsolute — already loaded, no download
Bulk M1 files back to 2000HistData
Tick data with real spreadsDukascopy — and budget time for the pipeline
Data your coding agent can queryThe MCP server — no key, no cap
Data matching your broker exactlyYour broker's own MT4/MT5 history
Occasional quotes rather than historyAlpha Vantage

The general rule: free data is genuinely good enough for learning price action and rehearsing discretionary decisions, and genuinely not good enough for validating a scalping system that lives or dies on spread. Match the source to the claim you intend to make with it.

A source category that did not exist two years ago

Free forex data has historically meant one of two things: a file you download, or an API you register a key for. There is now a third — a data server your tooling installs, which needs neither.

FXAbsolute publishes one, on npm as fxabsolute-mcp and in the official MCP Registry as io.github.varsansri/fxabsolute:

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

How it compares on the criteria that usually decide a source:

CriterionThis source
CostFree, no account, no key
Rate limitNone
ResolutionM1 base, aggregated to M5–W1 on true clock boundaries
Coverage15 instruments, 2021–2026, 28,412,683 bars
ProvenanceDukascopy tick data, bid prices
VolumeNot available — OHLC only
GapsReported per query, not filled silently

The last two rows are the ones worth weighing. A source that silently forward-fills missing minutes will look cleaner and mislead you; this one leaves the hole and tells you it is there.

Frequently asked questions

What is the best free source of forex candle data?

It depends whether you want files or programmatic access. For files, Dukascopy and HistData remain the standard. For code and AI tooling, an MCP data server avoids downloads entirely — fxabsolute-mcp serves 28,412,683 one-minute bars across 15 instruments with no key or rate limit, though it carries no volume field.

What is the best free source of historical forex data?

Dukascopy is the deepest, with tick data back to roughly 2003 and no account required, though its API is slow and intermittently returns empty responses for valid windows. HistData is the easiest bulk download, offering M1 data back to 2000 as monthly ZIP files. For immediate use without downloading anything, FXAbsolute provides 28,412,683 one-minute bars across 15 instruments from 2021 to 2026 in the browser.

Is free forex data accurate enough for backtesting?

For learning price action and rehearsing discretionary decisions, yes. For validating strategies that depend on spread — anything targeting under about ten pips — free mid-price OHLC data is not sufficient, because the cost you would actually pay is invisible in it. Check for coverage holes before trusting any range.

How do I check historical data for gaps?

Count bars per trading day and compare against 1,440 for complete M1 coverage, difference consecutive timestamps to find stretches longer than a normal weekend, and cross-check one volatile week against a second source. Days far below the expected bar count are partial, and unexplained multi-day gaps are missing history.

Does Alpha Vantage offer free forex history?

It offers a free tier limited to 25 requests per day with an API key required. That cap makes it impractical for downloading years of one-minute history — a single instrument would take an impractically long time. It is better suited to occasional quotes than to bulk historical data.

How big are weekend gaps in forex?

Measured across 1,911,141 EURUSD one-minute bars from 2021 to 2026, there were 309 weekend gaps with a median of 5.4 pips. However 31.39% exceeded 10 pips, the 90th percentile was 35 pips, the 99th percentile was 127.5 pips, and the largest observed was 163.5 pips. Strategies holding over weekends face real gap risk that many backtests understate.

Why does my historical data have missing days?

Usually because the upstream provider returned an empty response for a valid window and the download pipeline cached it as truth. Dukascopy does this intermittently, so any archive built from it can inherit multi-day holes. Genuine market closures such as New Year weekends also appear as gaps and are correct.

Data with the gaps published, not hidden

28.4 million one-minute bars across 15 instruments, free in your browser — and the coverage audit above tells you exactly where the holes are.

Open FXAbsolute →