Skip to main content

GET Find Contract

Resolves one Tradovate futures contract by its exact symbol.

NinjaTrader 8Not available
No equivalent NT8 endpoint

This route is specific to linked Tradovate accounts.

TradovateREST only
GET /v1/api/tv/contracts/find?name=

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.

Find a contract by symbol

GET /v1/api/tv/contracts/find?name=ESU6

Resolves one contract by its exact Tradovate symbol (for example ESU6). If you only know the root (like ES) and need the active front month, use /v1/api/tv/contracts/suggest instead.

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>

Query Parameters

NameTypeRequiredDescription
namestringRequiredExact Tradovate contract symbol, e.g. ESU6

Code Examples

import requests

token = 'my-secret-token'

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

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

Response

{
"success": true,
"data": {
"id": 3543031,
"name": "ESU6",
"contractMaturityId": 46127
}
}

data is the raw Tradovate contract record; {} when no contract matches the symbol.