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.647,88−0,16%ETH2.354,11−0,07%
Todos os artigos
OuroUnidadesJoalheriaGuia

Preço do ouro por grama em moeda local: INR, AED e TRY via API

Obtenha o preço do ouro por grama em INR, AED, TRY, EUR, GBP, SAR ou PKR via API, por 10 gramas ou por tola, e entenda por que o varejo local difere do spot.

Por MetalAPI Team··11 min de leitura

Preço do ouro por grama na sua moeda local

O preço do ouro por grama é o número que a maioria dos compradores observa. Um joalheiro em Chennai, um cliente no Gold Souk de Dubai e um poupador em Istambul que acompanha o gram altın pensam todos em gramas e na própria moeda, enquanto o mercado internacional cota o ouro em dólares americanos por onça troy. Duas conversões ligam esses mundos: de onças troy para gramas e de dólares para a moeda local.

preço do ouro por grama (local) = preço em USD por onça troy ÷ 31,1034768 × unidades da moeda local por USD

Este guia mostra como obter esse número na MetalAPI, como derivar os preços por 10 gramas e por tola que alguns mercados usam, como formatá-lo para leitores locais e por que o preço de uma loja local raramente é igual ao preço spot convertido.

Solicitando o preço do ouro por grama via API

A MetalAPI faz as duas conversões no servidor: unit=gram transforma o preço por onça troy em preço por grama, e base define a moeda. Ambos funcionam em todos os planos, inclusive no Free:

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

O preço está na chave que une a moeda base e o símbolo, aqui INRXAU: rúpias por grama de ouro puro. A resposta abaixo usa o preço de exemplo do ouro da documentação, 3.997,89 USD por onça troy, e uma cotação presumida de 88,00 rúpias por dólar. Ambos são ilustrações, não cotações ao vivo:

Resposta ilustrativa (presumindo 88,00 INR por USD)
{
  "success": true,
  "timestamp": 1792834892,
  "date": "2026-10-24",
  "base": "INR",
  "unit": "gram",
  "rates": {
    "XAU": 0.00008840878563,
    "INRXAU": 11311.09304
  }
}
  • Um único instantâneo. O ouro e o câmbio vêm do mesmo momento, então não há uma chamada separada para a moeda nem descompasso entre os dois.
  • A chave simples é o inverso. Aqui, XAU contém gramas de ouro por rúpia. Exiba a chave com prefixo; o guia de formatos de dados explica as duas direções.
  • Não há unidade de tola nem de 10 gramas. unit aceita troy_oz (padrão), gram, kilogram, ounce, pound, metric_ton e short_ton; qualquer outro valor retorna o erro 209 (invalid_unit). Os dois estão a uma multiplicação de distância do preço por grama.

Preço do ouro por grama por mercado: as fórmulas

As convenções do varejo variam de país para país. A tabela mostra a cotação usual em vários mercados grandes e como derivá-la do preço por grama de 24K da API. Para outros quilates, multiplique por K ÷ 24, ou use /carat em um plano pago.

MercadobaseCotação típica no varejoA partir do preço por grama da API
ÍndiaINR24K e 22K, por grama e por 10 gramas× 10 para 10 g; × 22 ÷ 24 para 22K
PaquistãoPKR24K e 22K, por tola e por 10 gramas× 11,6638038 por tola; × 10 para 10 g
Emirados Árabes (Dubai)AED24K, 22K, 21K e 18K por grama× K ÷ 24, ou /carat?carat=all
Arábia SauditaSAR24K, 22K, 21K e 18K por grama× K ÷ 24, ou /carat?carat=all
TurquiaTRYGram altın: 24K por gramaO preço por grama, como retornado
Zona do euroEURPor grama, e por barra no ouro para investimento× peso da barra em gramas
Reino UnidoGBPPor grama e por onça troyO preço por grama, ou omita unit

Aplicadas ao preço de exemplo do ouro, as fórmulas resultam nestes números. As taxas de câmbio são presumidas para fins de ilustração, exceto a do euro, que é o exemplo da documentação (1,1642 USD por euro):

