API цен на серебро: актуальные и исторические цены XAG в JSON
API цен на серебро: актуальные и исторические цены XAG за унцию, грамм или килограмм в 57 валютах — с примерами кода, советами по кешированию и реальными сценариями.
Что даёт API цен на серебро
API цен на серебро возвращает текущую и историческую цену серебра в виде структурированных данных — обычно JSON по HTTPS, — чтобы магазин, приложение или отчёт могли использовать её, не копируя числа с сайта. В MetalAPI серебро обозначается символом XAG — это код ISO 4217 для одной тройской унции серебра. Его актуальное значение — спотовая цена: среднее между котировками bid и ask оптового рынка.
Серебро использует тот же API, что и золото, но у него свои особенности. Оно котируется за тройскую унцию, а покупается и продаётся граммами и килограммами; его цена за грамм настолько мала, что округление имеет значение; а покупатели столового серебра и лома думают в пробах, а не в каратах. В этом руководстве разобраны запросы и детали, характерные именно для серебра:
- Актуальная цена серебра одним запросом и как её читать.
- Цены на серебро за унцию, грамм и килограмм.
- Серебро в других валютах — по-прежнему одним запросом.
- Исторические цены на серебро с 2000 года.
- Сценарии использования: магазины слитков, скупщики столового серебра и лома, инвестиционные приложения.
Как получить актуальную цену серебра через API
Создайте бесплатный аккаунт и добавьте ключ API в личном кабинете. Ключи начинаются с mk_live_. Храните свой ключ в переменной окружения и передавайте его в заголовке, а затем запросите /latest с XAG:
export METALAPI_KEY="mk_live_your_key_here"
curl "https://metalapi.com/api/v1/latest?base=USD¤cies=XAG" \
-H "X-API-Key: $METALAPI_KEY"Ответ выглядит так. Числа — примерные значения, которые используются во всей документации MetalAPI, а не актуальные цены:
{
"success": true,
"timestamp": 1792713600,
"date": "2026-10-23",
"base": "USD",
"rates": {
"XAG": 0.01853911754,
"USDXAG": 53.94
}
}USDXAG — цена одной тройской унции серебра в базовой валюте, в этом примере 53,94 доллара США. XAG — обратная величина, тройские унции серебра за доллар, сохранённая для совместимости с API в стиле форекс. Всегда читайте ключ с префиксом: если принять rates.XAG за цену, вы покажете 0,0185 вместо 53,94.
timestamp — время данных, а не вашего запроса. Спотовое серебро торгуется круглосуточно по будним дням с перерывом с 17:00 пятницы до 17:00 воскресенья по нью-йоркскому времени, поэтому в выходные API продолжает возвращать цену закрытия пятницы. Показывайте метку времени рядом с ценой, особенно по субботам и воскресеньям.
Если вам нужны также золото, платина или палладий, добавьте их в тот же запрос: currencies=XAU,XAG,XPT,XPD. Запрос засчитывается один раз, сколько бы символов он ни вернул.
Цена серебра за унцию, грамм и килограмм
Цены на серебро указываются за тройскую унцию (31,1034768 грамма), если вы не передали unit. Поддерживаются значения troy_oz (по умолчанию), gram, kilogram, ounce, pound, metric_ton и short_ton, а если единица отличается от значения по умолчанию, ответ содержит поле unit верхнего уровня:
curl "https://metalapi.com/api/v1/latest?currencies=XAG&unit=kilogram" \
-H "X-API-Key: $METALAPI_KEY"При примерной цене 53,94 доллара за тройскую унцию серебро стоит:
| Цена за | USD | Типичное применение |
|---|---|---|
| Тройскую унцию (31,1035 г) | 53,94 | Спотовые котировки, монеты и жетоны (rounds) |
| Грамм | 1,7342 | Ювелирные изделия, столовое серебро, лом |
| Килограмм | 1 734,21 | Килограммовые слитки, опт, цены в Индии |
| Тола (11,6638 г) | 20,23 | Южная Азия и страны Персидского залива |
| Торговую унцию | 49,16 | Для серебра почти никогда не подходит |
unit=ounce и его краткая форма oz — это торговая унция (avoirdupois) массой 28,35 грамма. Цена серебра за тройскую унцию примерно на 9,7% выше цены за торговую унцию. Для спотовых котировок не указывайте unit или передавайте troy_oz.
Для серебра стоит завести две привычки. Во-первых, показывайте больше знаков после запятой в цене за грамм: при 1,7342 доллара два знака скрывают большую часть ежедневных колебаний, поэтому обычно используют четыре. Во-вторых, если вы показываете несколько единиц, запрашивайте цену за тройскую унцию один раз и пересчитывайте локально, а не делайте отдельный запрос для каждой единицы. Коэффициенты точные:
const GRAMS_PER_TROY_OZ = 31.1034768;
const res = await fetch("https://metalapi.com/api/v1/latest?currencies=XAG", {
headers: { "X-API-Key": process.env.METALAPI_KEY },
signal: AbortSignal.timeout(10_000),
});
const data = await res.json();
if (!data.success) throw new Error(`MetalAPI ${data.error.code} (${data.error.type}): ${data.error.info}`);
const perOz = data.rates[`${data.base}XAG`]; // 53.94 in the docs' example
const perGram = perOz / GRAMS_PER_TROY_OZ; // 1.7342...
const perKg = perGram * 1000; // 1734.21...
console.log({ perOz, perGram: perGram.toFixed(4), perKg: perKg.toFixed(2) });В статье «Тройские унции, граммы и килограммы» перечислены все коэффициенты, включая пеннивейт, и правила округления для счетов.
Цены на серебро в других валютах
Задайте base, чтобы получить цену серебра в другой валюте: base=EUR возвращает EURXAG, base=INR — INRXAG. Вместе с unit этот запрос возвращает евро за грамм:
curl "https://metalapi.com/api/v1/latest?base=EUR¤cies=XAG&unit=gram" \
-H "X-API-Key: $METALAPI_KEY"{
"success": true,
"timestamp": 1792765800,
"date": "2026-10-23",
"base": "EUR",
"unit": "gram",
"rates": {
"XAG": 0.6713138244,
"EURXAG": 1.489616277
}
}Чтобы показать серебро в нескольких валютах, по-прежнему достаточно одного запроса. Запросите серебро и нужные валюты с базой USD, а затем разделите: серебро в евро — это USDXAG ÷ USDEUR, потому что USDEUR — цена одного евро в долларах. Все значения берутся из одного снимка, поэтому результат совпадает с тем, что возвращает base=EUR. При курсе из примера в документации, 1,1642 доллара за евро, 53,94 ÷ 1,1642 дают 46,33 евро за тройскую унцию, или 1,4896 евро за грамм, — то же, что выше:
import os
import requests
GRAMS_PER_TROY_OZ = 31.1034768
CURRENCIES = ["EUR", "GBP", "INR", "TRY"]
resp = requests.get(
"https://metalapi.com/api/v1/latest",
params={"base": "USD", "currencies": ",".join(["XAG", *CURRENCIES])},
headers={"X-API-Key": os.environ["METALAPI_KEY"]},
timeout=10,
)
data = resp.json()
if not data["success"]:
err = data["error"]
raise RuntimeError(f"MetalAPI {err['code']} ({err['type']}): {err['info']}")
rates = data["rates"]
silver_usd = rates["USDXAG"]
for cur in ["USD", *CURRENCIES]:
per_oz = silver_usd if cur == "USD" else silver_usd / rates["USD" + cur]
print(f"{cur}: {per_oz:,.2f} per troy oz, {per_oz / GRAMS_PER_TROY_OZ:,.4f} per gram")Так работает любая из 57 поддерживаемых валют, а также золото, платина и палладий, поэтому один вызов может обеспечить данными целое табло цен. В Индии, где серебро обычно котируется за килограмм, base=INR&unit=kilogram сразу даёт привычное значение.
Исторические цены на серебро через API
История цен на серебро начинается с 2000 года и использует те же параметры и формат ответа, что и актуальная цена. Значения за каждый день — цены закрытия этого дня, даты указаны в UTC. Большинство задач покрывают четыре эндпоинта:
/YYYY-MM-DD,/historical?date=или/yesterday: цена закрытия одного дня. Для выходного или праздничного дня возвращается цена закрытия последнего торгового дня./timeframe: дневные цены закрытия междуstart_dateиend_date, до 30 дней на запрос на Free и до 365 дней на платных тарифах./change: начальная и конечная цена, абсолютное и процентное изменение между двумя датами./ohlc: цены открытия, максимума, минимума и закрытия за один день.
# Silver at the close of 15 January 2024 (USDXAG 23.162 in the docs' example)
curl "https://metalapi.com/api/v1/2024-01-15?currencies=XAG" \
-H "X-API-Key: $METALAPI_KEY"
# Daily silver closes in euros per gram for September 2026
curl "https://metalapi.com/api/v1/timeframe?start_date=2026-09-01&end_date=2026-09-30&base=EUR¤cies=XAG&unit=gram" \
-H "X-API-Key: $METALAPI_KEY"
# What 500 grams of silver were worth in euros at the close of 1 October 2026
curl "https://metalapi.com/api/v1/convert?from=XAG&to=EUR&amount=500&unit=gram&date=2026-10-01" \
-H "X-API-Key: $METALAPI_KEY"Цены закрытия прошедших дней никогда не меняются, поэтому сохраняйте их, а не запрашивайте повторно. С лимитом в 365 дней на платном тарифе полная загрузка истории с 2000 года требует одного запроса /timeframe на каждый год. Учтите, что цены металлов до октября 2026 года рассчитаны по фьючерсам ближайшего месяца, поэтому они могут немного отличаться от спотовой цены того же дня.
В статье «Исторические цены на золото и серебро через API» есть полный скрипт загрузки истории, советы по хранению и проверке данных, а также график золота вместе с соотношением золота и серебра.
Сценарии использования API цен на серебро
Магазины слитков и дилеры монет. Дилеры продают выше спота и выкупают ниже него. Типичная цена продажи — спотовая цена за тройскую унцию, умноженная на содержание чистого серебра, плюс премия за продукт и фиксированная плата за изделие. Храните премию для каждого продукта, обновляйте спот с интервалом вашего тарифа и показывайте клиентам, когда цена обновлялась в последний раз. На тарифе Standard и выше добавьте XAG-BID и XAG-ASK в currencies, чтобы котировать обе стороны по собственному спреду рынка. Статья «Спот, bid, ask и спред» показывает, как дилеры превращают эти числа в котировки покупки и продажи.
Столовое серебро, ювелирные изделия и скупка лома. Серебряные изделия оцениваются по массе и пробе — доле чистого серебра в тысячных. Распространённые пробы — 999 (чистое серебро), 958 (британская проба Britannia), 925 (стерлинговое серебро) и 800, которая встречается в старом континентальном европейском столовом серебре. Стоимость металла — масса в граммах × проба × цена за грамм. При примерной цене 1,7342 доллара за грамм поднос из стерлингового серебра массой 500 граммов содержит 462,5 грамма серебра стоимостью около 802,07 доллара. Скупщики лома платят процент от стоимости металла, поэтому делайте этот процент настройкой, а не константой.
Эндпоинт MetalAPI для каратов, /carat, работает только с золотом, поэтому пробу серебра вы учитываете в расчётах на своей стороне:
const GRAMS_PER_TROY_OZ = 31.1034768;
/** Melt value of a silver item: weight in grams × fineness (e.g. 0.925) × price per gram. */
export function meltValue(grams, fineness, pricePerTroyOz) {
return grams * fineness * (pricePerTroyOz / GRAMS_PER_TROY_OZ);
}
meltValue(500, 0.925, 53.94); // 802.07… sterling tray at the example price
meltValue(1000, 0.999, 53.94); // 1732.48… one-kilogram bar of 999 silverИнвестиционные приложения и портфели. Пользователи хранят монеты, жетоны и килограммовые слитки и хотят видеть их стоимость в своей валюте. Храните активы внутри системы в тройских унциях, пересчитывайте входную единицу один раз и оценивайте портфель, передавая валюту пользователя как base. /change возвращает процентное изменение между двумя датами для строк вроде «серебро за этот месяц», а сохранённые дневные цены закрытия из /timeframe питают графики.
Ценовые оповещения. Если вам нужно лишь реагировать, когда серебро пересекает определённый уровень, ценовые оповещения могут отслеживать XAG в любой валюте и уведомлять вас по электронной почте начиная с тарифа Lite или через подписанный вебхук начиная с тарифа Advanced — без опроса API с вашей стороны.
Актуальность данных, квоты и тарифы
Насколько свежа цена серебра, зависит от тарифа. Опрос чаще интервала обновления вашего тарифа лишь снова вернёт те же числа:
| Тариф | Цена в месяц | Запросов в месяц | Обновление цен |
|---|---|---|---|
| Free | 0 $ | 100 | Ежедневно |
| Lite | 4,99 $ | 1 000 | Каждые 30 минут |
| Standard | 11,99 $ | 10 000 | Каждые 10 минут, плюс bid/ask |
| Advanced | 24,99 $ | 50 000 | Каждую минуту |
| Pro | 49,99 $ | 100 000 | Каждую минуту, плюс поток в реальном времени |
| Ultra и Business | 99,99 $ и 149,99 $ | 500 000 | Каждые 15 секунд |
| Enterprise | 299,99 $ | 1 500 000 | Каждые 5 секунд |
- Кешируйте как минимум на интервал обновления. На Free для актуальных цен достаточно одного запроса в день.
- Запрашивайте все металлы одним вызовом.
currencies=XAU,XAG,XPT,XPDстоит один запрос, а четыре отдельных вызова — четыре. - Храните ключ на сервере. Отдавайте страницам кешированные цены, а не вызывайте API из браузера каждого посетителя.
- Проверяйте расход бесплатно.
/usageи/symbolsникогда не расходуют квоту, а каждый ответ содержит блокrate_limit.
Готовы начать? Создайте бесплатный аккаунт и получите ключ API за минуту, без банковской карты. Сравните интервалы обновления и квоты на странице тарифов и используйте документацию API как справочник по всем эндпоинтам и параметрам.
Частые вопросы
Какой символ у серебра в API цен?
XAG — код ISO 4217 для одной тройской унции серебра. В MetalAPI цена серебра в вашей базовой валюте — это ключ, объединяющий два кода, например USDXAG для долларов за унцию или EURXAG для евро за унцию.
Есть ли бесплатный API цен на серебро?
Да. Тариф Free MetalAPI включает серебро, все остальные символы и полную историю: 100 запросов в месяц и ежедневное обновление цен, без банковской карты. Платные тарифы начинаются с 4,99 $ в месяц за обновление каждые 30 минут и 1 000 запросов.
Как получить цену серебра за грамм?
Передайте unit=gram или разделите цену за тройскую унцию на 31,1034768. Не делите на 28,35: это торговая унция, и цена грамма окажется завышенной примерно на 9,7%.
Насколько глубока история цен на серебро?
Дневные цены на серебро доступны начиная с 2000 года на всех тарифах. Один запрос диапазона охватывает до 30 дней на Free и до 365 дней на платных тарифах.
Почему цена серебра у дилера отличается от цены в API?
API возвращает спотовую среднюю цену оптового рынка. При продаже дилеры добавляют премии за чеканку, дистрибуцию и свою маржу, а при выкупе платят меньше спота, поэтому розничные цены на монеты и слитки выше спота, а цены выкупа — ниже.
Попробуйте на своих данных
Создайте бесплатный аккаунт и отправьте первый запрос меньше чем за две минуты. 100 запросов в месяц, без банковской карты.
Читайте также
Бесплатный API цен на золото: что дают 100 запросов в месяц
Бесплатный API цен на золото без прикрас: что даёт тариф Free MetalAPI, как растянуть 100 запросов в месяц с помощью кеша и объединения запросов и когда менять тариф.
API цен на золото на Python: запросы, кэш и графики
API цен на золото на Python: актуальные цены через requests, обработка ошибок и повторов, кэширование ответов и график временного ряда в pandas и matplotlib.
API цен на золото на JavaScript: Node.js, TypeScript и Next.js
Цена золота в JavaScript через API: fetch с async/await, типы ответа в TypeScript, кэширующий маршрут на Express или Next.js и безопасная работа с ключом API.