# every 60 seconds, for the whole list
curl "https://marketdata.tradermade.com/api/v1/live\
?currency=EURUSD,GBPUSD,USDSGD,USDCNH,USDPHP,USDMXN,BTCUSD\
&api_key=YOUR_KEY"
{
"endpoint": "live",
"quotes": [
{ "base_currency": "EUR", "quote_currency": "USD",
"bid": 1.11272, "ask": 1.11273, "mid": 1.112725 },
{ "base_currency": "USD", "quote_currency": "CNH",
"bid": 6.67099, "ask": 6.67113, "mid": 6.67106 },
{ "base_currency": "BTC", "quote_currency": "USD",
"bid": 75414.8, "ask": 75415.3, "mid": 75415.05 }
...
],
"requested_time": "Thu, 29 Oct 2026 14:02:00 GMT",
"timestamp": 1793109720
}
# an invoice line: 2,500 GBP into USD at the current rate
curl "https://marketdata.tradermade.com/api/v1/convert\
?from=GBP&to=USD&amount=2500&api_key=YOUR_KEY"
{
"base_currency": "GBP", "quote_currency": "USD",
"quote": 1.3317, "total": 3329.25,
"requested_time": "Thu, 29 Oct 2026 14:02:00 GMT", "timestamp": 1793109720
}
# connect to wss://stream.tradermade.com/feedAdv, log in, subscribe once ...
{ "action": "login", "key": "YOUR_KEY", "fmt": "JSON" }
{ "action": "subscribe", "symbols": ["EURUSD:QUOTE", "GBPUSD:QUOTE"] }
# ... then every tick arrives as it happens, stamped with the quote's millisecond time
{ "s": "GBPUSD", "t": "QUOTE", "b": "1.331690000", "a": "1.331700000",
"bv": "1000000", "av": "1500000", "ts": "20261029-14:02:00.022" }
GET /api/v1/live · JSON
Poll every minute or every second · cache between polls