API Documentation
Base URL: https://www.sentisignal.com/api/v1/commodity
Data coverage note
Energy symbols (BRENT, WTI, NATURAL_GAS) are available daily via EIA/FRED. Agricultural commodities (WHEAT, CORN, COFFEE, etc.) are updated monthly via IMF PCPS. For precious metals (gold, silver, platinum, palladium), please use the dedicated Metals API.
Authentication
The public /symbols endpoint is open. Commodity endpoints require an API key. Pass it via Authorization: Bearer YOUR_API_KEY or x-api-key.
curl -H "Authorization: Bearer YOUR_API_KEY" https://www.sentisignal.com/api/v1/commodity/price?symbol=BRENT¤cy=USD
GET /symbols
Returns the list of supported commodity symbols. No authentication required.
curl https://www.sentisignal.com/api/v1/commodity/symbols
GET /price
Fetch the current price for a commodity symbol in a specified currency.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
symbol |
string | required | Commodity symbol (e.g., BRENT, WTI, NATURAL_GAS, WHEAT, CORN) |
currency |
string | USD | Output currency code (e.g., USD, EUR, GBP) |
Example
curl -H "Authorization: Bearer YOUR_API_KEY" "https://www.sentisignal.com/api/v1/commodity/price?symbol=BRENT¤cy=EUR"
Response
{
"status": "success",
"timestamp": "2026-03-13T12:00:00Z",
"data": {
"symbol": "BRENT",
"price": 74.21,
"currency": "EUR",
"unit": "barrel",
"price_date": "2026-03-13",
"source": "EIA",
"fx_rate": 0.921304
},
"meta": { "credits_used": 1, "plan": "starter" }
}
GET /price/historical
Fetch historical commodity prices for a date range. Paid plans only. Responses include summary statistics.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
symbol |
string | required | Commodity symbol |
start_date |
string | required | Start date in YYYY-MM-DD |
end_date |
string | required | End date in YYYY-MM-DD |
currency |
string | USD | Output currency code |
interval |
string | daily | daily, weekly, monthly, yearly |
Error Codes
| Code | Message | Description |
|---|---|---|
| 400 | Invalid parameters | Malformed or missing symbol/date/currency parameters |
| 401 | Invalid API key | Missing, invalid, expired, or revoked API key |
| 403 | Plan restriction | Historical access is not available on the current plan |
| 429 | Rate limit exceeded | Per-minute or monthly request limit reached |
| 500 | Server error | Internal processing error or unavailable upstream data |