All endpoints return JSON. Requires Elite plan API key.
GET/instruments
List all 300+ available trading instruments across crypto, stocks, forex, and futures markets. Returns symbol, name, market type, exchange, data availability range, and active status for every instrument in the Backtestic database.
Response Example
{
"instruments": [
{ "id": 1, "symbol": "BTCUSDT", "name": "Bitcoin", "market": "crypto",
"exchange": "Binance", "data_start": "2020-01-01", "data_end": "2025-12-31", "is_active": true },
{ "id": 2, "symbol": "ETHUSDT", "name": "Ethereum", "market": "crypto", ... },
{ "id": 150, "symbol": "AAPL", "name": "Apple Inc", "market": "stocks", ... },
{ "id": 450, "symbol": "EURUSD", "name": "EUR/USD", "market": "forex", ... },
{ "id": 550, "symbol": "ES", "name": "E-mini S&P 500", "market": "futures", ... }
],
"total": 312
}
GET/candles/:instrumentId
Fetch historical OHLCV (Open, High, Low, Close, Volume) candle data for any instrument. Supports 7 timeframes from 1-minute to daily. Crypto data has 1-minute resolution from 2020. Returns up to 5,000 candles per request. Perfect for backtesting algorithms, building trading bots, charting applications, and quantitative analysis.
Query Parameters
timeframe(string)— 1m, 5m, 15m, 30m, 1h, 4h, 1D (default: 1h)
from(ISO date)— Start time (e.g. 2025-01-01T00:00:00Z)
to(ISO date)— End time (e.g. 2025-01-31T23:59:59Z)
limit(number)— Max candles returned (default: 1000, max: 5000)
Response Example
{
"candles": [
{ "time": "2025-01-01T00:00:00Z", "open": 42150.00, "high": 42300.00,
"low": 42100.00, "close": 42250.00, "volume": 1234.56 },
{ "time": "2025-01-01T01:00:00Z", "open": 42250.00, "high": 42400.00,
"low": 42200.00, "close": 42380.00, "volume": 987.32 }
],
"count": 1000
}
GET/news
Get financial news articles for a specific instrument or trading symbol. Returns article title, source, URL, publication time, and sentiment data. Use this endpoint to build news-driven trading strategies, perform sentiment analysis, or integrate market news into your application. Supports all 300+ instruments.
Query Parameters
instrumentId(number)— Filter by instrument ID (from /instruments)
symbol(string)— Filter by symbol (e.g. BTCUSDT, AAPL) - use instrumentId or symbol
from(ISO date)— Start time (required)
to(ISO date)— End time (required)
limit(number)— Max articles (default: 50, max: 200)
Response Example
{
"news": [
{ "id": "uuid", "title": "Bitcoin Surges Past $70K as ETF Inflows Hit Record",
"source": "CoinDesk", "url": "https://...",
"published_at": "2025-01-15T14:30:00Z", "sentiment": "bullish" },
{ "id": "uuid", "title": "Ethereum Layer 2 Activity Reaches All-Time High",
"source": "The Block", "url": "https://...",
"published_at": "2025-01-15T12:00:00Z", "sentiment": "bullish" }
],
"count": 42
}
GET/economic-calendar
Get economic calendar events including FOMC interest rate decisions, CPI inflation data, Non-Farm Payrolls (NFP), GDP releases, retail sales, PMI, and dozens more macro indicators. Each event includes actual, forecast, and previous values with impact rating. Essential for fundamental analysis and macro-driven trading strategies.
Query Parameters
from(ISO date)— Start time (required)
to(ISO date)— End time (required)
minImpact(number)— Minimum impact level: 1 (low), 2 (medium), 3 (high). Default: 1
Response Example
{
"events": [
{ "id": "uuid", "title": "FOMC Interest Rate Decision", "country": "US",
"impact": 3, "actual": "5.50%", "forecast": "5.50%", "previous": "5.25%",
"event_time": "2025-01-29T19:00:00Z" },
{ "id": "uuid", "title": "Non-Farm Payrolls", "country": "US",
"impact": 3, "actual": "256K", "forecast": "164K", "previous": "212K",
"event_time": "2025-02-07T13:30:00Z" }
],
"count": 15
}
GET/sessions
List your backtest and prop firm sessions. Returns session metadata including instrument, timeframe, status, balances, and performance summary.
Query Parameters
status(string)— Filter by: active, completed, abandoned
Response Example
{
"sessions": [
{ "id": "uuid", "instrument_id": 1, "timeframe": "1h",
"status": "completed", "initial_balance": 10000, "current_balance": 11234 }
],
"total": 15
}
GET/trades
List your trades with pagination. Includes entry/exit prices, P&L, side, symbol, and timestamps. Filter by backtest or live source.
Query Parameters
source(string)— backtest or live (default: backtest)
sessionId(uuid)— Filter by session
status(string)— open or closed
page(number)— Page number (default: 1)
limit(number)— Per page (default: 50, max: 100)
Response Example
{
"trades": [
{ "id": "uuid", "side": "long", "entry_price": 42150, "exit_price": 42500,
"pnl": 350, "pnl_percent": 0.83, "symbol": "BTCUSDT" }
],
"total": 120, "page": 1, "limit": 50, "totalPages": 3
}
GET/analytics
Get performance analytics summary including win rate, average P&L, max drawdown, profit factor, Sharpe ratio, and more.
Query Parameters
source(string)— backtest or live
sessionId(uuid)— Analytics for a specific session
Response Example
{
"totalTrades": 120, "winRate": 0.65, "avgPnl": 42.5,
"maxDrawdown": -1250, "profitFactor": 2.1, "sharpeRatio": 1.8
}
GET/analytics/monte-carlo
Run Monte Carlo simulation on your trade history. Randomly reorders trades thousands of times to show the range of possible outcomes and validate statistical significance of your edge.
Query Parameters
source(string)— backtest or live
simulations(number)— Number of simulations (default: 1000, max: 10000)
sessionId(uuid)— Simulate for a specific session
Response Example
{
"simulations": 1000,
"percentiles": { "p5": 8500, "p25": 9800, "p50": 11200, "p75": 12800, "p95": 15400 },
"maxDrawdown": { "p5": -3200, "p50": -1800, "p95": -650 }
}
GET/strategies
List your saved trading strategies with names, descriptions, and creation dates.
Response Example
{
"strategies": [
{ "id": "uuid", "name": "Breakout Strategy", "description": "...", "created_at": "..." }
],
"total": 3
}