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.
import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.HashMap; import java.util.Map; import com.fasterxml.jackson.databind.ObjectMapper; public class ApiClient { private static final String BASE_URL = "https://exchangegrid.api.mapwale.com/v1"; private static final String PRIVATE_ID = "<privateId>"; public static void main(String[] args) { try { String result = fetchData(); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } private static String fetchData() throws Exception { // Create HTTP client HttpClient client = HttpClient.newHttpClient(); ObjectMapper mapper = new ObjectMapper(); // Build URL Map<String, String> params = new HashMap<>(); params.put("region", "YOUR_REGION"); // Replace with actual region value StringBuilder urlBuilder = new StringBuilder(BASE_URL); ["region"].forEach(param -> urlBuilder.append("/").append(params.get(param)) ); // Add query parameters Map<String, String> queryParams = {"show":"all","list":"USD,INR,JPY,BTC,DOGE"}; urlBuilder.append("?"); queryParams.forEach((key, value) -> urlBuilder.append(key).append("=").append(value).append("&") ); // Create request HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() .uri(URI.create(urlBuilder.toString())) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + PRIVATE_ID); if ("GET".equals("POST") || "GET".equals("PUT")) { requestBuilder.method("GET", HttpRequest.BodyPublishers.ofString( mapper.writeValueAsString({}) ) ); } else { requestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); } // Send request HttpResponse<String> response = client.send( requestBuilder.build(), HttpResponse.BodyHandlers.ofString() ); if (response.statusCode() >= 400) { throw new RuntimeException("HTTP error! status: " + response.statusCode()); } return response.body(); } }