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