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.
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"net/url"
)
func main() {
result, err := fetchData()
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
prettyJSON, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(prettyJSON))
}
func fetchData() (map[string]interface{}, error) {
// API configuration
baseURL := "https://exchangegrid.api.mapwale.com/v1"
params := map[string]string{
"region": "YOUR_REGION", // Replace with actual region value
}
headers := map[string]string{
"Content-Type": "application/json"
}
queryParams := {"show":"all","list":"USD,INR,JPY,BTC,DOGE"}
// Build URL
urlBuilder, err := url.Parse(baseURL)
if err != nil {
return nil, err
}
// Add path parameters
pathParams := ["region"]
path := urlBuilder.Path
for _, param := range pathParams {
path += "/" + url.PathEscape(params[param])
}
urlBuilder.Path = path
// Add query parameters
q := urlBuilder.Query()
for key, value := range queryParams {
q.Add(key, value)
}
urlBuilder.RawQuery = q.Encode()
// Create request body for POST/PUT
var reqBody []byte
if "GET" == "POST" || "GET" == "PUT" {
reqBody, err = json.Marshal({})
if err != nil {
return nil, err
}
}
// Create request
req, err := http.NewRequest("GET", urlBuilder.String(), bytes.NewBuffer(reqBody))
if err != nil {
return nil, err
}
// Send request
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
// Check for errors
if resp.StatusCode >= 400 {
return nil, fmt.Errorf("HTTP error! status: %d", resp.StatusCode)
}
// Read response
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
// Parse JSON response
var result map[string]interface{}
err = json.Unmarshal(body, &result)
if err != nil {
return nil, err
}
return result, nil
}Query 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
