Free Gold Price API
A free JSON and CSV API for the gold price: the live spot price per ounce, gram and kilo in US dollars and 166 currencies, and every daily close since August 30, 2000. No key or sign-up. Free to use, including commercially, if you credit "Gold price data by Corgano" with a link to goldprice.corgano.com; each IP address can make up to 10 requests a minute, 60 an hour and 500 a day. Right now (Oct 27, 2026, 16:44 UTC) /api/v1/latest returns $4,060.17 an ounce.
Endpoints
Base URL https://goldprice.corgano.com · GET · JSON unless format=csv| Endpoint | Returns | Parameters | Updates |
|---|---|---|---|
| /api/v1/latestTry: /api/v1/latest?currency=EUR,INR | Live spot price per troy ounce, gram and kilo in US dollars, per gram by karat (24K–14K), the change since the previous close, and the same in the currencies you ask for. | currency (optional): up to 10 codes, e.g. EUR,GBP,INR | Updates about once a minute |
| /api/v1/historyTry: /api/v1/history?year=2025 | Daily closing prices in US dollars per ounce. Without parameters: the last 365 days. The whole record: from=2000-08-30. | from, to (YYYY-MM-DD) or year; format=csv (optional) | Once a day |
| /api/v1/dateTry: /api/v1/date?date=2020-03-16 | The close on one date, or on the last trading day before it (weekends and holidays). | date (YYYY-MM-DD); format=csv (optional) | Once a day |
| /api/v1/yearlyTry: /api/v1/yearly | For every year since 2000: open (the previous year's close), high, low, close, average and change. | format=csv (optional) | Once a day |
| /api/v1/currenciesTry: /api/v1/currencies | The 166 currency codes /latest accepts, with names and today's exchange rates. | — | Daily |
attribution.Terms: credit and link
The API is free, including for commercial apps and websites, under the CC BY 4.0 licence. The one condition: wherever you show the data, show this credit with a visible link to goldprice.corgano.com:
<a href="https://goldprice.corgano.com/">Gold price data by Corgano</a>
Put it next to the price, chart or table, or on a sources page linked from it. In an app, put it on the screen that shows the data or in its About screen with a tappable link. Please don't mark the link nofollow or hide it.
For papers: Corgano Gold Price, "Daily gold closing prices (USD per troy ounce)", https://goldprice.corgano.com/api/v1/history, accessed 27 October 2026.
Request limits
Per IP address: 10 requests a minute, 60 an hour and 500 a day. Every response has X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers; over the limit you get HTTP 429 with Retry-After.
Cache on your side: the live price changes about once a minute and daily closes once a day, so a website should fetch once and serve its own copy. Calling the API from every visitor's browser counts against each visitor's own limit, which is fine for small sites.
Need the whole history every day? Download the CSV file instead: it has no request limit.
Example: /api/v1/latest?currency=EUR
{
"data": {
"metal": "gold",
"symbol": "XAU",
"price_usd": {
"per_oz": 4060.17,
"per_gram": 130.537,
"per_kg": 130537.34
},
"change_usd": 43.05,
"change_pct": 1.072,
"as_of": "2026-10-27T16:44:44+00:00",
"currencies": {
"EUR": {
"name": "Euro",
"usd_rate": 0.893935,
"per_oz": 3629.52,
"per_gram": 116.69,
"per_kg": 116691.89
}
}
},
"meta": {
"…": "…"
},
"attribution": {
"required": true,
"text": "Gold price data by Corgano",
"url": "https://goldprice.corgano.com/",
"html": "<a href=\"https://goldprice.corgano.com/\">Gold price data by Corgano</a>",
"…": "…"
}
} Code
JavaScript:
const r = await fetch('https://goldprice.corgano.com/api/v1/latest?currency=EUR');
const j = await r.json();
console.log(j.data.price_usd.per_oz, j.data.currencies.EUR.per_gram);
// show j.attribution.html next to the price Python:
import json, urllib.request
j = json.load(urllib.request.urlopen('https://goldprice.corgano.com/api/v1/history?year=2025'))
print(j['data'][-1]) # {'date': '2025-12-31', 'close': …} PHP:
$j = json_decode(file_get_contents('https://goldprice.corgano.com/api/v1/date?date=2020-03-16'), true);
echo $j['data']['close']; Command line:
curl -s "https://goldprice.corgano.com/api/v1/yearly?format=csv"
Files with no limits
| File | Contains |
|---|---|
| /data/latest.jsonJSON | Live gold, silver, platinum and palladium prices and local values in every currency on the site. |
| /data/gold-price-history.csvCSV | Every daily close since August 30, 2000 (date, close in US dollars per ounce). |
Google Sheets: =IMPORTDATA("https://goldprice.corgano.com/data/gold-price-history.csv"). Excel: Data → From Web and paste the same address.
No code at all? Copy a free gold price widget (ticker, chart or calculator) into your site, or browse the gold price history.
Free gold price API: FAQ
Is there a free gold price API?
Yes. https://goldprice.corgano.com/api/v1/latest returns the live gold spot price as JSON with no key or sign-up, and /api/v1/history returns daily closes since 2000. It is free for personal and commercial use with a credit and a link to goldprice.corgano.com.
Do I need an API key?
No. Send a plain GET request. Responses allow cross-origin requests (CORS), so the API also works from JavaScript in the browser.
What are the limits?
Each IP address can make 10 requests a minute, 60 an hour and 500 a day. Over the limit you get HTTP 429 with a Retry-After header. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
What credit do I have to give?
Show "Gold price data by Corgano" with a link to https://goldprice.corgano.com/ near the price, chart or table, or on a sources page that is linked from it. The ready-made HTML is <a href="https://goldprice.corgano.com/">Gold price data by Corgano</a>.
How often does the price update?
The live price updates about once a minute while the market is open; daily closes are added once a day after the 5 pm New York close. Polling more often than once a minute returns the same figures.
Can I use it in Google Sheets or Excel?
Use the CSV file https://goldprice.corgano.com/data/gold-price-history.csv with =IMPORTDATA() in Google Sheets or Data → From Web in Excel. It has no request limit; the API is for apps and websites.