Commodities 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": {
"commodities": [
{
"symbol": "HEUSX",
"name": "Lean Hogs Futures",
"price": 88.6,
"changesPercentage": -0.02820874,
"change": -0.025,
"dayLow": 93.4,
"dayHigh": 94.8,
"yearHigh": 113.7,
"yearLow": 75.1,
"priceAvg50": 106.01,
"priceAvg200": 92.30113,
"volume": 29830,
"avgVolume": 11280,
"open": 88,
"previousClose": 93.9,
"timestamp": 1756317900
},
{
"symbol": "ZCUSX",
"name": "Corn Futures",
"price": 406,
"changesPercentage": 0,
"change": 0,
"dayLow": 405.25,
"dayHigh": 406.75,
"yearHigh": 504.5,
"yearLow": 363.75,
"priceAvg50": 400.89,
"priceAvg200": 443.11874,
"volume": 6977,
"avgVolume": 128955,
"open": 406,
"previousClose": 406,
"timestamp": 1756354080
},
{
"symbol": "ALIUSD",
"name": "Aluminum Futures",
"price": 2540.25,
"changesPercentage": -0.12778,
"change": -3.25,
"dayLow": 2526.75,
"dayHigh": 2547.25,
"yearHigh": 2694,
"yearLow": 2155,
"priceAvg50": 2493.9,
"priceAvg200": 2490.795,
"volume": 82,
"avgVolume": 3,
"open": 2579.5,
"previousClose": 2543.5,
"timestamp": 1756349750
}
]
}
}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',
}
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 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 resultQuery Parameters:
- authorization *Specify authorization for site
(e.g., authorization="<API-KEY>"). - show Specify which rates to show
(e.g., show="commodities"|"stocks"|"index"). - list Comma-separated list of tickers codes
(e.g., list="GCUSD,ZCUSX,ALIUSD").
List parameter for Commodity Rates
