Gold API/Documentation (Metals API)

API Documentation

Base URL: https://www.sentisignal.com/api/v1/metals

Playground

Run live requests directly from the browser. Playground requests consume quota for non-admin accounts.

Request playground

Test the public API against your current tier

Requests made here hit the live public API and consume quota on non-admin accounts.

GET /currencies
Public list of supported output currencies.
Public
/api/v1/metals/currencies
cURL
curl "https://www.sentisignal.com/api/v1/metals/currencies"
Response
// Run a request to inspect the live response body.

Plan Model

Metals API uses the shared public API plan model. Free plans are limited to spot access, one currency per request, and troy_oz. Paid plans unlock historical endpoints, multi-currency requests, and all supported weight units.

CapabilityFreePaid
Spot priceYesYes
Historical endpointNoYes
Currencies per request1Up to 30
Weight unitstroy_oztroy_oz, gram, kg, tola, tael
Intervalsn/adaily, weekly, monthly, yearly

Authentication

All endpoints (except /currencies and /waitlist) require an API key. Pass it in one of two ways:

# Option 1: Authorization header (recommended)
curl -H "Authorization: Bearer YOUR_API_KEY" "https://www.sentisignal.com/api/v1/metals/price?symbol=GOLD"

# Option 2: x-api-key header
curl -H "x-api-key: YOUR_API_KEY" "https://www.sentisignal.com/api/v1/metals/price?symbol=GOLD"

Get your API key at sentisignal.com/dashboard/api.

GET /price

Get the current metal price in one or more currencies.

Parameters

NameTypeDefaultDescription
symbolstringGOLDGOLD, SILVER, PLATINUM, or PALLADIUM
currenciesstringUSDComma-separated currency codes (e.g., USD,EUR,GBP)
weight_unitstringtroy_oztroy_oz, gram, kg, tola, tael

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.sentisignal.com/api/v1/metals/price?symbol=GOLD&currencies=USD,EUR,GBP&weight_unit=gram"

Response

{
  "status": "success",
  "timestamp": "2026-03-14T12:00:00Z",
  "data": {
    "metal": "gold",
    "symbol": "GOLD",
    "price_date": "2026-03-14",
    "source": "SentiSignal Composite Gold Index",
    "contributing_sources": ["NBP","CBAR","CBU","NBK","TCMB","BANXICO","KAGGLE"],
    "prices": {
      "USD": { "price": 65.77, "unit": "gram", "currency": "USD" },
      "EUR": { "price": 60.84, "unit": "gram", "currency": "EUR" },
      "GBP": { "price": 52.21, "unit": "gram", "currency": "GBP" }
    },
    "fx_source": "ECB (European Central Bank)",
    "fx_date": "2026-03-14"
  },
  "meta": { "credits_used": 1, "plan": "starter" }
}

GET /price/historical

Get historical metal prices for a date range. Paid plans only. Historical coverage starts in 2004 and supports aggregated summary statistics in the response.

Parameters

NameTypeDefaultDescription
symbolstringGOLDGOLD, SILVER, PLATINUM, or PALLADIUM
start_datestringrequiredStart date (YYYY-MM-DD)
end_datestringrequiredEnd date (YYYY-MM-DD)
currenciesstringUSDComma-separated currency codes
intervalstringdailydaily, weekly, monthly, yearly
weight_unitstringtroy_oztroy_oz, gram, kg, tola, tael

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.sentisignal.com/api/v1/metals/price/historical?symbol=GOLD&start_date=2025-01-01&end_date=2025-12-31&currencies=USD,EUR&interval=yearly&weight_unit=tola"

Response

{
  "status": "success",
  "timestamp": "2026-03-11T12:00:00Z",
  "data": {
    "metal": "gold",
    "start_date": "2025-01-01",
    "end_date": "2025-12-31",
    "interval": "yearly",
    "weight_unit": "tola",
    "count": 1,
    "data": [
      {
        "date": "2025-01-01",
        "prices": {
          "USD": 766.99,
          "EUR": 707.94
        }
      }
    ],
    "summary": {
      "USD": {
        "min": 766.99,
        "max": 766.99,
        "avg": 766.99,
        "first": 766.99,
        "last": 766.99,
        "change_pct": 0
      },
      "EUR": {
        "min": 707.94,
        "max": 707.94,
        "avg": 707.94,
        "first": 707.94,
        "last": 707.94,
        "change_pct": 0
      }
    }
  },
  "meta": { "credits_used": 1, "plan": "starter" }
}

GET /price/convert

Convert a specific weight of gold to a currency value.

Parameters

NameTypeDefaultDescription
symbolstringGOLDGOLD, SILVER, PLATINUM, or PALLADIUM
currencystringrequiredTarget currency (e.g., EUR)
weightnumber1Amount of metal
weight_unitstringtroy_oztroy_oz, gram, kg, tola, tael
datestringlatestPrice date (YYYY-MM-DD, optional)

Example

# How much is 10 taels of gold worth in EUR?
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.sentisignal.com/api/v1/metals/price/convert?symbol=GOLD&currency=EUR&weight=10&weight_unit=tael"

GET /currencies

List all supported output currencies. No authentication required.

curl "https://www.sentisignal.com/api/v1/metals/currencies"

Error Codes

CodeMessageDescription
400Invalid parametersMissing or malformed query parameters
401Invalid API keyMissing, invalid, expired, or revoked API key
403Plan restrictionHistorical access, requested currency count, or weight unit is not available on your plan
429Rate limit exceededPer-minute or monthly limit reached. Check Retry-After header
500Server errorInternal error. Contact support if persistent

Rate Limits

Rate limit information is included in response headers:

HeaderDescription
X-RateLimit-LimitRequests per minute allowed
X-RateLimit-RemainingRemaining requests this minute
X-RateLimit-Limit-MonthlyMonthly request limit
X-RateLimit-Remaining-MonthlyRemaining requests this month
Retry-AfterSeconds to wait (only on 429 responses)

Prices are indicative and sourced from averaged public data (Central Banks, digital markets). They do not constitute an official LBMA fixing.