Exchange Rates API Documentation
Access real-time exchange rates for currencies & crypto. This API provides accurate, up-to-date rates for integrating into your financial applications.
Below are the endpoints for accessing exchange rates. Learn how to integrate the API into your application.
Route Parameters:
- :region *Please check location table here
 (e.g., "SOUTH|ARAB|EAST|NORD").
Response based on params:
{
  "success": true,
  "data": {
    "rates": {
      "USD": 1,
      "INR": 83.540592,
      "JPY": 143.662125,
      "BTC": 0.000015737383
    },
    "crypto": {
      "BTC": 63478.467340116214,
      "DOGE": 0.012578131058644222
    },
    "commodity": {
      "HEUSX": 91.275,
      "ZCUSX": 415.5,
      "ALIUSD": 2540.75,
      "ZOUSX": 326.5,
      "PLUSD": 1363.2,
      "ZMUSD": 292.9,
      "GCUSD": 3412.1,
      "ZLUSX": 54.88,
      "KEUSX": 522.5,
      "SILUSD": 38.905,
      "HGUSD": 4.4815,
      "MGCUSD": 3412.1,
      "SBUSX": 16.44,
      "SIUSD": 38.905,
      "CTUSX": 67.73,
      "ZSUSX": 1056.5,
      "LBUSD": 659,
      "LEUSX": 240.1,
      "NGUSD": 2.765,
      "CLUSD": 63.68,
      "OJUSX": 243.3,
      "KCUSX": 378,
      "PAUSD": 1134.5,
      "GFUSX": 362.325,
      "ZRUSD": 11.865,
      "CCUSD": 7781,
      "BZUSD": 67.74,
      "DCUSD": 18.22,
      "RBUSD": 1.9866,
      "HOUSD": 2.3068
    }
  }
}GET
This endpoint provides the current exchange rates for the requested currencies.
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
public class ApiClient
{
    private static readonly string BaseUrl = "https://exchangegrid.api.mapwale.com/v1";
    
    static async Task Main(string[] args)
    {
        try
        {
            var result = await FetchDataAsync();
            Console.WriteLine(JsonSerializer.Serialize(result, new JsonSerializerOptions 
            { 
                WriteIndented = true 
            }));
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
    
    private static async Task<object> FetchDataAsync()
    {
        using var client = new HttpClient();
        
        // Build URL
        var parameters = new Dictionary<string, string>
        {
            { "region", "YOUR_REGION" }  // Replace with actual region value
        };
        
        var urlBuilder = new StringBuilder(BaseUrl);
        foreach (var param in ["region"])
        {
            urlBuilder.Append($"/{Uri.EscapeDataString(parameters[param])}");
        }
        
        // Add query parameters
        var queryParams = {"show":"all","list":"USD,INR,JPY,BTC,DOGE"};
        urlBuilder.Append("?");
        foreach (var param in queryParams)
        {
            urlBuilder.Append($"{param.Key}={Uri.EscapeDataString(param.Value)}&");
        }
        
        
        // Create request
        var request = new HttpRequestMessage(new HttpMethod("GET"), urlBuilder.ToString());
        
        if ("GET" == "POST" || "GET" == "PUT")
        {
            var content = JsonSerializer.Serialize({});
            request.Content = new StringContent(content, Encoding.UTF8, "application/json");
        }
        
        // Send request
        var response = await client.SendAsync(request);
        
        if (!response.IsSuccessStatusCode)
        {
            throw new HttpRequestException($"HTTP error! status: {response.StatusCode}");
        }
        
        var responseContent = await response.Content.ReadAsStringAsync();
        return JsonSerializer.Deserialize<object>(responseContent);
    }
}Query Parameters:
- authorization *Specify authorization for site
 (e.g., authorization="<API-KEY>").
- show Specify which rates to show
 (e.g., show="all"|"currency"|"crypto"|"commodity").
- list Comma-separated list of currency codes
 (e.g., list="USD,INR,BTC").
List parameter for Currency Rates
List parameter for Crypto Rates
List parameter for Commodity Rates