MoedaUnidades por USD (presumidas)24K por grama22K por grama24K por 10 g24K por tola
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

O artigo sobre conversão de unidades traz os fatores exatos por trás das colunas de grama e de tola.

Preço do ouro por grama em rúpias indianas

Na Índia, o ouro costuma ser cotado como ouro 24 quilates (999) e como 22 quilates (916), o padrão da joalheria. base=INR&unit=gram retorna o preço do 24K por grama. Para o 22K, multiplique por 22 ÷ 24, ou peça-o ao /carat em um plano pago:

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

Na cotação ilustrativa, 11.311,09 rúpias por grama de ouro 24K se tornam 10.368,50 por grama de 22K. Preços do ouro por quilate explicados aborda os fatores de pureza e as marcas de teor como 916 e 750.

Preço do ouro por 10 gramas

Muitos quadros de cotação, jornais e sites de comparação indianos cotam o ouro por 10 gramas, e as cotações paquistanesas costumam mostrar um preço por 10 gramas ao lado do preço por tola. Solicite gramas e multiplique por 10, e multiplique antes de arredondar: arredondar primeiro o preço por grama para a rúpia inteira pode deslocar o preço por 10 gramas em até cinco rúpias.

rates.py
import os
from decimal import Decimal, ROUND_HALF_UP

import requests

TOLA_G = Decimal("11.6638038")  # 180 grãos
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, rúpias por grama
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)}"
    )

Com a resposta ilustrativa acima, ele imprime 11311, 113111 e 131930 rúpias para 24K, e 10369, 103685 e 120936 para 22K. parse_float=Decimal mantém os preços fora dos floats binários, o que importa quando um número chega a uma fatura.

Preço do ouro por tola

A tola é o peso tradicional do ouro no sul da Ásia, ainda muito usada no Paquistão, no Nepal e nos mercados do Golfo, onde barras de dez tolas (116,64 g) são um produto conhecido. Ela é definida como 180 grãos: exatamente 11,6638038 gramas, ou três oitavos de onça troy. Como a API não tem uma unidade de tola, converta de uma das duas formas:

preço por tola = preço por grama × 11,6638038 = preço por onça troy × 0,375

Ambas resultam em 1.499,21 USD por tola no preço de exemplo. Se uma tabela de preços ou um contrato usa um peso de tola arredondado, transforme o peso em gramas em um valor de configuração, mostre-o na página e nunca o misture com a tola exata em uma mesma tabela.

Preço do ouro por grama em Dubai (AED)

As lojas de ouro de Dubai e os quadros de cotação publicados listam preços por grama em dirhams, geralmente para 24K, 22K, 21K e 18K. Em um plano pago, uma única requisição a /carat retorna todos os quilates; no Free, solicite base=AED&unit=gram ao /latest e aplique K ÷ 24 você mesmo:

bash
curl "https://metalapi.com/api/v1/carat?carat=all&unit=gram&base=AED" \
  -H "X-API-Key: $METALAPI_KEY"

O dirham dos Emirados é atrelado ao dólar americano a 3,6725, então os preços do ouro em dirhams acompanham quase um a um o preço em dólares: cerca de 472,05 AED por grama de 24K e 432,71 para 22K no preço de exemplo. O rial saudita (atrelado a 3,75), o rial catariano, o dinar bareinita e o rial omanense também são atrelados ao dólar. Mesmo assim, use a cotação da API em vez de uma paridade fixa no código, para que o código seja o mesmo para todas as moedas.

Gram altın: preço do ouro por grama em liras turcas

Na Turquia, o gram altın, o preço de um grama de ouro 24 quilates em liras, é a cotação do ouro que as pessoas acompanham mais de perto, junto com os preços de moedas de ouro como o çeyrek. base=TRY&unit=gram o retorna como TRYXAU: 5.398,48 liras por grama com o preço de exemplo do ouro e uma cotação presumida de 42,00 liras por dólar.

