Gold price API with per-karat prices in SAR and USD
Per-gram prices for eight karats, the spot price, daily change and day range, in one JSON response. Built for jewellers, gold apps and rate pages in Saudi Arabia, the Gulf and South Asia.
A gold price API built for per-gram, per-karat pricing
Most gold price feeds quote one number: USD per troy ounce of pure gold. Shops and apps in Saudi Arabia, the Gulf and South Asia sell jewellery by the gram and by karat, so every developer ends up writing the same conversion code. Our gold price API does that work for you and returns ready-to-use prices for eight karats, per gram, in Saudi riyals and US dollars.
Karat is a measure of purity: 24K is pure gold, 22K is 91.7% gold, 21K is 87.5% and 18K is 75% (see fineness on Wikipedia). The API applies those ratios to the current spot price, so the 22K and 21K figures your customers ask for are one field away.
Each response also carries the spot price, the daily change and the day range, plus updatedAt so you can show customers exactly when the price was last refreshed.

What you get
- Per-gram prices for 24K, 22K, 21K, 20K, 18K, 16K, 14K and 10K
- Every price in SAR and in USD
- Spot price per troy ounce in USD and SAR
- Daily change in USD and percent, with direction
- Day low and day high
updatedAton every response andisStalewhen a refresh failed
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /v1/metals/gold | All karats, SAR and USD |
| GET | /v1/metals/gold/sar | SAR prices only |
| GET | /v1/metals/gold/usd | USD prices only |
| GET | /v1/metals/gold/status | Cache and freshness status |
Live gold prices today
Every karat the gold price API returns, per gram in SAR and USD. This table is fetched from the API as the page loads.
| Karat | SAR per gram | USD per gram |
|---|---|---|
| 24K | 482.14 | 128.46 |
| 22K | 441.98 | 117.76 |
| 21K | 421.87 | 112.40 |
| 20K | 401.77 | 107.04 |
| 18K | 361.61 | 96.34 |
| 16K | 321.44 | 85.64 |
| 14K | 281.23 | 74.93 |
| 10K | 200.91 | 53.53 |
Updated 2 hours ago. Live from GET /v1/metals/gold.
Gold rates by gram, tola and ounce
The API returns prices per gram. Jewellers in South Asia also quote per tola (11.6638 g) and bullion is traded per troy ounce (31.1035 g), so multiply the per-gram field by the weight you need. Here is the result for the most traded karats:
| Karat | SAR / gram | SAR / tola | SAR / troy oz | USD / gram | USD / troy oz |
|---|---|---|---|---|---|
| 24K | 482.14 | 5,623.59 | 14,996.23 | 128.46 | 3,995.43 |
| 22K | 441.98 | 5,155.17 | 13,747.11 | 117.76 | 3,662.61 |
| 21K | 421.87 | 4,920.61 | 13,121.62 | 112.40 | 3,496.00 |
| 18K | 361.61 | 4,217.75 | 11,247.33 | 96.34 | 2,996.57 |
Updated 2 hours ago. Per-gram prices from GET /v1/metals/gold; tola (11.6638 g) and troy ounce (31.1035 g) are multiplied from them.
Supported currencies
The gold price API returns every price in Saudi riyal (SAR) and US dollar (USD).
For any of the 14 currencies in our currency exchange API, multiply the SAR price by the SAR rate. The same key covers both APIs, so one request to /v1/metals/gold and one to /v1/forex give you gold in rupees, taka, pounds or euros.
| Currency | How you get it |
|---|---|
| SAR, USD | Directly in the gold response |
| PKR, INR, BDT, LKR, NPR, PHP, EGP, IDR, MMK, KES, ETB, GBP, EUR | SAR price multiplied by the /v1/forex rate |
| Currency | 24K / gram | 22K / gram | 21K / gram |
|---|---|---|---|
| PKR | 35,626.72 | 32,659.18 | 31,173.20 |
| INR | 12,249.15 | 11,228.86 | 10,717.94 |
| BDT | 15,916.07 | 14,590.33 | 13,926.48 |
| PHP | 8,223.33 | 7,538.37 | 7,195.37 |
| EGP | 7,234.37 | 6,631.78 | 6,330.03 |
| GBP | 96.33 | 88.31 | 84.29 |
| EUR | 114.94 | 105.37 | 100.57 |
Converted from the SAR price with GET /v1/forex. Updated 2 hours ago.
Call the gold price API in four languages
Send your key in the X-API-Key header. Every response uses the same envelope: success, data, error and meta.
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,
"sarPer16k": 321.44,
"sarPer14k": 281.23,
"sarPer10k": 200.91,
"spotPriceUsd": 3995.44,
"spotPriceSar": 14996.32,
"changeUsd": 0,
"changePercent": 0,
"changeDirection": "flat",
"dayLowUsd": 0,
"dayHighUsd": 0,
"dayLowSar": 0,
"dayHighSar": 0,
"usdToSar": 3.7534,
"updatedAt": "27 Oct 2026, 03:08 PM",
"updatedIso": "2026-10-27T12:08:19.4654293Z",
"source": "DevstromToolsAPI",
"isStale": false,
"staleReason": ""
},
"error": null,
"meta": {
"source": "DevstromToolsAPI",
"cacheStatus": "HIT",
"updatedAt": "27 Oct 2026, 03:08 PM",
... (truncated, the full response has more fields)Built for
Jewellery websites
Show the price of 22K and 21K gold per gram next to your products.
Gold rate pages
Publish a daily gold rate page for your city that updates itself.
Savings and investment apps
Value a customer’s gold holdings in SAR or USD.
Gold price API FAQ
Which karats are included?
24K, 22K, 21K, 20K, 18K, 16K, 14K and 10K, each per gram in SAR and USD.
Can I get prices per tola or per ounce?
The response includes the spot price per troy ounce. For any karat, multiply the per-gram price by 11.6638 for a tola or 31.1035 for a troy ounce.
Is there a free gold price API?
Yes. The free plan gives you 100 requests a day on the gold price API, plus silver and exchange rates, with no card needed.
Do you offer historical gold prices?
Not yet. The API returns the current price. Historical data is planned; tell us if you need it so we can prioritise it.
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.
