I’ve successfully connected to websocket endpoint, I authorisem syncRequest and receive heartbeats fine. Everything is good both sides , it appears. I send “” heartbeats back to keep everybody happy.
When I issue a subscription request however, I am receiving a response;
a[{“s”:200,“i”:,“d”:{“errorText”:“Symbol is inaccessible”,“errorCode”:“UnknownSymbol”,“mode”:“None”}}]
TLDR: Tradovate and the CME now require a monthly fee for market data on top of the other fees that Tradovate charges. As far as I can tell, it is currently $427/mo directly to the CME. This it the latest correspondence I received from the CME, back in Feb 2024:
I just want you to be aware that the User Non-Display license for this use has increased in price in 2024 to $427/month per market.
I don’t like to respond on these threads anymore, but let me make this clear: anyone that is trying to advertise a “free” Discord server is just trying to sell you their product:
If you look at the Discord you would know better. That’s the sad part about trying to help. Go look at how many posts I have answered. However, there is a rarely a post here so I do not have time to come here every day, but I get to respond immediately when I see a Discord message.
Appreciate your contributions too.
Peace brother.
PS: My intentions are selfish for sure. I am building my bot’s future on this API and would hate to see the API die. So I have every reason to help keep it alive and supported.
PPS: Also, your answer is exactly the answer I gave him with zero “advertising”. The upside is that he did not have to wait a week for the answer. In the long exchange he had many other questions that I answered immediately. You are welcome to go read it and ask Dylan himself about it.
hey dylan_clark! sounds like you’re almost there connecting and getting heartbeats is a good sign. the “symbol is inaccessible” error usually means there’s an issue with the symbol format or permissions.
a few things to check:
make sure “NQZ4” is the correct symbol format for tradovate. sometimes symbols need a specific syntax or contract code.
double-check your permissions on the API side to ensure you have access to market data for that symbol.
some users found that resetting/re-authenticating the session can help, especially if it’s a temporary permissions hiccup.
also, if you’re into automation, check out pickmytrade for managing these kinds of setups. good luck, and let me know if you need more help
I’m also getting this error. I’m not sure what to do. I’m running example-api-js/tutorial/WebSockets/EX-11a-Tick-Charts-Solution at main · tradovate/example-api-js · GitHub . I am successfully getting my production account back so I know I’m authed correctly. I’m seeing heart beats. But no matter which symbol I pass in, I get the response [{“s”:200,“i”:3,“d”:{“errorText”:“Symbol is inaccessible”,“errorCode”:“UnknownSymbol”,“mode”:“None”}}]
I even went and looked at the websocket on my live tradovate account, and saw that the symbol being passed to the websocket over there was a number 3703582. I requested that, and still got the same error.
I’ve seen some other discussions talk about a CME subscription, but I doubt that’s the problem. If the standard production Tradovate website can access this API with my authentication to get the data, no reason that another API request shouldn’t be able to either.
This error is because you do not have the CME ILS agreement on file with Trodovate. They will toggle a setting to allow real-time data through the API or not based on it.