1 month free: no ads plus full access.

Metals API for live and historical metal prices

Gold, silver, platinum, palladium, copper and 8 more metals as JSON: live spot prices, daily history back to 1966, and the exchange data most metals APIs don't carry. Start free with 200 requests a month, no card required.

  • Every metal in one request, with bid, ask and 24-hour change
  • Daily history back to 1966, intraday down to 15 minutes
  • COMEX inventory, LBMA vaults, Shanghai premiums and CFTC positioning
  • Commercial use on every plan, documented with OpenAPI 3.0
GET https://api.metalcharts.org/v1/prices200 OK
{
  "success": true,
  "data": {
    "XAU": {
      "symbol": "XAU",
      "price": 4286.23637,
      "bid": 4271.2345427049995,
      "ask": 4301.238197295,
      "change24h": -0.50336,
      "changePercent24h": -0.0117,
      "high24h": 4286.4489,
      "low24h": 4284.85731,
      "timestamp": "2026-09-26T18:12:50.484Z",
      "exchange": "SPOT",
      "marketType": "spot",
      "stale": false
    }
  }
}
Recorded from /v1/prices on September 26, 2026 and trimmed to the gold entry. Bid and ask are indicative, a fixed spread around the mid price.

1966

Gold and silver daily history starts

13

Metals with live spot prices

1,100+

Instruments in the catalogue

200

Free requests a month, no card

At a glance

The MetalCharts API in twelve facts

What you need to decide whether it fits, before reading any docs.
Base URL
https://api.metalcharts.org
Authentication
Bearer token in the header: Authorization: Bearer mc_live_YOUR_KEY
Format
REST over HTTPS, GET requests, JSON responses
Specification
OpenAPI 3.0 (JSON)
Free tier
200 requests a month, 10 a minute, one key, no card. Public displays need a credit link.
Prices
Free $0, Starter $9/month, Basic $29/month, Pro $99/month, Ultimate $249/month, Enterprise $1,200/month. Paying yearly costs ten months.
Rate limits
Weight per minute on each key, plus a monthly allowance per account on Free, Starter and Basic
Live prices
13 metals with 24-hour change, high, low and an indicative bid and ask; responses cached 30 seconds. Measured update rates are on the status page.
History
Daily bars back to October 1966 for gold and silver, the whole series in one request; intraday from 15 minutes, up to 5,000 bars a request; from Starter
Exchange data
COMEX, LBMA, Shanghai, India MCX and CFTC from Pro; Guangzhou (GFEX) on Ultimate
Commercial use
Allowed on every plan, Free included

Plans and limits

Exactly what each plan allows

Two limits, both counted in weight: a per-minute limit on each API key, and a monthly allowance per account on every plan up to Pro. Ultimate and Enterprise have no monthly cap.
Compare all plans
Rate limits, monthly allowances, API keys and history depth for each MetalCharts API plan
PlanPer minuteweight, per API keyPer monthweight, all keys combinedAPI keysHistory
Free$010200200 spot calls or 100 history calls130 days, daily
Starter$9/mo2010,00010,000 spot calls or 5,000 history calls21 year
Basic$29/mo30250,000250,000 spot calls or 125,000 history calls31 year
Pro$99/mo2001,000,0001,000,000 spot calls or 500,000 history calls105 years
Ultimate$249/mo1,000No monthly cap25Full, back to 1966
Enterprise$1,200/mo3,000No monthly cap50Full, back to 1966
  1. 01

    What a request costs

    Every call costs weight. Spot prices, market status, instruments and most other endpoints cost 1. History and news cost 2. News search and sentiment cost 3. Checking your own usage at /v1/usage costs 0. Both limits are counted in weight, so a 10,000 allowance is 10,000 spot calls or 5,000 history calls.

  2. 02

    The per-minute limit is per key

    Each API key has its own per-minute limit, counted in fixed one-minute windows that reset at the start of every minute (UTC). Go over it and that key gets a 429 with a Retry-After header giving the seconds until the next minute. Your other keys are unaffected.

  3. 03

    The monthly allowance is per account

    On plans that have one, the monthly allowance is shared by all of your keys and counted per calendar month in UTC. It resets at 00:00 UTC on the 1st. We email you at 80% and 100% of it. Requests keep working to 10% past it; after that every request returns a 429 saying the monthly quota is exceeded, until the reset or until you upgrade.

  4. 04

    What counts and what doesn't

    Every request with a valid key for data your plan includes counts toward both limits. A request refused with a 429 counts toward the per-minute limit, so a key that keeps retrying stays refused, but not toward the monthly allowance. A request with a missing or invalid key (401), or for data your plan doesn't include (403), counts toward neither.

  5. 05

    No surprise bills

    Going over a limit never charges you and never upgrades your plan. You change plans yourself from the pricing page or the API console: an upgrade charges only the difference for the rest of the billing period, a downgrade credits the unused time to your next invoices, and the new limits apply to your keys within 20 seconds.

  6. 06

    Every response tells you where you stand

    Responses carry X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used and X-RateLimit-Reset for the current minute. On plans with a monthly allowance they also carry X-RateLimit-Month-Limit, X-RateLimit-Month-Remaining, X-RateLimit-Month-Used, X-RateLimit-Month-Grace-Limit (where refusals start) and X-RateLimit-Month-Reset.

