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.

Gold price API: per-gram prices for 24K to 10K gold in SAR and USD

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
  • updatedAt on every response and isStale when a refresh failed

Endpoints

MethodPathReturns
GET/v1/metals/goldAll karats, SAR and USD
GET/v1/metals/gold/sarSAR prices only
GET/v1/metals/gold/usdUSD prices only
GET/v1/metals/gold/statusCache 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.

KaratSAR per gramUSD per gram
24K482.14128.46
22K441.98117.76
21K421.87112.40
20K401.77107.04
18K361.6196.34
16K321.4485.64
14K281.2374.93
10K200.9153.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:

KaratSAR / gramSAR / tolaSAR / troy ozUSD / gramUSD / troy oz
24K482.145,623.5914,996.23128.463,995.43
22K441.985,155.1713,747.11117.763,662.61
21K421.874,920.6113,121.62112.403,496.00
18K361.614,217.7511,247.3396.342,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.

CurrencyHow you get it
SAR, USDDirectly in the gold response
PKR, INR, BDT, LKR, NPR, PHP, EGP, IDR, MMK, KES, ETB, GBP, EURSAR price multiplied by the /v1/forex rate
Currency24K / gram22K / gram21K / gram
PKR35,626.7232,659.1831,173.20
INR12,249.1511,228.8610,717.94
BDT15,916.0714,590.3313,926.48
PHP8,223.337,538.377,195.37
EGP7,234.376,631.786,330.03
GBP96.3388.3184.29
EUR114.94105.37100.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"
Live response
{
    "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.