---
title: "Get an account performance metrics"
method: GET
path: "/rest/api/v1/accounts/{accountId}/performanceMetrics"
tags: ["Account API"]
---

# Get an account performance metrics

`GET /rest/api/v1/accounts/{accountId}/performanceMetrics`

## Request

- Base URL: `https://api.metacopier.io`
- URL: `https://api.metacopier.io/rest/api/v1/accounts/{accountId}/performanceMetrics`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/metacopier/apis/metacopier-api/docs/rest/api/v1/accounts/:accountId/performanceMetrics/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `accountId` string, uuid, required

## Query parameters

- `startDate` string
- `endDate` string

## Response `200`

OK

- PerformanceMetricsDTO: Performance metrics
  - `accountType` AccountTypeDTO: You have only to set the id e.g 1 for MT5, 2 for MT4, 3 for DXtrade, 4 for cTrader, 5 for TradeLocker, 6 for MatchTrader, 7 for Binance, 8 for Bybit, 9 for Bitget, 10 for BloFin, 11 for OKX, 12 for TradeStation, 13 for Tradovate and 14 for Alpaca. Example: {id:1}
    - `id` integer, required
    - `name` string
  - `advancedAnalyticsAvailable` boolean: True if collected balance/equity history exists and advanced analytics can be shown
  - `avgCommissionPerTrade` number: Average commission paid per trade
  - `avgDrawdown` number: Average drawdown percentage during trading period (%)
  - `avgHoldingTimeSeconds` integer: Average holding time for closed trades in seconds (duration)
  - `avgLoss` number: Average loss of losing trades as positive amount
  - `avgLotSize` number: Average lot size per trade
  - `avgNetProfitPerTrade` number: Average profit per trade in account currency (amount)
  - `avgProfitPerMonth` object: Monthly average profit amount - key: YYYY-MM format, value: average profit per trade (amount)
  - `avgRecoveryTimeHours` number: Average number of hours to recover from a drawdown back to a new equity peak
  - `avgRiskReward` number: Average risk/reward ratio
  - `avgSwapPerTrade` number: Average swap per trade in account currency
  - `avgWin` number: Average profit of winning trades
  - `balanceEquityDivergencePerDay` object: Daily balance-to-equity divergence ratio — key: YYYY-MM-DD, value: abs(equity - balance) / balance as percentage (%)
  - `bestDay` PeriodPerformanceDTO: Performance summary for a named period
    - `label` string: Period label, for example 2026-04 or 2026-W14
    - `netProfit` number: Net profit for the period
  - `bestMonth` PeriodPerformanceDTO: Performance summary for a named period
    - `label` string: Period label, for example 2026-04 or 2026-W14
    - `netProfit` number: Net profit for the period
  - `bestWeek` PeriodPerformanceDTO: Performance summary for a named period
    - `label` string: Period label, for example 2026-04 or 2026-W14
    - `netProfit` number: Net profit for the period
  - `breakevenTrades` integer: Number of breakeven trades
  - `broker` string: Broker name or identifier
  - `currency` string: Account currency code (e.g., USD, EUR, GBP)
  - `currentEquityDrawdown` number: Current equity drawdown from the previous peak (%)
  - `currentFloatingPnl` number: Current floating profit/loss in account currency (amount)
  - `dailyBalance` object: Daily account balance - key: YYYY-MM-DD format, value: end-of-day balance UTC in account currency (amount)
  - `dailyBalanceTransactions` object: Daily balance transactions - key: YYYY-MM-DD format, value: net transaction amount (positive for deposits, negative for withdrawals) in account currency (amount)
  - `dailyEquity` object: Daily account equity - key: YYYY-MM-DD format, value: end-of-day equity UTC in account currency (amount)
  - `dailyGrowth` object: Cumulative growth - key: YYYY-MM-DD format, value: time-weighted return from the period start to the end of the day, adjusted for deposits and withdrawals (%)
  - `dataCollectorEnabled` boolean: True if the Data Collector feature is enabled for the account
  - `dataCollectorHistoryEndAt` string, date-time: Timestamp of the most recent Data Collector sample
  - `dataCollectorHistoryStartAt` string, date-time: Timestamp of the first available Data Collector sample
  - `dataCollectorSamples` integer: Number of Data Collector samples used for advanced analytics
  - `directionPerformance` DirectionPerformanceDTO: Performance split by trade direction
    - `buyNetProfit` number: Net profit for buy trades
    - `buyTrades` integer: Number of buy trades
    - `buyWinRate` number: Win rate for buy trades (%)
    - `sellNetProfit` number: Net profit for sell trades
    - `sellTrades` integer: Number of sell trades
    - `sellWinRate` number: Win rate for sell trades (%)
  - `equityCurveSmoothness` number: R-squared of equity curve vs. time linear regression (0-1). Higher means smoother equity growth.
  - `equityDrawdownPerDay` object: Daily equity drawdown from Data Collector - key: YYYY-MM-DD format, value: drawdown from previous equity peak (%)
  - `equityVolatility` number: Intraday equity volatility — standard deviation of per-sample equity changes as percentage of equity (%)
  - `expectancy` number: Mathematical expectancy per trade in account currency (amount)
  - `firstTradeAt` string, date-time: Timestamp of the first trade in the history window
  - `floatingPnlPerDay` object: Daily floating PnL from Data Collector - key: YYYY-MM-DD format, value: end-of-day floating profit/loss in account currency (amount)
  - `grossLoss` number: Absolute sum of all losing trades
  - `grossProfit` number: Sum of all profitable trades
  - `growth` number: Growth of the selected period as time-weighted return, adjusted for deposits and withdrawals (%). Null if it cannot be determined
  - `intradayMaxDrawdown` number: Worst intraday peak-to-trough equity drawdown from granular Data Collector samples (%)
  - `largestLoss` number: Largest single losing trade in account currency (amount, negative value)
  - `largestWin` number: Largest single winning trade in account currency (amount)
  - `lastTradeAt` string, date-time: Timestamp of the last trade in the history window
  - `longestLossStreak` integer: Longest consecutive losing trades streak (count)
  - `longestWinStreak` integer: Longest consecutive winning trades streak (count)
  - `losingTrades` integer: Number of losing trades
  - `maxCollectorDrawdown` number: Maximum equity drawdown observed in collected history (%)
  - `maxDrawdown` number: Maximum drawdown percentage - worst peak-to-trough decline (%)
  - `maxFloatingLoss` number: Maximum adverse floating loss observed in Data Collector history (amount, negative value)
  - `maxFloatingProfit` number: Maximum favorable floating profit observed in Data Collector history (amount)
  - `maxLotSize` number: Maximum lot size used in a single trade
  - `maxRecoveryTimeHours` number: Maximum number of hours to recover from a drawdown back to a new equity peak
  - `monthsActive` integer: Active months from first to last trade (count)
  - `peakFloatingPnl` number: Maximum favorable floating PnL ever observed in granular Data Collector samples (amount)
  - `profitAmountPerMonth` object: Monthly profit amount in account currency - key: YYYY-MM format, value: total profit (amount)
  - `profitFactor` number: Profit factor as ratio
  - `profitPerHour` object: Net profit by hour of day (UTC)
  - `profitPerWeekday` object: Net profit by weekday
  - `profitPercentagePerMonth` object: Monthly growth - key: YYYY-MM format, value: time-weighted return of the month, adjusted for deposits and withdrawals (%)
  - `score` number: Composite signal quality score (0-100) based on multiple performance metrics
  - `scoreBreakdown` ScoreBreakdownDTO: Detailed breakdown of signal score calculation showing contribution of each component
    - `accountBalanceScore` number: Account balance score (0-7 points, Live only)
    - `accountTypeScore` number: Account type score (0-8 points)
    - `consistencyScore` number: Consistency score (0-6 points)
    - `diversificationScore` number: Portfolio diversification score (0-8 points)
    - `expectancyScore` number: Expectancy score (0-5 points)
    - `isLiveAccount` boolean: Whether this is a live account
    - `martingalePenalty` number: Martingale penalty (0 to -6 points)
    - `maxDrawdownScore` number: Max drawdown score (0-12 points)
    - `monthsActiveScore` number: Months active score (0-2 points)
    - `overtradingPenalty` number: Overtrading penalty (0 to -5 points)
    - `profitFactorScore` number: Profit factor score (0-12 points)
    - `recoveryFactorScore` number: Recovery factor score (0-10 points)
    - `riskRewardScore` number: Risk/reward ratio score (0-7 points)
    - `totalTradesScore` number: Total trades score (0-4 points)
    - `uniqueAssetClasses` integer: Number of unique asset classes traded
    - `uniqueInstruments` integer: Number of unique instruments traded
    - `winRateScore` number: Win rate score (0-8 points)
  - `symbolAnalytics` SymbolAnalyticsDTO[]: Detailed analytics per traded symbol
    - `avgProfitPerTrade` number: Average profit per trade for the symbol
    - `netProfit` number: Net profit for the symbol
    - `symbol` string: Symbol name
    - `trades` integer: Trade count for the symbol
    - `winRate` number: Win rate for the symbol (%)
  - `timeInDrawdownPercent` number: Percentage of time equity was below its previous peak, based on Data Collector samples (%)
  - `totalCommissions` number: Total commissions paid across all trades in account currency (amount)
  - `totalLotSize` number: Total lot size traded across all trades (lots)
  - `totalNetProfit` number: Total net profit in account currency (amount)
  - `totalSwap` number: Total swap across all trades in account currency
  - `totalTrades` integer: Total number of closed trades in history window (count)
  - `tradesByHoldingBucket` object: Trade count by holding-time bucket
  - `tradesPerDay` object: Trade count per day - key: YYYY-MM-DD format, value: number of trades (count)
  - `tradesPerHour` object: Trade count by hour of day (UTC)
  - `tradesPerSymbol` object: Trade count per symbol - key: symbol name (e.g. EURUSD, GBPUSD), value: number of trades (count)
  - `tradesPerWeekday` object: Trade count by weekday
  - `troughFloatingPnl` number: Maximum adverse floating PnL ever observed in granular Data Collector samples (amount, negative)
  - `winRate` number: Win rate in percentage [0..100] (%)
  - `winningTrades` integer: Number of winning trades
  - `worstDay` PeriodPerformanceDTO: Performance summary for a named period
    - `label` string: Period label, for example 2026-04 or 2026-W14
    - `netProfit` number: Net profit for the period
  - `worstMonth` PeriodPerformanceDTO: Performance summary for a named period
    - `label` string: Period label, for example 2026-04 or 2026-W14
    - `netProfit` number: Net profit for the period
  - `worstWeek` PeriodPerformanceDTO: Performance summary for a named period
    - `label` string: Period label, for example 2026-04 or 2026-W14
    - `netProfit` number: Net profit for the period

