Getting Started

Broker Radar API Documentation

Welcome! In this guide, we'll walk you through the basics of using the Broker Radar API to get real-time spread data from multiple MT5 brokers.

Step 1: Understanding the API

Our Broker Radar API provides real-time spread data from 37+ MT5 brokers including Exness, FxPro, Pepperstone, and more. The API is completely free, requires no authentication, and supports CORS for browser requests.

Base URL: https://api.broker-radar.com

Available Endpoints:

GET
/public/spreads- Get all spreads (24h)
GET
/public/spreads/[broker]- Get broker spreads
GET
/public/spreads/[symbol]- Get symbol spreads
GET
/public/spreads/broker/[broker]/[account_type]- Get broker + account type spreads
GET
/public/spreads/symbol/[symbol]/[account_type]- Get symbol + account type spreads

Step 2: Make Your First Request

Let's test the API using curl. Paste the following directly into your terminal:

bash
curl -X GET "https://api.broker-radar.com/public/spreads"

Step 3: Try It Out

Use our interactive API tester below to make live requests and see the responses:

Step 4: Integration Examples

Here are code examples in different programming languages to help you integrate the API:

JavaScript
// Get all spreads from last 24 hours
fetch('https://api.broker-radar.com/public/spreads')
  .then(response => response.json())
  .then(data => {
    console.log('Total records:', data.total_records);
    console.log('Brokers:', data.brokers_count);
    console.log('Symbols:', data.symbols_count);
    data.data.forEach(spread => {
      console.log(`${spread.broker_name} - ${spread.symbol}: ${spread.avg_spread} pips (${spread.account_type})`);
    });
  });

// Get specific broker with account type
fetch('https://api.broker-radar.com/public/spreads/broker/roboforex_ecn/ECN')
  .then(response => response.json())
  .then(data => {
    console.log(`${data.broker_name} ECN account symbols: ${data.total_symbols}`);
    data.symbols.forEach(symbol => {
      console.log(`${symbol.symbol}: ${symbol.avg_spread} pips`);
    });
  });

// Get specific symbol with account type
fetch('https://api.broker-radar.com/public/spreads/symbol/EURUSD/ECN')
  .then(response => response.json())
  .then(data => {
    console.log('EURUSD ECN accounts from ' + data.total_brokers + ' brokers');
    console.log('Best spread: ' + data.best_spread + ' pips');
  });

Step 5: Understanding the Response

All API responses follow a consistent JSON structure. Here's what you can expect:

JSON
{
  "success": true,
  "data": [
    {
      "broker_name": "roboforex_ecn",
      "platform": "MT5",
      "account_type": "ECN",
      "source": "broker-radar.com",
      "symbol": "EURUSD",
      "avg_spread": 1.2,
      "min_spread": 0.8,
      "max_spread": 2.1,
      "date_time": "2025-08-25T12:00:00.000Z",
      "last_updated": "2025-08-25T12:00:00.000Z"
    }
  ],
  "total_records": 1250,
  "brokers_count": 37,
  "symbols_count": 45,
  "timestamp": "2025-08-25T12:00:00.000Z",
  "api_version": "1.0"
}

Rate Limits & Error Handling

Rate Limits

  • • 200 requests per minute per IP
  • • Rate limit headers included in responses
  • • 429 status code when limit exceeded
  • • Automatic reset every minute

Error Codes

  • DATABASE_ERROR - Database connection issue
  • INVALID_INPUT - Invalid parameters
  • SYMBOL_NOT_FOUND - Symbol not available
  • NO_DATA - No data available

Need help? Check out our API homepage or contact our support team.