# the relayer's heartbeat poll, or the failover when the socket drops
curl "https://marketdata.tradermade.com/api/v1/live\
?currency=EURUSD,GBPUSD,UK100\
&per_quote_ts=true\
&api_key=your_key"
{
"endpoint": "live",
"quotes": [
{
"ask": 1.18183,
"base_currency": "EUR",
"bid": 1.18181,
"mid": 1.18182,
"quote_currency": "USD",
"timestamp": 1605267770
},
{
"ask": 1.31705,
"base_currency": "GBP",
"bid": 1.31704,
"mid": 1.31705,
"quote_currency": "USD",
"timestamp": 1605267771
},
{
"ask": 6310.5,
"bid": 6309.8,
"instrument": "UK100",
"mid": 6310.1499,
"timestamp": 1605267770
}
],
"requested_time": "Fri, 13 Nov 2020 11:42:51 GMT"
}
# connect, log in, subscribe once ...
wss://stream.tradermade.com/feedAdv
{ "action": "login", "key": "YOUR_KEY", "fmt": "JSON" }
{ "action": "subscribe", "symbols": ["XAUUSD:QUOTE", "EURUSD:QUOTE"] }
# ... then every tick arrives as it happens, stamped to the millisecond
{ "s": "XAUUSD", "t": "QUOTE",
"b": "4008.510000000", "a": "4008.690000000",
"bv": "1000000", "av": "1000000",
"ts": "20261029-14:02:00.117" }
REST and WebSocket · JSON, CSV or SSV
Same key, same symbols