Quickstart

Call it from any language

There's no SDK to install. Replace mc_live_YOUR_KEY with a key from the API console and run any of these.

Gold price API in cURL

curl -H "Authorization: Bearer mc_live_YOUR_KEY" \
  "https://api.metalcharts.org/v1/prices"

Every tracked metal comes back in one response; gold is under data.XAU.

Coverage

History depth you can check

These are the counts the history endpoint returns. Each metal has its own page with worked examples.
MetalSymbolDaily barsBack to
Gold Price APIXAU14,425October 1966
Silver Price APIXAG14,488October 1966
Platinum Price APIXPT5,798January 2005
Palladium Price APIXPD5,799January 2005
Copper Price APIHG9,776July 1988

Aluminium, nickel, zinc and lead are covered too, alongside crypto, ETFs, indices, energy and agricultural commodities and foreign exchange. /v1/instruments lists all 1,100 plus, free on every plan.

Beyond spot

Exchange data most metals APIs don't carry

Anyone can resell a spot price. The reason to use this API is what sits behind it: COMEX, LBMA, Shanghai, India and CFTC data from Pro, and Guangzhou on Ultimate.

COMEX

Registered and eligible warehouse stocks back to 1992, each depository's daily received, withdrawn and adjustment figures as CME reports them, volume and open interest, and daily delivery notices. COMEX inventory API

LBMA

London vault holdings and clearing statistics, the monthly series the market actually watches.

Shanghai

The SGE price and premium with VAT stripped from silver, benchmark fixings, vault inventory and contract trading, plus SHFE settlement prices and warehouse stocks. Shanghai gold price API

India

MCX futures and the Indian premium over Western pricing.

Guangzhou

Registered warehouse receipts for lithium carbonate, industrial silicon and polysilicon, per warehouse, published only in Chinese at source. GFEX API

CFTC

Commitments of Traders positioning by category, weekly since 2013. COT data API

Built to integrate

What working with it is like

One call, every metal

/v1/prices returns every tracked metal with 24-hour change, high, low and an indicative bid and ask. A dashboard showing five metals makes one request.

Commercial use on every plan

Free included, with no separate licence and no cap on your end users. Free-plan data shown publicly needs a visible credit link to MetalCharts. Reselling access to the API or republishing the raw data as a competing feed isn't allowed.

Stale data says so

Where a series can go quiet, responses carry asOf and a stale flag instead of a bare array, so you find out from the response and not from a customer.

One symbol catalogue

/v1/instruments lists 1,100 plus instruments and which routes accept each one, free on every plan. Gold is XAU on history but GOLD on the 24/7 markets endpoint.

Limits you can see

Every response carries X-RateLimit headers for the minute and, on capped plans, the month, so you meter yourself instead of discovering a limit by being refused.

No SDK to install

