Цена грамма золота в местной валюте: INR, AED, TRY через API
Цена грамма золота в INR, AED, TRY, EUR, GBP, SAR или PKR через API, за 10 граммов и за тола, и почему местные розничные цены отличаются от спотовой.
Цена грамма золота в вашей местной валюте
Цена за грамм — то число, на которое смотрит большинство покупателей. Ювелир в Ченнаи, покупатель на золотом рынке Дубая и вкладчик в Стамбуле, следящий за gram altın, — все думают в граммах и в своей валюте, тогда как международный рынок котирует золото в долларах США за тройскую унцию. Их связывают два пересчёта: из тройских унций в граммы и из долларов в местную валюту.
цена грамма золота (в местной валюте) = цена в USD за тройскую унцию ÷ 31,1034768 × единиц местной валюты за 1 USD
В этом руководстве показано, как получить это число из MetalAPI, как вывести из него цены за 10 граммов и за тола, которые приняты на некоторых рынках, как отформатировать его для местных читателей и почему цена в местном магазине редко совпадает с пересчитанной спотовой ценой.
Запрос цены грамма золота через API
MetalAPI выполняет оба пересчёта на сервере: unit=gram превращает цену за тройскую унцию в цену за грамм, а base задаёт валюту. Оба параметра работают на любом тарифе, включая Free:
curl "https://metalapi.com/api/v1/latest?base=INR¤cies=XAU&unit=gram" \
-H "X-API-Key: $METALAPI_KEY"Цена находится в ключе, который соединяет базовую валюту и символ, — здесь это INRXAU: рупии за грамм чистого золота. В ответе ниже используются примерная цена золота из документации, 3 997,89 USD за тройскую унцию, и условный курс 88,00 рупии за доллар. Оба значения иллюстративные, а не актуальные котировки:
{
"success": true,
"timestamp": 1792834892,
"date": "2026-10-24",
"base": "INR",
"unit": "gram",
"rates": {
"XAU": 0.00008840878563,
"INRXAU": 11311.09304
}
}- Один снимок. Цена золота и валютный курс берутся из одного момента, поэтому не нужен отдельный запрос курса и между ними нет расхождения.
- Ключ без префикса — обратная величина. Здесь
XAUсодержит количество граммов золота за одну рупию. Показывайте ключ с префиксом; оба направления объясняет руководство по форматам данных. - Единиц «тола» и «10 граммов» нет.
unitпринимаетtroy_oz(по умолчанию),gram,kilogram,ounce,pound,metric_tonиshort_ton; любое другое значение возвращает ошибку209(invalid_unit). Обе цены получаются из цены грамма одним умножением.
Цена грамма золота по рынкам: формулы
Розничные традиции различаются от страны к стране. В таблице показаны обычные котировки на нескольких крупных рынках и то, как получить их из цены грамма золота 24K, которую возвращает API. Для другой пробы умножайте на K ÷ 24 или используйте /carat на платном тарифе.
| Рынок | base | Типичная розничная котировка | Из цены грамма в API |
|---|---|---|---|
| Индия | INR | 24K и 22K, за грамм и за 10 граммов | × 10 для 10 г; × 22 ÷ 24 для 22K |
| Пакистан | PKR | 24K и 22K, за тола и за 10 граммов | × 11,6638038 за тола; × 10 для 10 г |
| ОАЭ (Дубай) | AED | 24K, 22K, 21K и 18K за грамм | × K ÷ 24 или /carat?carat=all |
| Саудовская Аравия | SAR | 24K, 22K, 21K и 18K за грамм | × K ÷ 24 или /carat?carat=all |
| Турция | TRY | Gram altın: 24K за грамм | Цена грамма в том виде, в каком её возвращает API |
| Еврозона | EUR | За грамм, а для инвестиционного золота — за слиток | × масса слитка в граммах |
| Великобритания | GBP | За грамм и за тройскую унцию | Цена грамма или запрос без unit |
Применительно к примерной цене золота формулы дают следующие числа. Валютные курсы условные и приведены для иллюстрации, кроме курса евро — это пример из документации (1,1642 USD за евро):
| Валюта | Условно единиц за 1 USD | 24K за грамм | 22K за грамм | 24K за 10 г | 24K за тола |
|---|---|---|---|---|---|
| INR | 88,00 | 11 311,09 | 10 368,50 | 113 110,93 | 131 930,37 |
| AED | 3,6725 | 472,05 | 432,71 | 4 720,45 | 5 505,84 |
| SAR | 3,75 | 482,01 | 441,84 | 4 820,07 | 5 622,03 |
| TRY | 42,00 | 5 398,48 | 4 948,60 | 53 984,76 | 62 966,77 |
| PKR | 280,00 | 35 989,84 | 32 990,69 | 359 898,41 | 419 778,45 |
| EUR | 0,8590 | 110,41 | 101,21 | 1 104,06 | 1 287,76 |
| GBP | 0,75 | 96,40 | 88,37 | 964,01 | 1 124,41 |
| USD | 1 | 128,54 | 117,82 | 1 285,35 | 1 499,21 |
Точные коэффициенты для столбцов с граммами и тола приведены в статье о пересчёте единиц.
Цена грамма золота в индийских рупиях
В Индии золото обычно котируется для 24 карат (999) и для 22 карат (916) — ювелирного стандарта. base=INR&unit=gram возвращает цену грамма золота 24K. Для 22K умножьте её на 22 ÷ 24 или запросите её у /carat на платном тарифе:
curl "https://metalapi.com/api/v1/carat?carat=22&unit=gram&base=INR" \
-H "X-API-Key: $METALAPI_KEY"При условном курсе 11 311,09 рупии за грамм золота 24K превращаются в 10 368,50 за грамм золота 22K. О коэффициентах чистоты и клеймах пробы, таких как 916 и 750, рассказывает статья «Цены на золото по каратам».
Цена золота за 10 граммов
Многие индийские табло с курсами, газеты и сайты сравнения котируют золото за 10 граммов, а в Пакистане рядом с ценой за тола часто указывают цену за 10 граммов. Запрашивайте цену в граммах и умножайте на 10 — причём умножайте до округления: если сначала округлить цену грамма до целой рупии, цена за 10 граммов может сместиться на пять рупий.
import os
from decimal import Decimal, ROUND_HALF_UP
import requests
TOLA_G = Decimal("11.6638038") # 180 гран
RUPEE = Decimal("1")
r = requests.get(
"https://metalapi.com/api/v1/latest",
params={"base": "INR", "currencies": "XAU", "unit": "gram"},
headers={"X-API-Key": os.environ["METALAPI_KEY"]},
timeout=10,
)
data = r.json(parse_float=Decimal)
if not data["success"]:
raise RuntimeError(data["error"])
per_gram = data["rates"]["INRXAU"] # 24K, рупии за грамм
for karat in (24, 22):
g = per_gram * karat / 24
print(
f"{karat}K 1 g: {g.quantize(RUPEE, ROUND_HALF_UP)}"
f" 10 g: {(g * 10).quantize(RUPEE, ROUND_HALF_UP)}"
f" 1 tola: {(g * TOLA_G).quantize(RUPEE, ROUND_HALF_UP)}"
)С иллюстративным ответом выше скрипт выводит 11311, 113111 и 131930 рупий для 24K и 10369, 103685 и 120936 для 22K. parse_float=Decimal не даёт ценам превратиться в двоичные числа с плавающей точкой, что важно, как только число попадает в счёт.
Цена золота за тола
Тола — традиционная мера массы золота в Южной Азии. Она по-прежнему широко используется в Пакистане и Непале, а также на рынках Персидского залива, где привычным товаром являются слитки в десять тола (116,64 г). Тола определяется как 180 гран: ровно 11,6638038 грамма, или три восьмых тройской унции. Поскольку единицы «тола» в API нет, пересчитывайте любым из двух способов:
цена за тола = цена за грамм × 11,6638038 = цена за тройскую унцию × 0,375
При примерной цене оба способа дают 1 499,21 USD за тола. Если прайс-лист или договор использует округлённую массу тола, вынесите массу в граммах в настройки, показывайте её на странице и никогда не смешивайте её с точной тола в одной таблице.
Цена грамма золота в Дубае (AED)
Ювелирные магазины Дубая и публикуемые табло с курсами указывают цены за грамм в дирхамах, обычно для 24K, 22K, 21K и 18K. На платном тарифе один запрос /carat возвращает все пробы; на Free запросите base=AED&unit=gram у /latest и примените K ÷ 24 самостоятельно:
curl "https://metalapi.com/api/v1/carat?carat=all&unit=gram&base=AED" \
-H "X-API-Key: $METALAPI_KEY"Дирхам ОАЭ привязан к доллару США по курсу 3,6725, поэтому цены на золото в дирхамах движутся почти один в один с долларовой ценой: при примерной цене — около 472,05 AED за грамм 24K и 432,71 за 22K. К доллару также привязаны саудовский риял (по курсу 3,75), катарский риял, бахрейнский динар и оманский риал. И всё же используйте курс из API, а не жёстко заданную привязку, чтобы код оставался одинаковым для всех валют.
Gram altın: цена грамма золота в турецких лирах
В Турции gram altın — цена одного грамма золота 24 карат в лирах — самая отслеживаемая котировка золота наряду с ценами монет, например çeyrek. base=TRY&unit=gram возвращает её как TRYXAU: 5 398,48 лиры за грамм при примерной цене золота и условном курсе 42,00 лиры за доллар.
Цена золота в лирах объединяет цену золота в долларах и курс доллара в лирах, поэтому она может расти, даже когда само золото стоит на месте. Чтобы объяснить движение цены, запрос /change?currencies=XAU,TRY с базой по умолчанию USD возвращает процентное изменение цены золота в долларах (USDXAU) и количества лир за доллар (TRY) между двумя датами. Изменение gram altın равно (1 + изменение золота) × (1 + изменение курса) − 1.
Пример кода: несколько рынков одним запросом
Табло для нескольких стран не требует отдельного вызова для каждой валюты. Оставьте базу по умолчанию USD и запросите цену грамма золота вместе с валютами: unit меняет только цену металла, а каждый валютный ключ, например rates.INR, содержит количество единиц этой валюты за доллар. Их произведение — местная цена грамма, а всё табло стоит одного запроса:
const TOLA_GRAMS = 11.6638038;
// Каждый рынок: валюта, локаль отображения, пробы и массы (в граммах) для показа
const MARKETS = [
{ currency: "INR", locale: "en-IN", karats: [24, 22], weights: { gram: 1, "10 g": 10 } },
{ currency: "PKR", locale: "en-PK", karats: [24, 22], weights: { tola: TOLA_GRAMS, "10 g": 10 } },
{ currency: "AED", locale: "en-AE", karats: [24, 22, 21, 18], weights: { gram: 1 } },
{ currency: "TRY", locale: "tr-TR", karats: [24], weights: { gram: 1 } },
{ currency: "EUR", locale: "de-DE", karats: [24], weights: { gram: 1 } },
];
const url = new URL("https://metalapi.com/api/v1/latest");
url.searchParams.set("currencies", ["XAU", ...MARKETS.map((m) => m.currency)].join(","));
url.searchParams.set("unit", "gram"); // влияет только на XAU; валютные курсы не меняются
const res = await fetch(url, { headers: { "X-API-Key": process.env.METALAPI_KEY } });
const data = await res.json();
if (!data.success) throw new Error(`${data.error.code}: ${data.error.info}`);
const usdPerGram = data.rates.USDXAU; // золото 24K, USD за грамм
for (const m of MARKETS) {
const perUsd = data.rates[m.currency]; // единиц валюты за 1 USD
if (perUsd === undefined) continue;
const fmt = new Intl.NumberFormat(m.locale, { style: "currency", currency: m.currency });
for (const karat of m.karats) {
for (const [label, grams] of Object.entries(m.weights)) {
const price = usdPerGram * perUsd * grams * (karat / 24); // округляется только в format()
console.log(`${m.currency} ${karat}K per ${label}: ${fmt.format(price)}`);
}
}
}
// например, "INR 24K per 10 g: ₹1,13,110.93" при условном курсе 88.00 INR за USD
console.log("As of", new Date(data.timestamp * 1000).toISOString());Почему местные цены на золото отличаются от пересчитанной спотовой
API возвращает международную спотовую цену чистого золота, пересчитанную по рыночному валютному курсу. Табло ювелира или дневной курс ассоциации торговцев слитками начинается с этой базовой цены и добавляет местные издержки, поэтому обычно оказывается выше:
- Ввозные пошлины. Страны, которые импортируют большую часть золота, часто взимают с него таможенную пошлину, из-за чего местная оптовая цена превышает пересчитанную международную. Ставки меняются вместе с бюджетом и торговой политикой.
- GST и НДС. Индия облагает золото налогом GST, страны Персидского залива, такие как ОАЭ и Саудовская Аравия, применяют НДС, а ЕС освобождает от НДС инвестиционное золото, но не ювелирные изделия. Во многих налоговых режимах слитки и монеты облагаются иначе, чем ювелирные изделия и стоимость работы.
- Стоимость работы и потери. Работа оплачивается за грамм, в процентах или за изделие, а на некоторых рынках добавляется надбавка на технологические потери.
- Наценки и спреды дилеров. Дилеры продают дороже базовой цены и выкупают дешевле, а небольшие слитки и монеты несут более высокую наценку за грамм, чем крупные слитки.
- Местный спрос и предложение. Высокий спрос или ограничения на импорт могут поднять местную цену выше международной с учётом доставки, а слабый спрос — опустить ниже.
- Время и валютный курс. Местные курсы часто устанавливаются один или несколько раз в день по собственному курсу банка или ассоциации, а спотовая цена меняется непрерывно.
- Чистота. Местная котировка может относиться к слиткам пробы 995 или к ювелирному золоту 22K, тогда как
INRXAU— это чистое золото. Сравнивайте сопоставимое.
Моделируйте эти факторы как именованные документированные параметры поверх цены из API, а не как одну непрозрачную наценку, а ставки пошлин и налогов берите из официальных источников или у налогового консультанта. И точно подписывайте то, что публикуете: «международная спотовая цена, пересчитанная в INR» — это не то же самое, что «сегодняшний курс золота в Мумбаи».
В этой статье объясняются расчёты. Она не является инвестиционной, ценовой или налоговой консультацией.
Советы по отображению: местный формат чисел
- Используйте формат чисел локали. Индийский английский группирует разряды по лакхам и крорам (₹1,13,110.93), в турецком тысячи отделяются точкой, а дробная часть — запятой (₺5.398,48), а в немецком знак евро ставится после числа (110,41 €). Поручите это
Intl.NumberFormatили библиотеке локализации вашей платформы. - Осознанно выбирайте число знаков. В большинстве валют два знака после запятой; у кувейтского динара, бахрейнского динара и оманского риала — три. На табло в рупиях за 10 граммов или за тола обычно показывают целые рупии, поэтому передавайте там
maximumFractionDigits: 0. - Выбирайте систему цифр. В некоторых арабских локалях, например
ar-SA, по умолчанию используются арабско-индийские цифры. Для латинских цифр используйте локаль вродеar-SA-u-nu-latn. - Указывайте пробу, массу и валюту. «22K, за 10 г, INR» не оставляет места для сомнений.
- Показывайте местное время.
timestampуказан в UTC; форматируйте его в часовом поясеAsia/Kolkata,Asia/DubaiилиEurope/Istanbul. Спотовое золото закрывается в пятницу в 17:00 по нью-йоркскому времени и вновь открывается в воскресенье в 17:00, поэтому помечайте цену на выходных как цену закрытия рынка.
Исторические цены грамма золота в местной валюте
base и unit работают и на исторических эндпоинтах, поэтому для графика цены грамма золота в рупиях или дирхамах дополнительный пересчёт не нужен. Дневная история начинается с 2000 года для металлов и с 1999 года для валют на любом тарифе; один запрос /timeframe охватывает до 30 дней на Free и до 365 дней на платных тарифах:
curl "https://metalapi.com/api/v1/timeframe?base=INR¤cies=XAU&unit=gram&start_date=2026-09-24&end_date=2026-10-23" \
-H "X-API-Key: $METALAPI_KEY"Значения — это дневные цены закрытия; выходных и праздников может не быть, а цены металлов до октября 2026 года рассчитаны по фьючерсам ближайшего месяца, поэтому могут немного отличаться от спотовых.
Получите цены грамма золота для своего рынка
Чтобы сделать страницу с местным курсом золота, зарегистрируйтесь и получите бесплатный ключ, запросите unit=gram с вашей валютой в base и выведите цены за 10 граммов, за тола и по каратам, как показано выше. Тариф Free включает 100 запросов в месяц с ежедневным обновлением — этого достаточно для разработки и тестирования. Для табло в реальном времени Lite обновляет цены каждые 30 минут и добавляет /carat, Standard обновляет их каждые 10 минут и добавляет цены bid и ask, а самый быстрый тариф обновляет цены каждые 5 секунд. Тарифы сравниваются на странице тарифов, а все поддерживаемые валюты перечислены на странице символов.
Частые вопросы
Возвращает ли API цены на золото за тола или за 10 граммов?
Не в виде единиц. Запросите unit=gram и умножьте на 10 или на 11,6638038 для тола; либо умножьте цену за тройскую унцию, которая возвращается по умолчанию, на 0,375. unit=tola возвращает ошибку 209.
Почему цена из API ниже курса золота у моего местного ювелира?
API возвращает международную спотовую цену чистого золота по рыночному валютному курсу. Местные курсы добавляют ввозные пошлины, GST или НДС, стоимость работы, наценки дилеров и влияние местного спроса и предложения, а также могут относиться к золоту более низкой пробы или к более раннему фиксингу.
Какие местные валюты поддерживаются?
57 валют, включая INR, PKR, BDT и LKR в Южной Азии, AED, SAR, QAR, KWD, BHD и OMR в странах Персидского залива, а также TRY, EGP, EUR и GBP. Любая из них может служить base, а /api/v1/symbols возвращает полный список и не расходует квоту.
Как часто обновляется цена грамма золота?
Так часто, как позволяет ваш тариф: раз в день на Free, каждые 30 минут на Lite, каждые 10 минут на Standard, каждые 60 секунд на Advanced и Pro, каждые 15 секунд на Ultra и Business и каждые 5 секунд на Enterprise. На выходных цена остаётся на уровне закрытия пятницы.
Можно ли получить цену грамма золота 22K или 21K в моей валюте?
Да. На платных тарифах /carat с carat=22, carat=21 или carat=all, а также с unit=gram и вашей base возвращает готовые цены по каратам. На Free умножьте цену грамма золота 24K на K ÷ 24.
Попробуйте на своих данных
Создайте бесплатный аккаунт и отправьте первый запрос меньше чем за две минуты. 100 запросов в месяц, без банковской карты.
Читайте также
Что означает XAU/USD: коды XAU, XAG, XPT и XPD
Что означает XAU/USD: почему у золота есть валютный код ISO 4217, что обозначают XAG, XPT и XPD и как читать направление котировки в ценах и данных API.
Бесплатный API цен на золото: что дают 100 запросов в месяц
Бесплатный API цен на золото без прикрас: что даёт тариф Free MetalAPI, как растянуть 100 запросов в месяц с помощью кеша и объединения запросов и когда менять тариф.
API цен на золото на Python: запросы, кэш и графики
API цен на золото на Python: актуальные цены через requests, обработка ошибок и повторов, кэширование ответов и график временного ряда в pandas и matplotlib.