Commodity Price API/Documentation

API Documentation

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

Playground

Run live commodity requests here. Playground calls count against monthly request pools for non-admin plans.

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 /symbols
Public list of supported commodity symbols.
Public
/api/v1/commodity/symbols
cURL
curl "https://www.sentisignal.com/api/v1/commodity/symbols"
Response
// Run a request to inspect the live response body.

Authentication

/symbols is public. Price endpoints require an API key in theAuthorization or x-api-key header.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://www.sentisignal.com/api/v1/commodity/price?symbol=GOLD&currency=EUR

GET /symbols

Returns the supported commodity symbol catalog. No authentication required.

curl https://www.sentisignal.com/api/v1/commodity/symbols

GET /price

Fetch the latest price for a tracked commodity symbol.

Data reality: GOLD has daily history from NBP/Kaggle, energy benchmarks are daily via FRED, and many other symbols remain monthly because they come from IMF PCPS.

Parameters

NameTypeDefaultDescription
symbolstringrequiredCommodity symbol like GOLD, SILVER, BRENT, WHEAT
currencystringUSD3-letter output currency code

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.sentisignal.com/api/v1/commodity/price?symbol=BRENT&currency=EUR"

Response

{
  "status": "success",
  "timestamp": "2026-03-11T12:00:00Z",
  "data": {
    "symbol": "BRENT",
    "price": 73.12,
    "currency": "EUR",
    "unit": "barrel",
    "price_date": "2026-03-11",
    "source": "FRED",
    "fx_rate": 0.923411
  },
  "meta": { "credits_used": 1, "plan": "starter" }
}

GET /price/historical

Fetch historical commodity prices with optional FX conversion. Paid plans only.

Parameters

NameTypeDefaultDescription
symbolstringrequiredCommodity symbol
currencystringUSDOutput currency
start_datestringrequiredStart date in YYYY-MM-DD
end_datestringrequiredEnd date in YYYY-MM-DD
intervalstringdailydaily, weekly, monthly, yearly

Example

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.sentisignal.com/api/v1/commodity/price/historical?symbol=GOLD&currency=JPY&start_date=2025-01-01&end_date=2025-12-31&interval=monthly"

Response

{
  "status": "success",
  "data": {
    "symbol": "GOLD",
    "currency": "JPY",
    "unit": "troy_oz",
    "start_date": "2025-01-01",
    "end_date": "2025-12-31",
    "interval": "monthly",
    "source": "NBP",
    "count": 12,
    "data": [
      { "date": "2025-01-01", "price": 301122.45 },
      { "date": "2025-02-01", "price": 305011.92 }
    ],
    "summary": {
      "min": 298445.12,
      "max": 319002.88,
      "avg": 307338.77,
      "first": 301122.45,
      "last": 317445.01,
      "change_pct": 5.42
    }
  },
  "meta": { "credits_used": 1, "plan": "starter" }
}

Error Codes

CodeMessageDescription
400Invalid parametersMissing or malformed symbol/date/currency parameters
401Invalid API keyMissing, invalid, expired, or revoked API key
403Plan restrictionHistorical access or requested currency is not available on your plan
429Rate limit exceededPer-minute or monthly request limit reached
500Server errorInternal processing error or unavailable source data