## Changes

- **2026-11-02** `2ac6d7461345`: 2 info
  - added the optional property `dailyGrowth` to the response with the `200` status
  - added the optional property `growth` to the response with the `200` status
- **2026-08-10** `5c1371d2c0b2`: 48 info
  - added the new optional `query` request parameter `endDate`
  - added the new optional `query` request parameter `startDate`
  - added the optional property `advancedAnalyticsAvailable` to the response with the `200` status
  - added the optional property `avgCommissionPerTrade` to the response with the `200` status
  - …44 more
- **2026-01-16** `5446e0dea026`: 1 warning, 4 info
  - removed the optional property `tradesPerMonth` from the response with the `200` status
  - added the optional property `dailyBalanceTransactions` to the response with the `200` status
  - added the optional property `score` to the response with the `200` status
  - added the optional property `scoreBreakdown` to the response with the `200` status
  - …1 more
- **2025-10-14** `097a0d48eb9a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/metacopier/apis/metacopier-api/changes/rest/api/v1/accounts/:accountId/performanceMetrics/get.md)

---

[API](https://skmtc.dev/metacopier/apis/metacopier-api.md) - [All operations](https://skmtc.dev/metacopier/apis/metacopier-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metacopier/apis/metacopier-api/revisions/2ac6d7461345?raw)
