So after cleaning up the pee, I signed up for your trial, and I must say at present I simply wouldn't be happy spending $200/mo. on what I've found.
Your documentation is /sorely/ lacking:
- Fields are only described as far as 3 words, and if I cannot find some equivalent field in the CTS/UTP spec, such as in the case of the string 'Trade ID' field, I really don't even know what I'm paying for. What is a Trade ID?
- Field types completely, and dangerously, incorrect. Price documented as an integer (much like it would be sent in CTS) but in the JSON it is a float. Why the change? Floats have precision issues
- Fields marked mandatory that apparently are optional, such as 'y'/'f', while fields marked optional ('t') that are apparently always present
I can muddle ahead and assume this is just a minor docs issue, or I can play cautious and assume if the docs for the very first endpoint I tried have these errors, what am I going to find when I begin to investigate the data? Will those investigations occur before or after a trading error?
There is also insufficient information on the behaviour of the web socket. For example, looking at all AAPL trades, there were 685,420 on Friday. Each JSON object comes out around 110 bytes encoded, or around 75 MB data just for the AAPL symbol. This number obviously multiplies fast for whole-market view.
It's not hard to see there may be capacity issues during peak hours when observing the whole market. The FAQ lists average messaging rates, but these aren't useful to design for worst-case behaviour. Do I need a machine with a gigabit connection to handle peak? Will the feed inexplicably get laggy in the middle of the trading day? I assume so because the information required to ensure this wouldn't happen is missing from the docs.