Pull your own account balance, equity, drawdown, win rate and trade stats into a spreadsheet, Zapier, or your own dashboard — no browser session required.
Every key is personal — it can only ever return your own data, the same account your dashboard's "My EA Performance" card shows. Generate one from Dashboard → Settings → API Access. The raw key is shown once at creation time; if you lose it, revoke it and generate a new one. Give each integration (a spreadsheet, a Zapier flow) its own key so you can revoke one without breaking the others.
GEThttps://www.vexriano.com/api/my-mt5-account.php?key=YOUR_KEY
Requires either a logged-in session cookie (used by the dashboard itself) or a valid ?key= query parameter (used by everything else — curl, Google Apps Script, Zapier's "Webhooks by Zapier" trigger, a personal backend). Responses are plain JSON, never cached (Cache-Control: no-store), and reflect whatever your terminal's EA most recently pushed.
| Field | Type | Notes |
|---|---|---|
ok | bool | false plus an error string if the request failed — see Errors below. |
online | bool | False once age_secs exceeds the site's configured stale-after threshold (default 60s) — your terminal likely isn't pushing right now. |
balance / equity / profit | number | Live account figures, USD unless currency says otherwise. |
drawdown_pct / drawdown_amount | number | Current dip from your highest-ever equity. max_* variants are the worst it's ever reached. |
booked_today … booked_all | number | Realized (closed-trade) profit over each rolling window. |
health | object | 0–100 composite score (win rate, profit factor, drawdown, sample size). score is null and insufficient_data is true below 10 closed trades — don't render a fabricated grade in that case. |
positions | array | Currently open trades, capped at 20. |
| HTTP status | Meaning |
|---|---|
401 | Missing/invalid ?key= and no logged-in session, or your email isn't verified yet. |
404 | Your key is valid, but no MT4/MT5 account has been activated on your account yet — see Dashboard → Activate EA License. |
Every error response is still valid JSON: {"ok":false,"error":"..."} — check ok rather than relying on the HTTP status alone.
Your terminal itself only pushes fresh numbers every few seconds, so polling faster than that just re-fetches the same figures. Once every 5–15 seconds is the same cadence the dashboard widget itself uses; once a minute is plenty for a spreadsheet or periodic report.
No — a key can only ever resolve to the account it was generated for. There is no request parameter that selects a different account.
That integration starts getting 401 immediately. Generate a fresh key and update it there — revoking never affects your other keys.