curl --request POST \
--url https://api.kraken.com/0/private/QueryStrategies \
--header 'API-Key: <api-key>' \
--header 'API-Sign: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"nonce": 1781169958000,
"strategy_ids": "ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV"
}
'import requests
url = "https://api.kraken.com/0/private/QueryStrategies"
payload = {
"nonce": 1781169958000,
"strategy_ids": "ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV"
}
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'API-Key': '<api-key>',
'API-Sign': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
nonce: 1781169958000,
strategy_ids: 'ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV'
})
};
fetch('https://api.kraken.com/0/private/QueryStrategies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/0/private/QueryStrategies"
payload := strings.NewReader("{\n \"nonce\": 1781169958000,\n \"strategy_ids\": \"ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"error": [],
"result": {
"strategies": {
"ASPBVCI-6MKBA-QE4VF6": {
"strategy_id": "ASPBVCI-6MKBA-QE4VF6",
"status": "pending",
"details": {
"strategy_type": "twap",
"side": "buy",
"volume": "0.01000000",
"filled_volume": "0",
"avg_price": "",
"total_cost": "0",
"total_fee": "0",
"starttm": "1781169958",
"expiretm": "1781173558",
"symbol": "BTC/USD",
"asset_class": "forex",
"ordertype": "market"
}
},
"ASMBA64-R23M2-J7JRJV": {
"strategy_id": "ASMBA64-R23M2-J7JRJV",
"status": "open",
"details": {
"strategy_type": "twap",
"side": "sell",
"volume": "2.00000000",
"filled_volume": "0.50000000",
"avg_price": "67050.10",
"total_cost": "33525.05",
"total_fee": "53.64",
"starttm": "1781166400",
"expiretm": "1781173600",
"symbol": "BTC/USD",
"asset_class": "forex",
"ordertype": "limit",
"price": "67000.0"
}
}
}
}
}Query Strategies
Retrieve specific strategies by strategy_ids, a comma delimited list. Up to 20 ids can be sent in one request.
The strategies are returned in result.strategies, keyed by strategy_id, using the same strategy object as GetOpenStrategies. Ids that are not found, or that belong to another account, are left out. No error is returned for them. If none match, the result is {"strategies":{}}.
API Key Permissions Required: Both Orders and trades - Query open orders & trades and Orders and trades - Query closed orders & trades, because the endpoint can return open and closed strategies. Results are limited to the key’s own account.
curl --request POST \
--url https://api.kraken.com/0/private/QueryStrategies \
--header 'API-Key: <api-key>' \
--header 'API-Sign: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"nonce": 1781169958000,
"strategy_ids": "ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV"
}
'import requests
url = "https://api.kraken.com/0/private/QueryStrategies"
payload = {
"nonce": 1781169958000,
"strategy_ids": "ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV"
}
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'API-Key': '<api-key>',
'API-Sign': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
nonce: 1781169958000,
strategy_ids: 'ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV'
})
};
fetch('https://api.kraken.com/0/private/QueryStrategies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.kraken.com/0/private/QueryStrategies"
payload := strings.NewReader("{\n \"nonce\": 1781169958000,\n \"strategy_ids\": \"ASPBVCI-6MKBA-QE4VF6,ASMBA64-R23M2-J7JRJV\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"error": [],
"result": {
"strategies": {
"ASPBVCI-6MKBA-QE4VF6": {
"strategy_id": "ASPBVCI-6MKBA-QE4VF6",
"status": "pending",
"details": {
"strategy_type": "twap",
"side": "buy",
"volume": "0.01000000",
"filled_volume": "0",
"avg_price": "",
"total_cost": "0",
"total_fee": "0",
"starttm": "1781169958",
"expiretm": "1781173558",
"symbol": "BTC/USD",
"asset_class": "forex",
"ordertype": "market"
}
},
"ASMBA64-R23M2-J7JRJV": {
"strategy_id": "ASMBA64-R23M2-J7JRJV",
"status": "open",
"details": {
"strategy_type": "twap",
"side": "sell",
"volume": "2.00000000",
"filled_volume": "0.50000000",
"avg_price": "67050.10",
"total_cost": "33525.05",
"total_fee": "53.64",
"starttm": "1781166400",
"expiretm": "1781173600",
"symbol": "BTC/USD",
"asset_class": "forex",
"ordertype": "limit",
"price": "67000.0"
}
}
}
}
}Authorizations
The "API-Key" header should contain your API key.
Authenticated requests should be signed with the "API-Sign" header, using a signature generated with your private key, nonce, encoded payload, and URI path.
Body
Was this page helpful?