Um preço do ouro em liras combina o ouro em dólares e o dólar em liras, então pode subir enquanto o próprio ouro está estável. Para explicar um movimento, /change?currencies=XAU,TRY com a base padrão USD retorna a variação percentual do ouro em dólares (USDXAU) e das liras por dólar (TRY) entre duas datas. A variação do gram altın é (1 + variação do ouro) × (1 + variação da moeda) − 1.

Exemplo de código: vários mercados em uma requisição

Um quadro com vários países não precisa de uma chamada por moeda. Mantenha a base padrão USD e solicite o ouro por grama junto com as moedas: unit altera apenas o preço do metal, e cada chave de moeda, como rates.INR, contém unidades daquela moeda por dólar. O produto dos dois é o preço local por grama, e o quadro inteiro custa uma requisição:

gold-board.mjs
const TOLA_GRAMS = 11.6638038;

// Cada mercado: moeda, locale de exibição, quilates e pesos (em gramas) a exibir
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"); // afeta apenas XAU; as cotações das moedas não mudam

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; // ouro 24K, USD por grama
for (const m of MARKETS) {
  const perUsd = data.rates[m.currency]; // unidades da moeda por 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); // arredondado apenas por format()
      console.log(`${m.currency} ${karat}K per ${label}: ${fmt.format(price)}`);
    }
  }
}
// p. ex. "INR 24K per 10 g: ₹1,13,110.93" com a cotação ilustrativa de 88,00 INR por USD
console.log("As of", new Date(data.timestamp * 1000).toISOString());

Por que os preços locais do ouro diferem do preço spot convertido

A API retorna o preço spot internacional do ouro puro, convertido pela taxa de câmbio de mercado. O quadro de um joalheiro ou a cotação diária de uma associação do setor parte dessa referência e acrescenta custos locais, por isso costuma ser mais alto:

  • Impostos de importação. Países que importam a maior parte do seu ouro costumam cobrar imposto de importação sobre ele, elevando o preço de atacado local acima do preço internacional convertido. As alíquotas mudam com os orçamentos e a política comercial.
  • GST e IVA. A Índia aplica GST ao ouro, países do Golfo como os Emirados e a Arábia Saudita aplicam IVA, e a UE isenta de IVA o ouro para investimento, mas não as joias. Muitos regimes tratam barras e moedas de forma diferente de joias e da mão de obra.
  • Mão de obra e perdas. A mão de obra é cobrada por grama, como percentual ou por peça, e alguns mercados acrescentam uma margem para perdas de fabricação.
  • Prêmios e spreads dos revendedores. Os revendedores vendem acima e recompram abaixo da referência, e barras pequenas e moedas têm prêmios por grama maiores do que barras grandes.
  • Oferta e demanda locais. Uma demanda forte ou restrições à importação podem levar o preço local a um prêmio sobre o preço internacional posto no país; uma demanda fraca, a um desconto.
  • Momento e taxa de câmbio. As cotações locais costumam ser definidas uma ou poucas vezes por dia, com a taxa de câmbio do próprio banco ou associação, enquanto o spot se move continuamente.
  • Pureza. Uma cotação local pode se referir a barras 995 ou a ouro de joalheria 22K, enquanto INRXAU é ouro puro. Compare itens equivalentes.

Modele esses fatores como parâmetros nomeados e documentados sobre o preço da API, em vez de uma única margem opaca, e obtenha as alíquotas de impostos e tributos de fontes oficiais ou do seu consultor tributário. Depois, rotule com precisão o que você publica: "preço spot internacional, convertido para INR" não é a mesma afirmação que "a cotação do ouro hoje em Mumbai".

Este artigo explica cálculos. Não é recomendação de investimento, de precificação nem tributária.

