Skip to main content

CLI to download k-line (candlestick/OHLC) data from Binance API

Project description

Binance Downloader

Build Status

Python tool to download Binance Candlestick (k-line) data from REST API

Originally forked from bullsignals/binance-downloader, that project does not seem to be maintained any longer and I wanted to actually make use of this project and allow others to contribute. At this point, I have re-written almost all the code from scratch, but would like to thank the original authors for their ideas that got me started.



You will need Poetry installed in order to install this package and run from the command line. Poetry is a Python package and dependency manager that makes installation and distribution really easy. Installation instructions can be found here for macOS/Linux/Windows

  • Verify Poetry installation
$ poetry --version
Poetry 0.12.10

Download and install

Clone the repository
$ git clone
$ cd binance-downloader
Activate your virtual environment

Poetry will try to automatically enable a virtual environment for you if it detects you are not already using one.

If you already use virtualenvwrapper (or similar), go ahead and make (or switch to) your working environment beforehand:

$ mkvirtualenv binance-downloader


$ workon binance-downloader
Install dependencies
$ poetry install
Installing dependencies from lock file

Package operations: 12 installs, 0 updates, 0 removals

  - Installing six (1.12.0)
  - Installing certifi (2008.11.29)
  - Installing chardet (3.0.4)
  - Installing idna (2.8)
  - Installing numpy (1.15.4)
  - Installing python-dateutil (2.7.5)
  - Installing pytz (2018.7)
  - Installing urllib3 (1.22)
  - Installing logbook (1.4.1)
  - Installing pandas (0.23.4)
  - Installing requests (2.21.0)
  - Installing tqdm (4.28.1)
  - Installing binance-downloader (0.2.0)

Using the Command Line Interface

Show available options
$  kline-binance --help
usage: kline-binance [-h] [--start START] [--end END] [--dtfmt DATE_FORMAT]
                     symbol interval

CLI for downloading Binance Candlestick (k-line) data in bulk

positional arguments:
  symbol               (Required) Binance symbol pair, e.g. ETHBTC
  interval             (Required) Frequency interval in minutes(m); hours(h);
                       days(d); weeks(w); months(M); All possibles values: 1m
                       3m 5m 15m 30m 1h 2h 4h 6h 8h 12h 1d 3d 1w 1M

optional arguments:
  -h, --help           show this help message and exit
  --start START        Start date to get data (inclusive). Format: yyyy/mm/dd
  --end END            End date to get data (exclusive). Format: yyyy/mm/dd
  --dtfmt DATE_FORMAT  Format to use for dates (DMY, MDY, YMD, etc). Default:
Downloading data
$  kline-binance XRPBTC 1m --start 2016-01-01 --end now
[2019-01-02 05:12:40.941301] NOTICE: api: First available kline starts on {from_ms_utc(period_start)}
[2019-01-02 05:12:40.941867] NOTICE: api: Downloading 620 chunks...
Download : 100%|█████████████████████████████████████████████████| 620/620 [00:48<00:00, 12.73 chunk/s]
Write CSV: 100%|███████████████████████████████████████████████████| 100/100 [00:14<00:00,  7.04 pct/s]
[2019-01-02 05:13:44.784379] NOTICE: db: Done writing ./downloaded/2019-01-01_211330_XRPBTC_1m.csv for 612794 lines


This code is made available under the MIT License. See LICENSE file for detail.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

binance-downloader-0.2.5.tar.gz (15.5 kB view hashes)

Uploaded source

Built Distribution

binance_downloader-0.2.5-py3-none-any.whl (21.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page