API Documentation
Base URL: https://www.sentisignal.com/api/v1/gold
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/gold/price # Option 2: x-api-key header curl -H "x-api-key: YOUR_API_KEY" https://www.sentisignal.com/api/v1/gold/price
Get your API key at sentisignal.com/dashboard/api.
GET /price
Get the current gold price in one or more currencies.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
currencies | string | USD | Comma-separated currency codes (e.g., USD,EUR,GBP) |
weight_unit | string | troy_oz | troy_oz, gram, or kg |
Example
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://www.sentisignal.com/api/v1/gold/price?currencies=USD,EUR,GBP&weight_unit=gram"
Response
{
"status": "success",
"timestamp": "2026-03-01T12:00:00Z",
"data": {
"metal": "gold",
"price_date": "2026-03-01",
"source": "NBP (National Bank of Poland)",
"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-01"
},
"meta": { "credits_used": 1, "credits_remaining": 99, "plan": "free" }
}GET /price/historical
Get historical gold prices for a date range.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
start_date | string | required | Start date (YYYY-MM-DD) |
end_date | string | required | End date (YYYY-MM-DD) |
currencies | string | USD | Comma-separated currency codes |
interval | string | daily | daily, weekly, or monthly |
weight_unit | string | troy_oz | troy_oz, gram, or kg |
Example
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://www.sentisignal.com/api/v1/gold/price/historical?start_date=2026-02-01&end_date=2026-02-28¤cies=USD,EUR"
GET /price/convert
Convert a specific weight of gold to a currency value.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
currency | string | required | Target currency (e.g., EUR) |
weight | number | 1 | Amount of gold |
weight_unit | string | troy_oz | troy_oz, gram, or kg |
date | string | latest | Price date (YYYY-MM-DD, optional) |
Example
# How much is 10 grams of gold worth in EUR? curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://www.sentisignal.com/api/v1/gold/price/convert?currency=EUR&weight=10&weight_unit=gram"
GET /currencies
List all supported currencies. No authentication required.
curl https://www.sentisignal.com/api/v1/gold/currencies
Error Codes
| Code | Message | Description |
|---|---|---|
| 400 | Invalid parameters | Missing or malformed query parameters |
| 401 | Invalid API key | Missing, invalid, expired, or revoked API key |
| 403 | Plan restriction | Requested currency or date range not available on your plan |
| 429 | Rate limit exceeded | Per-minute or monthly limit reached. Check Retry-After header |
| 500 | Server error | Internal error. Contact support if persistent |
Rate Limits
Rate limit information is included in response headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Requests per minute allowed |
X-RateLimit-Remaining | Remaining requests this minute |
X-RateLimit-Limit-Monthly | Monthly request limit |
X-RateLimit-Remaining-Monthly | Remaining requests this month |
Retry-After | Seconds to wait (only on 429 responses) |