Dicas de exibição: formatação numérica local

  • Use o formato numérico da localidade. O inglês indiano agrupa os dígitos em lakhs e crores (₹1,13,110.93), o turco usa ponto para milhares e vírgula para decimais (₺5.398,48), e o alemão coloca o símbolo do euro no final (110,41 €). Deixe isso a cargo do Intl.NumberFormat ou da biblioteca de localidade da sua plataforma.
  • Escolha as casas decimais deliberadamente. A maioria das moedas usa duas casas decimais; o dinar kuwaitiano, o dinar bareinita e o rial omanense usam três. Quadros de rúpias por 10 gramas ou por tola costumam mostrar rúpias inteiras, então passe maximumFractionDigits: 0 nesses casos.
  • Escolha o sistema de algarismos. Algumas localidades árabes, como ar-SA, usam por padrão algarismos arábico-índicos. Para algarismos latinos, use uma localidade como ar-SA-u-nu-latn.
  • Rotule quilate, peso e moeda. "22K, por 10 g, INR" não deixa margem para dúvidas.
  • Mostre o horário local. timestamp está em UTC; formate-o em Asia/Kolkata, Asia/Dubai ou Europe/Istanbul. O ouro à vista fecha na sexta-feira às 17h, horário de Nova York, e reabre no domingo às 17h, então indique que o preço do fim de semana é o de fechamento do mercado.

Preço histórico do ouro por grama em moeda local

base e unit também funcionam nos endpoints históricos, então um gráfico do ouro por grama em rúpias ou dirhams não precisa de nenhuma conversão extra. O histórico diário começa em 2000 para os metais e em 1999 para as moedas, em todos os planos; uma requisição /timeframe cobre até 30 dias no Free e 365 nos planos pagos:

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"

Os valores são fechamentos diários; fins de semana e feriados podem estar ausentes, e os preços dos metais anteriores a outubro de 2026 são derivados de contratos futuros de primeiro vencimento, então podem diferir ligeiramente do spot.

Obtenha preços do ouro por grama para o seu mercado

Para criar uma página de cotação local do ouro, cadastre-se para obter uma chave grátis, solicite unit=gram com a sua moeda como base e derive os preços por 10 gramas, por tola e por quilate como mostrado acima. O plano Free inclui 100 requisições por mês com atualização diária, o suficiente para desenvolver e testar. Para um quadro ao vivo, o Lite atualiza a cada 30 minutos e acrescenta o /carat, o Standard atualiza a cada 10 minutos e acrescenta os preços bid e ask, e o plano mais rápido atualiza a cada 5 segundos. A página de preços compara os planos, e a página de símbolos lista todas as moedas suportadas.

Perguntas frequentes

A API retorna preços do ouro por tola ou por 10 gramas?

Não como unidades. Solicite unit=gram e multiplique por 10, ou por 11,6638038 para uma tola; ou multiplique o preço padrão por onça troy por 0,375. unit=tola retorna o erro 209.

Por que o preço da API é mais baixo do que a cotação do ouro do meu joalheiro?

A API retorna o preço spot internacional do ouro puro pela taxa de câmbio de mercado. As cotações locais acrescentam impostos de importação, GST ou IVA, mão de obra, prêmios dos revendedores e o efeito da oferta e demanda locais, e podem se referir a uma pureza menor ou a uma fixação anterior.

Quais moedas locais são suportadas?

57 moedas, incluindo INR, PKR, BDT e LKR no sul da Ásia, AED, SAR, QAR, KWD, BHD e OMR no Golfo, além de TRY, EGP, EUR e GBP. Qualquer uma delas funciona como base, e /api/v1/symbols retorna a lista completa sem contar para a sua cota.

Com que frequência o preço do ouro por grama é atualizado?

Com a frequência que o seu plano permite: diariamente no Free, a cada 30 minutos no Lite, a cada 10 minutos no Standard, a cada 60 segundos no Advanced e no Pro, a cada 15 segundos no Ultra e no Business e a cada 5 segundos no Enterprise. Durante o fim de semana, o preço permanece no fechamento de sexta-feira.

Posso obter o preço do ouro 22K ou 21K por grama na minha moeda?

Sim. Nos planos pagos, /carat com carat=22, carat=21 ou carat=all, mais unit=gram e a sua base, retorna os preços por quilate prontos. No Free, multiplique o preço por grama do 24K por K ÷ 24.

Experimente com seus próprios dados

Crie uma conta grátis e faça sua primeira requisição em menos de dois minutos. 100 requisições por mês, sem cartão de crédito.

Continue lendo