This is a maintained fork of Historic-Crypto by: David Woroniuk (https://github.com/David-Woroniuk/Historic_Crypto).
An open source Python library for the collection of Historical Cryptocurrency data.
This library interacts with the CoinBase Pro API to:
- List the Cyptocurrency Pairs available through the API.
- Return Live Data from the API
- Return historical data from the API in a Pandas DataFrame.
The HistoricalData class returns all attributes (Open, Close, High, Low, Volume) of the selected Cryptocurrency, whilst the Cryptocurrencies class returns all Cryptocurrencies available through the API, with a 'coin_search' parameter if the user wishes to check if that Coin ID is available.
Install:
pip install Historic-Crypto-ModernBackward compatible imports supported:
from Historic_Crypto import HistoricalData
from Historic_Crypto import Cryptocurrencies
from Historic_Crypto import LiveCryptoDataIf you are unsure of the correct 'ticker' to search for:
from Historic_Crypto import Cryptocurrencies
Cryptocurrencies().find_crypto_pairs()Returns a Pandas DataFrame containing the columns "id" and "display_name" and "status", with the "id" column indicating the search term which should be queried by the other classes within the package.
Additionally, a number of optional arguments can be added:
| Argument | Description |
|---|---|
| coin_search | search for a specific cryptocurrency string (str) Default = None. |
| extended_output | displays either a condensed or extended output (Bool) Default = False. |
| verbose | prints status messages (Bool) Default = True. |
from Historic_Crypto import Cryptocurrencies
data = Cryptocurrencies(coin_search = 'XLM', extended_output=False).find_crypto_pairs()Once you know the ticker which you would like to search for, you can search for it using the HistoricalData class.
from Historic_Crypto import HistoricalData
new = HistoricalData('ETH-USD', 300, '2025-06-01-00-00', '2025-06-02-00-00').retrieve_data()
new = HistoricalData('ETH-USD', '1d', '2025-06-01-00-00', '2025-06-30-00-00').retrieve_data()The arguments for the class are listed below:
| Argument | Description |
|---|---|
| ticker | supply the ticker information which you want to return (str). |
| granularity | please supply a granularity in seconds (60, 300, 900, 3600, 21600, 86400) (int) or ('1m', '5m', '15m', '1h', '6h', '1d') (str). |
| start_date | a string in the format YYYY-MM-DD-HH-MM (str). |
| end_date | a string in the format YYYY-MM-DD-HH-MM (str). Optional, Default: Now |
| verbose | printing during extraction. Default: True |
If you want to see the current Bid/Ask of a specific Cryptocurrency:
from Historic_Crypto import LiveCryptoData
new = LiveCryptoData('ATOM-USD').return_data()Returns a Pandas DataFrame 'data', which contains the trade_id, price, size, bid, ask and volume of the previous transaction, indexed by timestamp.
The arguments for the class are listed below:
| Argument | Description |
|---|---|
| ticker | information for which the user would like to return (str). |
| verbose | print progress during extraction (bool). Default:True |