MetalAPI
XAU3 997,89−1,54 %XAG53,936−1,51 %XPT1 554,47−0,83 %XPD1 047,03−0,44 %XCU6,5080+2,29 %WTI103,27+3,82 %BRENT111,70−1,30 %EUR1,120400−0,01 %GBP1,337500−0,01 %JPY0,0063761+0,14 %CHF1,213445−0,25 %TRY0,020125−0,12 %BTC80 648,87−0,16 %ETH2 354,03−0,08 %
Все статьи
ЗолотоЕдиницы измеренияЮвелирные изделияРуководство

Цена грамма золота в местной валюте: INR, AED, TRY через API

Цена грамма золота в INR, AED, TRY, EUR, GBP, SAR или PKR через API, за 10 граммов и за тола, и почему местные розничные цены отличаются от спотовой.

Автор: MetalAPI Team··11 мин чтения

Цена грамма золота в вашей местной валюте

Цена за грамм — то число, на которое смотрит большинство покупателей. Ювелир в Ченнаи, покупатель на золотом рынке Дубая и вкладчик в Стамбуле, следящий за gram altın, — все думают в граммах и в своей валюте, тогда как международный рынок котирует золото в долларах США за тройскую унцию. Их связывают два пересчёта: из тройских унций в граммы и из долларов в местную валюту.

цена грамма золота (в местной валюте) = цена в USD за тройскую унцию ÷ 31,1034768 × единиц местной валюты за 1 USD

В этом руководстве показано, как получить это число из MetalAPI, как вывести из него цены за 10 граммов и за тола, которые приняты на некоторых рынках, как отформатировать его для местных читателей и почему цена в местном магазине редко совпадает с пересчитанной спотовой ценой.

Запрос цены грамма золота через API

MetalAPI выполняет оба пересчёта на сервере: unit=gram превращает цену за тройскую унцию в цену за грамм, а base задаёт валюту. Оба параметра работают на любом тарифе, включая Free:

bash
curl "https://metalapi.com/api/v1/latest?base=INR&currencies=XAU&unit=gram" \
  -H "X-API-Key: $METALAPI_KEY"

Цена находится в ключе, который соединяет базовую валюту и символ, — здесь это INRXAU: рупии за грамм чистого золота. В ответе ниже используются примерная цена золота из документации, 3 997,89 USD за тройскую унцию, и условный курс 88,00 рупии за доллар. Оба значения иллюстративные, а не актуальные котировки:

Иллюстративный ответ (условно 88,00 INR за USD)
{
  "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
ИндияINR24K и 22K, за грамм и за 10 граммов× 10 для 10 г; × 22 ÷ 24 для 22K
ПакистанPKR24K и 22K, за тола и за 10 граммов× 11,6638038 за тола; × 10 для 10 г
ОАЭ (Дубай)AED24K, 22K, 21K и 18K за грамм× K ÷ 24 или /carat?carat=all
Саудовская АравияSAR24K, 22K, 21K и 18K за грамм× K ÷ 24 или /carat?carat=all
ТурцияTRYGram altın: 24K за граммЦена грамма в том виде, в каком её возвращает API
ЕврозонаEURЗа грамм, а для инвестиционного золота — за слиток× масса слитка в граммах
ВеликобританияGBPЗа грамм и за тройскую унциюЦена грамма или запрос без unit

Применительно к примерной цене золота формулы дают следующие числа. Валютные курсы условные и приведены для иллюстрации, кроме курса евро — это пример из документации (1,1642 USD за евро):

ВалютаУсловно единиц за 1 USD24K за грамм22K за грамм24K за 10 г24K за тола
INR88,0011 311,0910 368,50113 110,93131 930,37
AED3,6725472,05432,714 720,455 505,84
SAR3,75482,01441,844 820,075 622,03
TRY42,005 398,484 948,6053 984,7662 966,77
PKR280,0035 989,8432 990,69359 898,41419 778,45
EUR0,8590110,41101,211 104,061 287,76
GBP0,7596,4088,37964,011 124,41
USD1128,54117,821 285,351 499,21

Точные коэффициенты для столбцов с граммами и тола приведены в статье о пересчёте единиц.

Цена грамма золота в индийских рупиях

В Индии золото обычно котируется для 24 карат (999) и для 22 карат (916) — ювелирного стандарта. base=INR&unit=gram возвращает цену грамма золота 24K. Для 22K умножьте её на 22 ÷ 24 или запросите её у /carat на платном тарифе:

bash
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 граммов может сместиться на пять рупий.

rates.py
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 самостоятельно:

bash
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, содержит количество единиц этой валюты за доллар. Их произведение — местная цена грамма, а всё табло стоит одного запроса:

gold-board.mjs
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 дней на платных тарифах:

bash
curl "https://metalapi.com/api/v1/timeframe?base=INR&currencies=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 запросов в месяц, без банковской карты.

Читайте также