Understanding the Kraken Trades API: A Guide to Creating Historical Data
As a trader or analyst, having access to reliable and accurate historical data is essential to making informed decisions about your investments. However, when it comes to trading platforms like Kraken, providing such data can be a daunting task. In this article, we will explore the Kraken Trades API, which allows users to access historical trading data using an open-source Python library.
Why is historical data necessary?
Historical data is essential for several reasons:
- To analyze price movements and identify trends
- To set buy and sell signals based on market conditions
- To optimize trading strategies
Without reliable historical data, it can be difficult to make accurate predictions about future market movements.
Kraken Trades API: Getting Started
To start creating your own historical OHLC data from Kraken trades, you will need to follow these steps:
- Create an Account: Create a free account on the Kraken website.
- Get API Access: Create a developer account on the Kraken Trades API page and obtain your API credentials.
Using the Kraken Trades API with Python
Once you have access to your API credentials, you can start creating historical data by following these steps:
Step 1: Install the Required Libraries
To use the Kraken Trades API with Python, you will need to install the requests library to make HTTP requests and the pandas library to manipulate the data.
pip prompt for pandas installation
Step 2: Set up your API connection
Create a new file called « kraken_trades.py » and add the following code:
import requests
import panda as pd

Set up your Kraken Trades API credentialsapi_key = "YOUR_API_KEY"
api_secret = 'YOUR_API_SECRET'
Set up the API endpointendpoint = f'
Send a GET request to the API endpointresponse = requests.get(endpoint)
Check if the response was successfulif response.status_code == 200:
Parse the JSON response into a DataFramedf = pd.json_normalize(response.json())
return df
something else:
print(f'Error: {response.text}')
return None
Step 3: Filter and Clean the Data
Once you have received the data, you will need to filter and clean it before importing it into your preferred data format.
Filter out all invalid or missing datadf = df[df['time'] > 0]
Convert the "open" column to a numeric (float) type, if possibledf['open'] = pd.to_numeric(df['open'])
Step 4: Save and export the data
You can now save the cleaned and filtered DataFrame in your preferred file format.
import pickled
Save the DataFrame to a Pickle filewith open('kraken_trades.pkl', 'wb') as f:
pickle.dump(df, f)
Example Use Case
Here’s an example of how you can use this code to create historical OHLC data from Kraken trades:
« `python
import kraken_trades
Get API credentials
api_key = « YOUR_API_KEY »
api_secret = ‘YOUR_API_SECRET’
Set up the API endpoint
endpoint = f’
Send a GET request to the API endpoint and parse the response as a DataFrame
df = kraken_trades.get_trades_dataframe(endpoint)
Filter out any invalid or missing data
df = df[df[‘time’] > 0]
Convert the ‘open’ column to a numeric (float) type, if possible
df[‘open’] = pd.to_numeric(df[‘open’])
Save and export the DataFrame to a Pickle file
with open(‘kraken_trades.pkl’, ‘wb’) as f:
brine.