# Historical forex 1-minute data API

> One-minute FX bars over a REST API, for the major pairs since 2000 and for crosses, exotics and metal crosses since 2003.

Source: https://getmarkethistory.com/docs/guides/forex-1-minute-data

Three datasets serve FX at one minute or finer. Each is a `source` in the bars path:
`/query/v1/bars/{source}/{ticker}/1m`.

| Dataset      | What                          | Stored     | First bar  |
| ------------ | ----------------------------- | ---------- | ---------- |
| `fx`         | 10 major pairs                | 1s, 1m, 1h | 2016-01-03 |
| `fx-history` | 66 pairs, metals, indices     | 1s, 1m, 1h | 2000-05-30 |
| `fx-crosses` | Up to 334 crosses and exotics | 1m, 1h     | 2003-08-03 |

First bar is the earliest bar served on 2026-11-02; history is only ever extended.
[`/api/v1/stats`](https://getmarkethistory.com/api/v1/stats) gives the live first and last bar of each dataset, and
[Coverage](https://getmarkethistory.com/coverage) the range of every pair.

## Sample request

No key, the newest 100 hourly bars:

```bash
curl https://getmarkethistory.com/api/v1/bars/fx/EURUSD/1h
```

With a key, one day of EURUSD at one minute, as CSV:

```bash
curl "https://getmarkethistory.com/query/v1/bars/fx/EURUSD/1m?start=2024-03-01&end=2024-03-01T23:59:00Z&format=csv" \
  -H "Authorization: Bearer $MARKET_HISTORY_KEY"
```

Columns: `timestamp` (bar open, UTC), `open`, `high`, `low`, `close`, `volume`, `trade_count`,
`vwap`. Pages run oldest first; follow `X-Next-Cursor` for the next one.

## Which pairs are there, and since when?

`fx` holds EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD, EURJPY, GBPJPY and EURGBP from 2016. `fx-history` goes back to May 2000 for EURUSD, GBPUSD, USDJPY and USDCHF, and to 2002–2010
for the rest; the years before 2005 are still being backfilled. `fx-crosses` adds about 80 long-standing crosses from 2003–2013 and about 250 exotics
and metal crosses from 2024. `/api/v1/symbols?source=fx-crosses&timeframe=1m` lists the pairs
served today.

## Are the prices bid, ask or mid?

Bid. Every bar is built from bid quotes, not a midpoint and not trades: spot FX has no
consolidated tape.

## Is there volume?

Not traded volume. In `fx` and `fx-crosses`, `volume` is the bid size quoted. In `fx-history` it
is 0 and `trade_count`, the number of quotes folded into the bar, is the activity measure.

## How fresh is it?

`fx` adds each UTC day about an hour after it closes, and `fx-crosses` is updated nightly too. `fx-history` arrives a month
at a time, once the month is more than 35 days past: use it for deep history.

## How much does it cost?

One bar is one bar, in every format. A year of one pair at one minute is at most about 375,000
bars (FX quotes five days a week), which is under $2 at the first band's rate of $5 per million.
The keyless sample is hourly bars over the last five years. See [Limits & billing](https://getmarkethistory.com/docs/limits).

## Can I get other intervals?

Yes. Any whole multiple of the stored interval: `1s`, `5s`, `5m`, `4h` or `1d` on `fx` and
`fx-history`, any whole number of minutes on `fx-crosses`. A `1d` bar is a UTC day.
