Introduction
The ShowMyTrades API gives you your trading data as JSON: accounts, statistics, closed trades and open positions. Everything you can see on the site, you can pull into your own spreadsheet, script, dashboard or AI assistant.
It is free, in exchange for a visible credit: the line Data from ShowMyTrades, linked, wherever you show the data. See Attribution.
Two things you can do:
Read your own accounts
Every account you have connected (MT4, MT5, cTrader, TradeLocker) including private ones, plus your portfolios.
Read any public account
Every account published on ShowMyTrades, and a search across all of them. The same data the public pages show. No key required.
Base URL
https://showmytrades.com/api/v1
Every path in this reference is relative to that base.
A first request
No key is needed for public accounts. This finds verified accounts with a year of history that never drew down more than 10%:
curl -G https://showmytrades.com/api/v1/search/accounts \
-d verified=true -d min_age_days=365 -d max_drawdown_percent=10 -d sort=-gain
For your own accounts, create a key in Settings → Developer API Keys, then:
curl https://showmytrades.com/api/v1/accounts \
-H "Authorization: Bearer smt_live_YOUR_KEY"
const res = await fetch('https://showmytrades.com/api/v1/accounts', {
headers: { Authorization: 'Bearer smt_live_YOUR_KEY' }
})
const { data } = await res.json()
import requests
res = requests.get(
'https://showmytrades.com/api/v1/accounts',
headers={'Authorization': 'Bearer smt_live_YOUR_KEY'}
)
data = res.json()['data']
What the API does not do
Being explicit about this saves you time: