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.
require 'net/http' require 'uri' require 'json' def fetch_data # API configuration base_url = 'https://exchangegrid.api.mapwale.com/v1' params = { 'region' => 'YOUR_REGION' # Replace with actual region value } headers = { 'Content-Type' => 'application/json', 'Authorization' => "Bearer <privateId>" } query_params = {"show":"all","list":"USD,INR,JPY,BTC,DOGE"} begin # Build URL url = base_url ["region"].each do |param| url += "/#{URI.encode_www_form_component(params[param])}" end # Add query parameters uri = URI(url) uri.query = URI.encode_www_form(query_params) # Create HTTP client http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = uri.scheme == 'https' # Create request request = case 'GET' when 'POST' Net::HTTP::Post.new(uri) when 'PUT' Net::HTTP::Put.new(uri) when 'DELETE' Net::HTTP::Delete.new(uri) else Net::HTTP::Get.new(uri) end # Set headers headers.each { |key, value| request[key] = value } # Set body for POST/PUT requests if ['POST', 'PUT'].include?('GET') request.body = {}.to_json end # Send request response = http.request(request) # Check for errors unless response.is_a?(Net::HTTPSuccess) raise "HTTP error! status: #{response.code}" end JSON.parse(response.body) rescue StandardError => e puts "Error: #{e.message}" nil end end # Example usage result = fetch_data puts JSON.pretty_generate(result) if result