Docs / Karat gold prices

22K and 24K Gold Price API by Gram

One public request returns the current per-gram metal value for 24K, 22K, 21K, 20K, 18K, 16K, 14K, and 10K gold in any of the 31 supported currencies.

Endpoint

GET/v1/caratNo auth required · Free

Pass a three-letter currency code. It defaults toUSD. The same 31-currency vocabulary used by the conversion endpoint is available here.

curl "https://api.goldprice.dev/v1/carat?currency=EUR"

Response

Prices are decimal strings, not binary floating-point numbers. Parse them with a decimal type when exact money arithmetic matters. The values below are illustrative sample data.

{
  "currency": "USD",
  "timestamp": "2026-07-16T08:30:00Z",
  "price_gram_24k": "153.42",
  "price_gram_22k": "140.63",
  "price_gram_21k": "134.24",
  "price_gram_20k": "127.85",
  "price_gram_18k": "115.07",
  "price_gram_16k": "102.28",
  "price_gram_14k": "89.50",
  "price_gram_10k": "63.93"
}

How the karat calculation works

The API starts with the current XAU/USD spot value, applies the live USD-to-local FX rate, divides by 31.1034768 grams per troy ounce, and applies the purity fraction. For example, 22K is22 / 24 of the 24K per-gram value; 18K is18 / 24.

This is the purity-adjusted metal value, not a retail jewellery quote. For sell, buyback, product-weight, and premium data, use the physical gold price API.

JavaScript example

const response = await fetch(
  "https://api.goldprice.dev/v1/carat?currency=AED"
);

if (!response.ok) throw new Error(await response.text());

const prices = await response.json();
console.log(prices.price_gram_24k, prices.price_gram_22k);

MCP tool

Agent clients can call get_carat(currency) through the gold price MCP server. It returns the same purity ladder and follows the same Free-tier access rules as the REST endpoint.

FAQ

Is the karat gold price API free?
Yes. GET /v1/carat is a public Free-tier endpoint and does not require an API key. Standard anonymous rate limits still apply.
Does the API support both karat and carat spelling?
The endpoint path uses /v1/carat, while the response fields use the familiar 24k, 22k, and 18k labels. Karat and carat both refer to gold purity in this context.
How is the 22K gold price per gram calculated?
The API divides the current XAU price per troy ounce by 31.1034768 to get the 24K value per gram, converts it into the requested currency, then multiplies by 22/24 for 22K.
Does this include jewellery making charges or dealer premiums?
No. /v1/carat returns the purity-adjusted metal value. Use the physical gold endpoints for real dealer sell and buyback quotes that include local premiums.

See also