GET Market Info
- NT8
- Tradovate
Retrieve market session info NT8
Returns real-time session status for an instrument, including whether the market is currently open or closed, the current or next session boundaries in UTC and exchange local time, and a countdown to the next state change. This is useful for algos that need to know whether the market is in session before placing orders, or UIs that display session timers.
Endpoint
GET /v1/api/market/info
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
instrument | string | Required | Full native NT8 instrument name, including the contract month and year for futures (e.g., "ES 12-26"). |
Code examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/market/info"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
params = {"instrument": "ES 12-26"}
try:
response = requests.get(url, headers=headers, params=params)
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 params = new URLSearchParams({ instrument: "ES 12-26" });
const url = `https://app.crosstrade.io/v1/api/market/info?${params}`;
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/market/info?instrument=ES%2012-26" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Response
- 200
{
"success": true,
"timestamp": "2026-03-18T20:46:29.0248281Z",
"instrument": "ES 12-26",
"timeZone": "Central Standard Time",
"status": {
"isOpen": true,
"state": "Open"
},
"session": {
"label": "Current Session",
"utcStart": "2026-03-17T22:00:00.0000000Z",
"utcEnd": "2026-03-18T21:00:00.0000000Z",
"localStart": "2026-03-17 17:00:00",
"localEnd": "2026-03-18 16:00:00",
"countdown": "00:13:30",
"action": "Until Close",
"secondsRemaining": 810.9751719
},
"upcoming": {
"utcStart": "2026-03-18T22:00:00.0000000Z",
"utcEnd": "2026-03-19T21:00:00.0000000Z"
}
}
Platform nuances
When the market is closed, the session object reflects the next upcoming session with "label": "Next Session" and "action": "Until Open".
Your integration is responsible for selecting the correct instrument and contract month. Do not rely on continuous-symbol translation in direct NT8 API calls. See NT8 instrument names.
WebSocket API
This request can also be made over the WebSocket API. Query parameters are passed inside args. Supply the full native instrument name in instrument.
{
"action": "rpc",
"id": "my-request-id",
"api": "MarketInfo",
"args": {
"instrument": "ES 12-26"
}
}
Tradovate
There is no MarketInfo equivalent on the /v1/api/tv surface; for Tradovate reference data use /v1/api/tv/contracts/find, /v1/api/tv/contracts/suggest, and /v1/api/tv/exchanges. See the Tradovate API overview for the full surface.