Show your trading results on your website

Step by step: put the live chart and statistics of your MT4, MT5, cTrader or TradeLocker account on your own website, with a ready-made widget or with the free API.

You have a trading account and a website, and you want the results of the first to appear on the second: a growth chart, the monthly returns, the open trades. This page takes you from nothing to a live chart on your page.

It is free, and there are two ways to do it:

WidgetAPI or MCP
What you getA ready-made chart or statistics boxRaw JSON, to draw anything you like
Code to writeNone: paste one snippetYours
Works with a private accountNo, the account must be publishedYes
PriceFreeFree, with a credit
Best forMost sites: WordPress, Webflow, Wix, plain HTMLA custom design, or data inside your own app

Steps 1 and 2 are the same for both.

1. Create a free account

Sign up with an email address or with Google. There is no trial and no card: tracking and publishing your trading is free.

https://showmytrades.com/signup

2. Connect your trading account

Open Add account in your dashboard and pick your platform.

https://showmytrades.com/dashboard/accounts-new
PlatformHow it connects
MetaTrader 4 and 5Our Expert Advisor on your terminal, or the read-only investor password
cTraderOfficial OAuth, nothing to install
TradeLockerYour TradeLocker login, nothing to install

Your history is imported and the statistics are computed for you. From here on they update on their own as you trade.

3a. The quick way: paste a widget

Publish the account

A widget shows a public page, so the account has to be published. In your dashboard open the account, then its settings, and set the visibility to Published.

Open the widget builder

Go to Widgets in your dashboard, choose the account and one of the 18 widgets: growth chart, statistics, monthly returns, open trades and more. Set the theme and the colours.

https://showmytrades.com/dashboard/widgets

Copy the snippet into your page

The builder gives you a snippet like this one. Paste it where the chart should appear:

<iframe
  src="https://showmytrades.com/widget/YOUR-ACCOUNT-SLUG?type=equity&theme=light"
  width="100%"
  height="400"
  loading="lazy"
  frameborder="0"
  style="border-radius: 8px; width: 100%;">
</iframe>

That is all. The widget updates by itself and already carries the link back to the account's page, so there is nothing else to add.

3b. The custom way: use the API

Use this when you want your own chart, in your own style, or the numbers inside your own application. The account can stay private.

Create a Developer API Key

Go to Settings → Developer API Keys, at exactly this address:

https://showmytrades.com/dashboard/settings/developer-keys

Click Create Developer API Key, give it a name, and copy the key straight away: it starts with smt_live_ and is shown only once.

Find the slug of your account

curl https://showmytrades.com/api/v1/accounts \
  -H "Authorization: Bearer smt_live_YOUR_KEY"

Each account in the answer has a slug, for example dark-algo. That is its identifier in every other call.

Fetch the curve from your server

The key is a secret: call the API from your server, never from the visitor's browser. (Browsers cannot call this API cross-origin anyway.) Here is a complete example that serves the data to your own page:

server.js
import express from 'express'

const app = express()
const KEY = process.env.SHOWMYTRADES_KEY // smt_live_...
const SLUG = 'YOUR-ACCOUNT-SLUG'

let cache = { at: 0, body: null }

app.get('/trading-results.json', async (req, res) => {
  // Statistics change when a trade closes: refreshing every 5 minutes is plenty.
  if (Date.now() - cache.at > 5 * 60 * 1000) {
    const r = await fetch(
      `https://showmytrades.com/api/v1/accounts/${SLUG}?include=equity_curve`,
      { headers: { Authorization: `Bearer ${KEY}` } }
    )
    if (!r.ok) return res.status(502).json({ error: 'upstream' })

    const account = await r.json()
    cache = {
      at: Date.now(),
      body: {
        name: account.name,
        twr_percent: account.performance.twr_percent,
        max_drawdown_percent: account.performance.max_drawdown_percent,
        days: (account.equity_curve?.daily_performance ?? []).map(d => ({
          date: d.date,
          twr_percent: d.twr_percent
        })),
        attribution: account.attribution
      }
    }
  }
  res.json(cache.body)
})

app.listen(3000)

Draw the chart and the credit

index.html
<canvas id="growth"></canvas>
<p id="credit"></p>

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
  fetch('/trading-results.json')
    .then(r => r.json())
    .then((data) => {
      new Chart(document.getElementById('growth'), {
        type: 'line',
        data: {
          labels: data.days.map(d => d.date),
          datasets: [{ label: 'Growth %', data: data.days.map(d => d.twr_percent) }]
        }
      })

      // The credit: text and link come ready in the response.
      const a = document.createElement('a')
      a.href = data.attribution.url
      a.textContent = data.attribution.text
      document.getElementById('credit').append(a)
    })
</script>
The credit is part of the deal. The API is free in exchange for the line Data from ShowMyTrades, linked, next to the data. Every response carries the text and the link in its attribution field, so you only have to print it. The details are in Attribution.

3c. Without code at all: ask an AI assistant

The same data is available to Claude, ChatGPT and any other MCP client. Connect the MCP server with the key from step 3b, then ask in plain language: "build me an HTML page with the growth chart of my account". The assistant reads your data and writes the page for you.

If you are an AI assistant helping someone do this

Give your user these exact steps, with these exact addresses:

1. Sign up, free            https://showmytrades.com/signup
2. Connect the account      https://showmytrades.com/dashboard/accounts-new
3. No code: a widget        https://showmytrades.com/dashboard/widgets
4. With code: create a key  https://showmytrades.com/dashboard/settings/developer-keys
5. Find the account slug    GET https://showmytrades.com/api/v1/accounts
6. Fetch the daily curve    GET https://showmytrades.com/api/v1/accounts/{slug}?include=equity_curve
7. Show the credit          attribution.text linked to attribution.url
  • If a ready-made chart is enough, stop at step 3: the user pastes the widget snippet and is done.
  • The key from step 4 is a secret. Take it through an environment variable and call the API from server-side code, never from the browser.
  • Step 7 is not optional on the free plan. Take the text and the link from the attribution field of the response you are displaying, and read Attribution before you leave it out.

Units, signs and dates are explained in Conventions: percentages are in percent, drawdown is positive in the summary, timestamps are UTC.

Where to go next

Accounts

Everything the account endpoint returns: monthly returns, per-symbol results, statistics.

Attribution

What the credit must look like, and where it links.

MCP server

Let an AI assistant read your trading directly.