Need help with FX-1-Minute-Data?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

284 Stars 109 Forks Apache License 2.0 113 Commits 2 Opened issues


HISTDATA - Full Dataset composed of 68 FX trading pairs / Simple API to retrieve 1 Minute data Historical FX Prices (up to June 2019).

Services available


Need anything else?

Contributors list

# 12,251
4 commits
# 496,350
1 commit
# 66,642
1 commit

FX 1-Minute Dataset (+ Crude Oil and Stock indexes)

Retrieval made easy for 1-minute (and tick data). Source:

Dataset 1M from early 2000 to June 2019

Available here: 2000-Jun2019. Due to Github repository space limit policies, we will stop publishing the updated dataset on Github. Refer to the section Re-download the dataset of the repository to generate your own.


Downloads Downloads

pip install histdata

Re-download the dataset of the repository

This command will re-download all the FULL 1M dataset up to today (expect the runtime to be ~4 hours).

pip install histdata


from histdata import download_hist_data as dl
from histdata.api import Platform as P, TimeFrame as TF
  • Download tick data for 2019/06:
dl(year='2019', month='6', pair='eurusd', platform=P.GENERIC_ASCII, time_frame=TF.TICK_DATA)
  • Other possible calls:
dl(year='2019', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.TICK_DATA_LAST)
dl(year='2019', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.TICK_DATA_ASK)
dl(year='2019', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.TICK_DATA_BID)
dl(year='2019', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.ONE_MINUTE)
dl(year='2019', month='6', pair='eurusd', platform=P.GENERIC_ASCII, time_frame=TF.TICK_DATA)
dl(year='2019', month='6', pair='eurusd', platform=P.EXCEL, time_frame=TF.ONE_MINUTE)
dl(year='2019', month='6', pair='eurusd', platform=P.META_TRADER, time_frame=TF.ONE_MINUTE)
dl(year='2019', month='6', pair='eurusd', platform=P.META_STOCK, time_frame=TF.ONE_MINUTE)
dl(year='2018', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.TICK_DATA_LAST)
dl(year='2018', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.TICK_DATA_ASK)
dl(year='2018', month='6', pair='eurusd', platform=P.NINJA_TRADER, time_frame=TF.TICK_DATA_BID)

Data specification

This repository contains: - A dataset of all the FX prices (1-minute data) from 2000 to late June 2019, in Generic ASCII. - More than 66 FX pairs - Contains some commodities: - WTI/USD = WEST TEXAS INTERMEDIATE in USD - BCO/USD = BRENT CRUDE OIL in USD - Contains some indexes: - SPX/USD = S&P 500 in USD - JPX/JPY = NIKKEI 225 in JPY - NSX/USD = NASDAQ 100 in USD - FRX/EUR = FRENCH CAC 40 in EUR - UDX/USD = US DOLLAR INDEX in USD - UKX/GBP = FTSE 100 in GBP - GRX/EUR = DAX 30 in EUR - AUX/AUD = ASX 200 in AUD - HKX/HKD = HAN SENG in HKD E - TX/EUR = EUROSTOXX 50 in EUR - A set of functions to download the historical prices yourself.

All the data is retrieved from:

Any file in a dataset is zipped and contains: - a CSV (semicolon separated file). - a status report (containing some meta data such as gaps).

Any CSV file looks like this:

20120201 000000;1.306600;1.306600;1.306560;1.306560;0
20120201 000100;1.306570;1.306570;1.306470;1.306560;0
20120201 000200;1.306520;1.306560;1.306520;1.306560;0
20120201 000300;1.306610;1.306610;1.306450;1.306450;0
20120201 000400;1.306470;1.306540;1.306470;1.306520;0

Headers are not included in the CSV files. They are:

DateTime Stamp;Bar OPEN Bid Quote;Bar HIGH Bid Quote;Bar LOW Bid Quote;Bar CLOSE Bid Quote;Volume

DateTime Stamp



Legend: - YYYY – Year - MM – Month (01 to 12) - DD – Day of the Month - HH – Hour of the day (in 24h format) - MM – Minute - SS – Second, in this case it will be always 00

TimeZone: Eastern Standard Time (EST) time-zone WITHOUT Day Light Savings adjustments

OPEN Bid Quote

The open (first) bid quote of the 1M bin.

HIGH Bid Quote

The highest bid quote of the 1M bin.

LOW Bid Quote

The lowest bid quote of the 1M bin.

CLOSE Bid Quote

The close (last) bid quote of the 1M bin.


Number of lots. From what I saw it's always 0 here.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.