Skip to main content

FIX API

Market Data - FIX API

Financial Information eXchange (FIX) protocol is an electronic communications protocol initiated in 1992 for international real-time exchange of information related to the securities transactions and markets. You can use it to receive real-time market data from us and it's an alternative to WebSocket protocol.

info

If you don't have experience with FIX protocol, consider using a much simpler to implement REST or WebSocket API.

Implemented Standards:

Endpoints

EnviromentEncryptionValueRegion
ProductionYesfix.coinapi.io:3303GeoDNS (auto-routing)
ProductionNofix.coinapi.io:3302GeoDNS (auto-routing)
ProductionYesapi-ncsa.coinapi.io:3303North & South America
ProductionNoapi-ncsa.coinapi.io:3302North & South America
ProductionYesapi-emea.coinapi.io:3303Europe, Middle East & Africa
ProductionNoapi-emea.coinapi.io:3302Europe, Middle East & Africa
ProductionYesapi-apac.coinapi.io:3303Asia Pacific
ProductionNoapi-apac.coinapi.io:3302Asia Pacific
info

The default endpoints (fix.coinapi.io) use GeoDNS to automatically route your connections to the nearest datacenter. If you prefer to use a specific region, you can use the region-specific endpoints listed above.

FIX client configuration file for encrypted connection:

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=2
FileStorePath=store
FileLogPath=log
StartTime=00:00:00
EndTime=00:00:00
NonStopSession=Y
UseDataDictionary=Y
ValidateFieldsOutOfOrder=N
DataDictionary=FIX44.xml
SocketConnectHost=fix.coinapi.io
SocketConnectPort=3303
SSLEnable=Y
SSLServerName=fix.coinapi.io
SSLValidateCertificates=Y
SSLCheckCertificateRevocation=Y
LogoutTimeout=5
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y

[SESSION]
BeginString=FIX.4.4
SenderCompID=YOUR_API_KEY
TargetCompID=COINAPI_V2
HeartBtInt=10

FIX client configuration file for unencrypted connection:

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=2
FileStorePath=store
FileLogPath=log
StartTime=00:00:00
EndTime=00:00:00
NonStopSession=Y
UseDataDictionary=Y
ValidateFieldsOutOfOrder=N
DataDictionary=FIX44.xml
SocketConnectHost=fix.coinapi.io
SocketConnectPort=3302
SSLEnable=N
LogoutTimeout=5
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y

[SESSION]
BeginString=FIX.4.4
SenderCompID=YOUR_API_KEY
TargetCompID=COINAPI_V2
HeartBtInt=10

Our production endpoint configuration parameters:

ParameterValue
Protocol versionFIX.4.4 (XML FIX Specification can be downloaded here: FIX44.xml)
Gateway timezoneUTC

We recommend using our SDK or listed client libraries depending on your language requirements:

LanguageLibraries
C++https://github.com/quickfix/quickfix
C#https://github.com/coinapi/coinapi-sdk/tree/master/csharp-fix
https://github.com/connamara/quickfixn
Javahttps://github.com/quickfix-j/quickfixj
Pythonhttps://github.com/quickfix/quickfix/tree/master/src/python
Rubyhttps://github.com/quickfix/quickfix/tree/master/src/ruby
Gohttps://github.com/quickfixgo/quickfix/

Security

Stunnel configuation:

[COINAPI]
client = yes
accept = 3302
connect = fix.coinapi.io:3303
verify = 2

Communication with our FIX gateway is secured by TLS protocol if you are using the encrypted port. If your FIX protocol implementation does not support establishing a connection over a secure channel, you must use a proxy between your client and our FIX gateway to unbundle encryption or use the unencrypted port. We recommend stunnel as a proxy if a secure connection can't be established directly from your client and you can't allow unencrypted traffic.

tip

You should assume that we are always providing certificates signed by the Trusted Certification Authority.

oneZero Hub

Our FIX Connector is passing oneZero Conformance Test. If you need to establish a session using the FIX with your company oneZero Hub, please contact our support at CoinAPI Support.