Silver price API with per-gram prices by fineness
Per-gram prices for 999, 925, 900 and 800 silver in SAR and USD, with the spot price and daily change.
A silver price API that speaks in grams and fineness
Silver is quoted globally in USD per troy ounce, but silver jewellery, coins and bars are sold by weight and by purity. Our silver price API converts the current spot price into per-gram prices for the four common grades and returns them in Saudi riyals and US dollars.
Fineness is parts per thousand of pure silver: 999 is fine silver, 925 is sterling silver used in most jewellery, 900 is traditional coin silver and 800 is common in older European pieces (see sterling silver on Wikipedia).
Every response includes the spot price, the daily change and updatedAt, and marks values with isStale if a refresh failed, so your shop never shows an old price without knowing it.

What you get
- Per-gram prices for 999, 925 (sterling), 900 and 800 silver
- Every price in SAR and in USD
- Spot price per troy ounce in USD and SAR
- Daily change and direction, day low and high in USD
updatedAtandisStaleon every response
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /v1/metals/silver | All fineness grades, SAR and USD |
| GET | /v1/metals/silver/sar | SAR prices only |
| GET | /v1/metals/silver/usd | USD prices only |
| GET | /v1/metals/silver/status | Cache and freshness status |
Today’s silver price per gram
Rendered from the API as the page loads.
| Fineness | SAR per gram | USD per gram |
|---|---|---|
| 999 | 6.509 | 1.734 |
| 925 | 6.026 | 1.606 |
| 900 | 5.864 | 1.562 |
| 800 | 5.212 | 1.389 |
Updated 5 hours ago. Live from GET /v1/metals/silver.
Call the silver 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/silver" \
-H "X-API-Key: YOUR_API_KEY"const res = await fetch("https://api.metalrates.cloud/v1/metals/silver", {
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/silver",
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/silver");
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": {
"usdPer999": 1.7341,
"usdPer925": 1.6056,
"usdPer900": 1.5622,
"usdPer800": 1.3886,
"sarPer999": 6.5085,
"sarPer925": 6.0264,
"sarPer900": 5.8635,
"sarPer800": 5.212,
"spotPriceUsd": 53.99,
"spotPriceSar": 202.64,
"changeUsd": 0,
"changePercent": 0,
"changeDirection": "flat",
"dayLowUsd": 0,
"dayHighUsd": 0,
"usdToSar": 3.7534,
"updatedAt": "27 Oct 2026, 12:44 PM",
"updatedIso": "2026-10-27T09:44:57.4401314Z",
"source": "DevstromToolsAPI",
"isStale": false,
"staleReason": ""
},
"error": null,
"meta": {
"source": "DevstromToolsAPI",
"cacheStatus": "HIT",
"updatedAt": "27 Oct 2026, 12:44 PM",
"updatedIso": "2026-10-27T09:44:57.4401314Z",
"nextUpdateUtc": null
}
}Built for
Silver jewellery stores
Price 925 sterling pieces from the current market rate.
Bullion and coin dealers
Quote 999 and 900 silver from the current market price.
Commodity dashboards
Show silver next to gold in SAR and USD.
Silver price API FAQ
Which grades are included?
999 (fine silver), 925 (sterling), 900 (coin silver) and 800, each per gram in SAR and USD.
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.