Plain HTTPS returning JSON, with a bearer token. Whatever HTTP client you already use will do, and the OpenAPI 3.0 spec generates a typed client if you want one.

FAQ

Common questions

Is there a free metals price API?

Yes. The free tier gives live spot prices for all 13 metals the API serves, plus currency conversion, market status and 30 days of daily history, with one key and 200 requests a month. No card is needed, and commercial use is allowed with a credit link. It's sized for trying the API and small projects. A job that polls on a schedule fits Starter: 10,000 requests a month for $9.

Can I use the API commercially?

Yes, on every plan including Free. You can build a product on the data, sell that product, and serve your own customers with a single key. There is no separate commercial licence and no cap on end users. On Free, public displays need a visible link to metalcharts.org. The one thing not permitted on any plan is reselling access to the API itself or republishing the raw data as a competing feed.

What metals does the API cover?

Gold, silver, platinum, palladium and copper as the core, plus aluminum, nickel, zinc, lead, steel, cobalt, lithium and uranium: 13 metals, all returned by a single /v1/prices request. Beyond metals there is crypto, ETFs, indices, energy and agricultural commodities, and foreign exchange.

How is the API rate limited?

By weight per minute, plus a monthly allowance on the smaller plans. Most endpoints cost 1 weight, historical data costs 2, and news search costs 3. Free allows 200 weight a month, Starter 10,000, Basic 250,000 and Pro 1,000,000; Ultimate and Enterprise have no monthly ceiling. Every response carries X-RateLimit headers so you can meter yourself instead of discovering a limit by being refused.

What is the best metals price API?

It depends on what you are building. For a spot price on a page, several APIs will do the job: Metals-API, MetalpriceAPI, Metals.Dev, GoldAPI and MetalCharts all return gold and silver spot as JSON. Compare the free allowance, how fresh the prices are on the plan you would pay for, and whether the licence lets you show the data publicly. MetalCharts gives 200 requests a month free with commercial use allowed, and 10,000 on Starter for $9 a month. If your product explains or trades metals you also need exchange data: COMEX inventory and deliveries, LBMA vaults, Shanghai and Indian premiums and CFTC positioning. MetalCharts carries all of them from Pro, and few metals APIs carry any.

How do I choose a reliable metal price API?

Check it against what you're building. Freshness first: some providers refresh every 10 to 30 minutes, or once a day, on their cheaper plans, so look at the plan you'd actually pay for. Then coverage per request: an API that returns one metal per call uses a monthly quota several times faster than one that returns them all. Units matter when you convert: precious metals quote per troy ounce and COMEX copper per pound. History depth varies by plan, and so does the licence, including whether you can show prices publicly and what credit the plan asks for. On MetalCharts every plan gets the same live feed, one /v1/prices request returns all 13 metals with the currency and unit on each quote, gold and silver daily history goes back to 1966 on Ultimate, and paid plans need no credit link.

How often do the prices update?

Spot prices update continuously from market data feeds, and a response is typically under a minute old. Every price carries its own timestamp. Every plan, Free included, gets the same feed: there is no delayed tier. Where a series can go quiet, as when a market is closed, the response carries asOf and a stale flag.

What makes this different from other metals APIs?

Exchange data that generally is not resold: COMEX warehouse stocks and delivery notices, LBMA vault holdings, Shanghai and Indian premiums, CFTC positioning, and Guangzhou warehouse receipts for lithium carbonate, industrial silicon and polysilicon that are published only in Chinese.

Do you offer historical data downloads?

Yes. /v1/history returns a metal's whole daily series in one request, back to 1966 for gold and silver, plus weekly and monthly bars and up to 5,000 bars per request at seven intraday intervals. Add format=csv to get the same rows as CSV. On Ultimate and Enterprise, /v1/bulk/history downloads every daily bar for every metal as one CSV file, for an initial load or a nightly sync. The free data page has weekly CSVs of COMEX gold and silver stocks and the Shanghai silver premium. Free metals price data

Guides

Per-metal guides and reference

Start with 200 requests a month, free

No card and no trial clock. When you need history or more volume, Starter is $9 a month.