Metals API for gold, silver and exchange rates, priced by the gram
The prices your customers ask for: 22K gold per gram in riyals, 925 silver in dollars, a riyal in rupees. One key, one JSON format, eight karats and fourteen currencies.
Free plan: 100 requests a day, no card.
Every karat, with its hallmark
Jewellers price gold by karat; hallmarks stamp its fineness in parts per thousand. The gold price API returns every karat per gram, in SAR and USD.
SAR per gram. Updated 1 hour ago. Silver comes the same way in 999, 925, 900 and 800.
One request, plain JSON
Send your key in the X-API-Key header. Every response has the same envelope and an updatedAt time, so you always know how fresh a price is.
curl "https://api.metalrates.cloud/v1/metals/gold" \
-H "X-API-Key: YOUR_API_KEY"const res = await fetch("https://api.metalrates.cloud/v1/metals/gold", {
headers: { "X-API-Key": process.env.METALRATES_API_KEY }
});
const { success, data, meta } = await res.json();
console.log(data);import os, requests
res = requests.get(
"https://api.metalrates.cloud/v1/metals/gold",
headers={"X-API-Key": os.environ["METALRATES_API_KEY"]},
timeout=10,
)
body = res.json()
print(body["data"])<?php
$ch = curl_init("https://api.metalrates.cloud/v1/metals/gold");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('METALRATES_API_KEY')],
CURLOPT_TIMEOUT => 10,
]);
$body = json_decode(curl_exec($ch), true);
print_r($body['data']);{
"success": true,
"data": {
"usdPer24k": 128.4561,
"usdPer22k": 117.7557,
"usdPer21k": 112.3991,
"usdPer20k": 107.0425,
"usdPer18k": 96.3421,
"usdPer16k": 85.6417,
"usdPer14k": 74.9285,
"usdPer10k": 53.5277,
"sarPer24k": 482.14,
"sarPer22k": 441.98,
"sarPer21k": 421.87,
"sarPer20k": 401.77,
"sarPer18k": 361.61,
... (truncated, the full response has more fields)What one riyal buys
The Saudi riyal against fourteen currencies, including the main remittance corridors from the Gulf. Cross any two with one division.
| Pair | 1 SAR buys | 1 unit costs |
|---|---|---|
| SAR/PKR | 73.8929 PKR | 0.0135 SAR |
| SAR/INR | 25.4058 INR | 0.0394 SAR |
| SAR/BDT | 33.0113 BDT | 0.0303 SAR |
| SAR/LKR | 88.5433 LKR | 0.0113 SAR |
| SAR/NPR | 40.6477 NPR | 0.0246 SAR |
| SAR/PHP | 17.0559 PHP | 0.0586 SAR |
| SAR/EGP | 15.0047 EGP | 0.0666 SAR |
| SAR/USD | 0.2667 USD | 3.7495 SAR |
| SAR/GBP | 0.1998 GBP | 5.0050 SAR |
| SAR/EUR | 0.2384 EUR | 4.1946 SAR |
| SAR/IDR | 4,846.3681 IDR | 0.0002 SAR |
| SAR/MMK | 560.0835 MMK | 0.0018 SAR |
| SAR/KES | 34.6433 KES | 0.0289 SAR |
| SAR/ETB | 43.0714 ETB | 0.0232 SAR |
Updated 13 hours ago. Live from GET /v1/forex.
The APIs
Same key, same limits and the same response format across all of them.
Gold Price API
Per-gram prices for 24K, 22K, 21K, 20K, 18K, 16K, 14K and 10K in SAR and USD, with spot price, daily change and day range.
Silver Price API
Per-gram prices for 999, 925, 900 and 800 silver in SAR and USD, with spot price and daily change.
Why MetalRates
Most metals APIs quote USD per troy ounce. Jewellers, gold traders and remittance apps in the Gulf and South Asia need per-gram prices by karat, in the currencies their customers use.
- Per-karat, per-gram gold: eight karats from 24K to 10K, in SAR and USD.
- Silver by fineness: 999, 925, 900 and 800 per gram.
- Remittance corridors: SAR to PKR, INR, BDT, PHP, LKR, NPR, EGP and more.
- One call for everything:
/v1/snapshotreturns gold, silver and your chosen rates together. - Honest freshness: every response says when the data was updated and flags stale values.
- One JSON envelope across every endpoint, with clear error codes.
| Plan | Per month | Requests a day |
|---|---|---|
| Free | $0 | 100 |
| Starter | $5 | 500 |
| Pro | $19 | 5,000 |
| Business | $49 | about 33,000 |
| Enterprise | Custom | Custom, with a redistribution licence |
Who uses it
MetalRates already powers the gold, silver and exchange-rate pages of SaudiLifeGuide.com.
Jewellers and gold shops
Show today’s price per gram for every karat on your website, POS or WhatsApp catalogue.
Gold and silver traders
Quote buy and sell prices from the current market rate in SAR or USD.
Remittance and fintech apps
Show SAR rates for the corridors your users send money to.
E-commerce stores
Price gold and silver products automatically on WooCommerce or Shopify.
News and community sites
Publish daily gold, silver and exchange-rate pages from one reliable source.
Savings and investment apps
Value customers’ gold and silver holdings in their local currency.
Questions
Is there a free plan?
Yes. The free plan includes every endpoint with 100 requests a day. No card is needed.
How fresh are the prices?
Each response includes updatedAt and the time of the next update in meta. If a price could not be refreshed, the API returns the last known value and marks it with isStale: true, so your app can decide what to show.
Which currencies do metal prices come in?
Gold and silver are priced in SAR and USD. You can convert to other currencies with the Currency Exchange API.
How do I authenticate?
Every request carries your key in the X-API-Key header. Keys look like mr_live_.... Keep the key on your server; do not ship it in browser or mobile code.
What are the limits?
Free keys get 100 requests a day, Starter 500, Pro 5,000 and Business about 33,000; Enterprise is unlimited. Each response returns X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. Going over returns HTTP 429 with a Retry-After header.
Start with a free key today
100 requests a day, every endpoint, no card required. Upgrade when your traffic grows.
