GET /v1/carat?currency=INR gives you gold prices per gram for 24K, 22K, 21K, 20K, 18K, 16K, 14K and 10K in Indian rupees. It supports 35 currencies and works on every plan without requiring a key. Free and keyless prices are delayed by 15 minutes.
Make a request
The only parameter is the currency. Omit it for US dollars. Each karat price is the 24K price multiplied by its gold content, calculated from spot prices and live exchange rates.
curl "https://api.goldprice.dev/v1/carat?currency=INR" \ -H "Authorization: Bearer $GOLDPRICE_API_KEY"const res = await fetch("https://api.goldprice.dev/v1/carat?currency=INR", { headers: { Authorization: `Bearer ${process.env.GOLDPRICE_API_KEY}` },})const data = await res.json()if (!res.ok) throw new Error(data.error)import os, requestsres = requests.get( "https://api.goldprice.dev/v1/carat?currency=INR", headers={"Authorization": f"Bearer {os.environ['GOLDPRICE_API_KEY']}"}, timeout=10,)res.raise_for_status()data = res.json()Request parameters
| Name | Location | Required | Description |
|---|---|---|---|
currency | query | No (USD) | Currency to quote in |
Read the response
This example response was recorded without a key on 19 Oct 2026. Prices are based on spot and exclude dealer premiums, tax and making charges.
{ "currency": "INR", "timestamp": "2026-10-19T12:45:06.720397Z", "price_gram_24k": "12705.74", "price_gram_22k": "11646.93", "price_gram_21k": "11117.53", "price_gram_20k": "10588.12", "price_gram_18k": "9529.31", "price_gram_16k": "8470.50", "price_gram_14k": "7411.68", "price_gram_10k": "5294.06"}| Field | Description |
|---|---|
currency | Requested currency |
timestamp | Spot price observation time (UTC) |
price_gram_24k … price_gram_10k | Per-gram prices for each purity, as decimal strings |
API errors
| Status | error | Cause |
|---|---|---|
| 400 | unsupported_currency | Unsupported currency |
| 429 | rate_limited | Keyless IP exceeded 100 requests in the hour |
| 429 | rate_limit_exceeded | Minute limit exceeded for the plan, or per IP without a key |
| 429 | quota_exceeded | Plan's monthly request quota exceeded |
{ "error": "unsupported_currency", "message": "Unsupported currency"}Request and data limits
Free and keyless prices are delayed by 15 minutes. Without a key, you get 10 requests a minute per IP. A free key includes 5,000 requests a month. Paid plans provide live prices. See free plan limits for all plan limits.