Skip to main content

GET Fills

Returns recent fills across every linked Tradovate identity.

NinjaTrader 8Not available
No equivalent NT8 endpoint

This route is specific to linked Tradovate accounts.

TradovateREST only
GET /v1/api/tv/fills

Runs server-side for a linked Tradovate account, so NinjaTrader can be closed. Tradovate does not currently use the CrossTrade WebSocket API. See the Tradovate API guide.

Get all fills

GET /v1/api/tv/fills

Returns recent fills across every linked Tradovate identity. data is an array of raw Tradovate fill rows (id, orderId, contractId, qty, price, action, timestamp). For fills scoped to one order, use /v1/api/tv/fills/order/{orderId}; for one account's identity, use /v1/api/tv/accounts/{account}/fills.

Auth is the same bearer token as the rest of the CrossTrade API, on a plan with API access (Pro), plus a linked Tradovate account. Unlinked users receive 403 tradovate_not_linked.

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Code Examples

import requests

token = 'my-secret-token'

url = "https://app.crosstrade.io/v1/api/tv/fills"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(f"Response Code: {response.status_code}, Response Text: {response.text}")

Response

{
"success": true,
"data": [
{
"id": 987654321,
"orderId": 123456789,
"contractId": 3543031,
"qty": 1,
"price": 5001.25,
"action": "Buy",
"timestamp": "2026-07-15T14:32:05.184Z"
}
]
}

Rows are raw Tradovate fill records and may carry additional fields.