GET Executions
- NT8
- Tradovate
Get list of all executions NT8
Lists recent NinjaTrader execution fills for one account.
Endpoint
GET /v1/api/accounts/{account}/executions
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
account | string | Required | Name of account in NT8 |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
lookbackTime | int | Optional | Number of seconds in the past to retrieve execution data (default 320, max 900) |
Code examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/accounts/Sim101/executions"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
try:
response = requests.get(url, headers=headers)
print(f"Response Code: {response.status_code}, Response Text: {response.text}")
except Exception as e:
print(f"An error occurred: {e}")
const token = 'my-secret-token';
const url = "https://app.crosstrade.io/v1/api/accounts/Sim101/executions";
fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
}
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
TOKEN="my-secret-token"
curl -X GET "https://app.crosstrade.io/v1/api/accounts/Sim101/executions" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Response
- 200
- 400
{
"executions": [
{
"id": "550837ff9e784c2895ef6dab22d06be0",
"type": "NinjaTrader.Cbi.Execution",
"time": "2025-09-26T18:09:38.3736787",
"epoch": 1727399378373,
"name": "Exit",
"orderId": "d99b2043460849ddae409d1b15cb92ff",
"account": "Sim101",
"serverName": "DESKTOP-200Q1V3",
"instrument": "ES 12-25",
"instrumentType": "Future",
"position": 0,
"marketPosition": "Short",
"positionStrategy": 0,
"price": 5804.5,
"quantity": 1,
"rate": 1.0,
"commission": "0.00",
"slippage": 0.0,
"lotSize": 1.0,
"isEntry": false,
"isEntryStrategy": false,
"isExit": true,
"isExitStrategy": true,
"isInitialEntry": false,
"isLastExit": true,
"isSod": false,
"barsInProgress": 0,
"exchange": "Default"
}
],
"success": true
}
{
"error": "Invalid request"
}
Platform nuances
NT8 calls these records executions and returns them in executions. The optional
lookbackTime window defaults to 320 seconds and is capped at 900 seconds.
WebSocket API
This request can also be made over the WebSocket API. The account path parameter and query parameters are passed inside args.
{
"action": "rpc",
"id": "my-request-id",
"api": "ListExecutions",
"args": {
"account": "Sim101",
"lookbackTime": 3600
}
}
Get list of all executions Tradovate
Lists the current trading session's fills for one linked Tradovate account. Fills from other accounts under the same Tradovate login are excluded. Tradovate calls this resource fills rather than executions. The request executes server-side against the Tradovate Web API and works while NinjaTrader is closed.
Tradovate's API only tracks fills for the current trading session. The list resets at the daily session close (around 5:00 PM ET) and stays empty until the next open, including all weekend, so "data": [] outside market hours is expected, not an error. For a durable record that survives the daily reset, use GET Fill History.
Endpoint
GET /v1/api/tv/accounts/{account}/fills
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
account | string | Required | Tradovate account name, such as DEMO12345678 |
Code examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/tv/accounts/DEMO12345678/fills"
headers = {
"Authorization": f"Bearer {token}"
}
try:
response = requests.get(url, headers=headers)
print(f"Response Code: {response.status_code}, Response Text: {response.text}")
except Exception as e:
print(f"An error occurred: {e}")
const token = 'my-secret-token';
const url = "https://app.crosstrade.io/v1/api/tv/accounts/DEMO12345678/fills";
fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`
}
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
TOKEN="my-secret-token"
curl -X GET "https://app.crosstrade.io/v1/api/tv/accounts/DEMO12345678/fills" \
-H "Authorization: Bearer $TOKEN"
Response
Successful reads return {"success": true, "data": ...}. For this endpoint, data is the
list of fills for the specified account only. Each row is a raw Tradovate fill record plus
an instrument field carrying the contract symbol resolved from the row's contractId.
{
"success": true,
"data": []
}
Platform nuances
- The route ends in
/fills, not/executions. {account}scopes the result to that account. Raw Tradovate fill rows do not carry an account ID, so CrossTrade attributes each fill to its account through the fill's order.- Each row includes
instrument(contract symbol, such asMNQU6) alongside the raw Tradovate fields. - The response uses a
datawrapper rather than the NT8executionsfield. - The endpoint works while NinjaTrader is closed.
See the Tradovate API overview for the full field grammar, mutation safety guarantees, and error table.