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.
Authorization:
- privateId *Specify privateId for site
(e.g., "Bearer example^com-SomeIdString").
Query Parameters:
- show Specify which rates to show
(e.g., "all"|"rates"|"crypto"). - list Comma-separated list of currency codes
(e.g., "USD,INR,BTC").
Route Parameters:
- :region *Please check location table here
(e.g., "WEST_3|ARAB_1|EAST_3|NORD_6").
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 } } }
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"; private static readonly string PrivateId = "<privateId>"; 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)}&"); } // Set headers client.DefaultRequestHeaders.Add("Authorization", $"Bearer {PrivateId}"); // 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); } }