WEX has the most features, including a chat client which I wasn’t very interested in and news data feeds. They’re very professional and have the best documentation of the three. Their API is .NET so it’s flexible. I was going to translate WEX’s .NET API into Matlab for a hedge fund but the project fell through so I haven’t spent as much time trying to smooth out bugs introduced by it as with the other two.
Lime‘s Java API is the most barebones. They only have access to US markets and very few extra functions beyond order submission, portfolio details, and data subscription. However they do offer co-location. Their niche is that they’re built for speed and they do a good job. Also their customer support is the best. Whenever I emailed them very technical questions they’d reply in detail typically within an hour. I liked working with their API the best because I never ran into any problems caused by them being careless with their implementation. The only problem with Lime is that the data feeds they have available are for book data rather than trades so it’s nontrivial to construct an accurate midpoint price, which I find most practical.
I haven’t used each of the three’s FIX APIs.