How to Get Silver Feb 2026 (SIG26) Historical Prices with an API
SIG26 is the COMEX silver contract for February 2026. On Metals-API that code is a first-class symbol: GET /api/latest with symbols=SIG26 returns rates.SIG26 (ounces per 1 USD) and rates.USDSIG26 (USD per ounce). The same access_key pulls ISO spot silver as XAG / USDXAG — do not mix the two.
As of 28 September 2026 the Feb-26 contract is expired. A live latest call still returns a number and a warnings[] row with code 410, type expired_symbol. For a February 2026 price history, use dated /api/YYYY-MM-DD or /api/timeseries on XAG. Copper Monthly is $19.99/mo (2,500 calls, 10-minute updates). There is no Free Trial. Register at metals-api.com/register. Docs: metals-api.com/documentation. Confirm codes on the symbols page.
Request: latest SIG26
Official request — copy with your key:
curl "https://metals-api.com/api/latest?access_key=YOUR_API_KEY&base=USD&symbols=SIG26"
Response: live print 2026-09-28 (expired contract)
Envelope from a live /api/latest call on 28 September 2026. Prefer rates.USDSIG26 (~66.37). Invert matches: 1 / 0.015067048365225 = 66.37. Read the warning before you chart this as a tradeable future.
{
"success": true,
"timestamp": 1790600340,
"date": "2026-09-28",
"base": "USD",
"rates": {
"SIG26": 0.015067048365225,
"USD": 1,
"USDSIG26": 66.37000000000111
},
"warnings": [
{
"symbol": "SIG26",
"code": 410,
"type": "expired_symbol",
"info": "The requested symbol has expired and is no longer available."
}
]
}
A dated path that still asks for SIG26 fails the whole task with the same 410. Historical windows after expiry belong on XAG.
Request: silver history for February 2026 (XAG)
Dated URL from the historical rates docs. This live call is 2026-02-13, mid-window for the SIG26 month:
curl "https://metals-api.com/api/2026-02-13?access_key=YOUR_API_KEY&base=USD&symbols=XAG"
Response: official dated XAG (2026-02-13)
This dated envelope does not include USDXAG. Invert rates.XAG: 1 / 0.012921315648359 ≈ 77.3915 USD per ounce.
{
"success": true,
"historical": true,
"date": "2026-02-13",
"base": "USD",
"rates": {
"USD": 1,
"XAG": 0.012921315648359
}
}
For the full month, GET /api/timeseries with start_date=2026-02-01, end_date=2026-02-28, symbols=XAG. end_date cannot be today — use a prior day and /api/latest for the last spot print. Timeseries docs: #timeseries.
curl "https://metals-api.com/api/timeseries?access_key=YOUR_API_KEY&start_date=2026-02-01&end_date=2026-02-28&base=USD&symbols=XAG"
PHP: invert dated XAG
$ch = curl_init('https://metals-api.com/api/2026-02-13?access_key=' . urlencode($key) . '&base=USD&symbols=XAG');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json = json_decode(curl_exec($ch), true);
$xag = (float) $json['rates']['XAG'];
$usdPerOz = $xag > 0 ? 1 / $xag : null;
MCP
Same key, same quota. Setup: metals-api.com/mcp.
https://metals-api.mcp.metals-api.com/mcp?api_key=YOUR_API_KEY
Tools: metals.latest, metals.historical, metals.time_series, metals.symbols. Ask for SIG26 first; if the warning is 410, switch the tool to XAG and a February 2026 date window.
Go live
1. Register — Copper Monthly $19.99/mo. No Free Trial.
2. Confirm SIG26 vs XAG on /symbols.
3. GET /api/latest with symbols=SIG26 and read warnings.
4. For Feb 2026 history, GET /api/2026-02-13 with symbols=XAG and invert.
Support: [email protected], Monday–Friday 7am–4pm EST.
Get a Metals key and pull SIG26 / XAG →