Precio del oro por gramo en tu divisa: INR, AED y TRY por API
Obtén por API el precio del oro por gramo en INR, AED, TRY, EUR, GBP, SAR o PKR, por 10 gramos o por tola, y descubre por qué difiere del precio al contado.
Precio del oro por gramo en tu divisa local
El precio del oro por gramo es la cifra que mira la mayoría de los compradores. Un joyero de Chennai, un cliente del zoco del oro de Dubái y un ahorrador de Estambul que consulta el gram altın piensan en gramos y en su propia divisa, mientras que el mercado internacional cotiza el oro en dólares estadounidenses por onza troy. Dos conversiones los conectan: de onzas troy a gramos y de dólares a la divisa local.
precio del oro por gramo (local) = precio en USD por onza troy ÷ 31,1034768 × unidades de divisa local por USD
Esta guía muestra cómo obtener esa cifra de MetalAPI, cómo calcular los precios por 10 gramos y por tola que cotizan algunos mercados, cómo formatearla para los lectores locales y por qué el precio de una tienda local rara vez coincide con el precio al contado convertido.
Solicitar el precio del oro por gramo por API
MetalAPI hace ambas conversiones en el servidor: unit=gram convierte el precio por onza troy en un precio por gramo y base establece la divisa. Ambos funcionan en todos los planes, incluido Free:
curl "https://metalapi.com/api/v1/latest?base=INR¤cies=XAU&unit=gram" \
-H "X-API-Key: $METALAPI_KEY"El precio está en la clave que une la divisa base y el símbolo, aquí INRXAU: rupias por gramo de oro puro. La respuesta de abajo usa el precio del oro de ejemplo de la documentación, 3997,89 USD por onza troy, y una cotización supuesta de 88,00 rupias por dólar. Ambas cifras son ilustrativas, no cotizaciones en tiempo real:
{
"success": true,
"timestamp": 1792834892,
"date": "2026-10-24",
"base": "INR",
"unit": "gram",
"rates": {
"XAU": 0.00008840878563,
"INRXAU": 11311.09304
}
}- Una sola instantánea. El oro y el tipo de cambio proceden del mismo momento, así que no hay una llamada aparte para la divisa ni desfase entre ambos.
- La clave simple es la inversa. Aquí
XAUcontiene gramos de oro por rupia. Muestra la clave con prefijo; la guía de formatos de datos explica ambas direcciones. - No hay unidad tola ni de 10 gramos.
unitaceptatroy_oz(por defecto),gram,kilogram,ounce,pound,metric_tonyshort_ton; cualquier otro valor devuelve el error209(invalid_unit). Ambas están a una multiplicación del precio por gramo.
Precio del oro por gramo según el mercado: las fórmulas
Las convenciones minoristas varían de un país a otro. La tabla muestra la cotización habitual en varios mercados grandes y cómo calcularla a partir del precio por gramo de 24K de la API. Para otros quilates, multiplica por K ÷ 24, o usa /carat en un plan de pago.
| Mercado | base | Cotización minorista habitual | A partir del precio por gramo de la API |
|---|---|---|---|
| India | INR | 24K y 22K, por gramo y por 10 gramos | × 10 para 10 g; × 22 ÷ 24 para 22K |
| Pakistán | PKR | 24K y 22K, por tola y por 10 gramos | × 11,6638038 por tola; × 10 para 10 g |
| EAU (Dubái) | AED | 24K, 22K, 21K y 18K por gramo | × K ÷ 24, o /carat?carat=all |
| Arabia Saudita | SAR | 24K, 22K, 21K y 18K por gramo | × K ÷ 24, o /carat?carat=all |
| Turquía | TRY | Gram altın: 24K por gramo | El precio por gramo tal como se devuelve |
| Zona del euro | EUR | Por gramo, y por lingote para el oro de inversión | × peso del lingote en gramos |
| Reino Unido | GBP | Por gramo y por onza troy | El precio por gramo, u omite unit |
Aplicadas al precio del oro de ejemplo, las fórmulas dan estas cifras. Los tipos de cambio son supuestos con fines ilustrativos, salvo el del euro, que es el ejemplo de la documentación (1,1642 USD por euro):
| Divisa | Unidades por USD (supuestas) | 24K por gramo | 22K por gramo | 24K por 10 g | 24K por tola |
|---|---|---|---|---|---|
| INR | 88,00 | 11.311,09 | 10.368,50 | 113.110,93 | 131.930,37 |
| AED | 3,6725 | 472,05 | 432,71 | 4720,45 | 5505,84 |
| SAR | 3,75 | 482,01 | 441,84 | 4820,07 | 5622,03 |
| TRY | 42,00 | 5398,48 | 4948,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 | 1104,06 | 1287,76 |
| GBP | 0,75 | 96,40 | 88,37 | 964,01 | 1124,41 |
| USD | 1 | 128,54 | 117,82 | 1285,35 | 1499,21 |
El artículo sobre conversión de unidades contiene los factores exactos de las columnas por gramo y por tola.
Precio del oro por gramo en rupias indias
En India, el oro suele cotizarse para el oro de 24 quilates (999) y para el de 22 quilates (916), el estándar de la joyería. base=INR&unit=gram devuelve el precio de 24K por gramo. Para 22K, multiplica por 22 ÷ 24, o pídeselo a /carat en un plan de pago:
curl "https://metalapi.com/api/v1/carat?carat=22&unit=gram&base=INR" \
-H "X-API-Key: $METALAPI_KEY"Con la cotización ilustrativa, 11.311,09 rupias por gramo de oro de 24K se convierten en 10.368,50 por gramo de 22K. Precios del oro por quilate explica los factores de pureza y las marcas de ley como 916 y 750.
Precio del oro por 10 gramos
Muchos tablones de precios, periódicos y comparadores de India cotizan el oro por 10 gramos, y las cotizaciones de Pakistán suelen mostrar un precio por 10 gramos junto al precio por tola. Pide gramos y multiplica por 10, y multiplica antes de redondear: redondear primero el precio por gramo a una rupia entera puede desplazar el precio por 10 gramos hasta cinco rupias.
import os
from decimal import Decimal, ROUND_HALF_UP
import requests
TOLA_G = Decimal("11.6638038") # 180 granos
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, rupias por gramo
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)}"
)Con la respuesta ilustrativa anterior, imprime 11311, 113111 y 131930 rupias para 24K, y 10369, 103685 y 120936 para 22K. parse_float=Decimal mantiene los precios fuera de los números de coma flotante binarios, lo que importa en cuanto una cifra llega a una factura.
Precio del oro por tola
La tola es la unidad de peso tradicional del oro en el sur de Asia, todavía muy usada en Pakistán y Nepal y en los mercados del Golfo, donde los lingotes de diez tolas (116,64 g) son un producto habitual. Se define como 180 granos: exactamente 11,6638038 gramos, o tres octavos de onza troy. Como la API no tiene una unidad tola, convierte de cualquiera de estas dos formas:
precio por tola = precio por gramo × 11,6638038 = precio por onza troy × 0,375
Ambas dan 1499,21 USD por tola con el precio de ejemplo. Si una lista de precios o un contrato usa un peso de tola redondeado, convierte el peso en gramos en un valor de configuración, muéstralo en la página y nunca lo mezcles con la tola exacta en una misma tabla.
Precio del oro por gramo en Dubái (AED)
Las tiendas de oro de Dubái y los tablones de precios publicados muestran los precios por gramo en dírhams, normalmente para 24K, 22K, 21K y 18K. En un plan de pago, una sola solicitud a /carat devuelve todos los quilates; en Free, pide base=AED&unit=gram a /latest y aplica tú mismo K ÷ 24:
curl "https://metalapi.com/api/v1/carat?carat=all&unit=gram&base=AED" \
-H "X-API-Key: $METALAPI_KEY"El dírham de los EAU está vinculado al dólar estadounidense a 3,6725, así que los precios del oro en dírhams se mueven casi uno a uno con el precio en dólares: unos 472,05 AED por gramo de 24K y 432,71 para 22K con el precio de ejemplo. El riyal saudí (vinculado a 3,75), el riyal catarí, el dinar bareiní y el rial omaní también están vinculados al dólar. Aun así, usa la cotización de la API en lugar de una paridad fija escrita en el código, para que el código sea el mismo para todas las divisas.
Gram altın: precio del oro por gramo en liras turcas
En Turquía, el gram altın, el precio de un gramo de oro de 24 quilates en liras, es la cotización del oro que más se sigue, junto con los precios de monedas como el çeyrek. base=TRY&unit=gram lo devuelve como TRYXAU: 5398,48 liras por gramo con el precio del oro de ejemplo y unas supuestas 42,00 liras por dólar.
Un precio del oro en liras combina el oro en dólares y el dólar en liras, así que puede subir aunque el oro se mantenga estable. Para explicar un movimiento, /change?currencies=XAU,TRY con la base por defecto USD devuelve la variación porcentual del oro en dólares (USDXAU) y de las liras por dólar (TRY) entre dos fechas. La variación del gram altın es (1 + variación del oro) × (1 + variación de la divisa) − 1.
Ejemplo de código: varios mercados en una sola solicitud
Un tablón de varios países no necesita una llamada por divisa. Mantén la base por defecto USD y pide el oro por gramo junto con las divisas: unit solo cambia el precio del metal, y cada clave de divisa, como rates.INR, contiene unidades de esa divisa por dólar. Su producto es el precio local por gramo, y todo el tablón cuesta una sola solicitud:
const TOLA_GRAMS = 11.6638038;
// Cada mercado: divisa, configuración regional de visualización, quilates y pesos (en gramos) que mostrar
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"); // solo afecta a XAU; las cotizaciones de las divisas no cambian
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; // oro de 24K, USD por gramo
for (const m of MARKETS) {
const perUsd = data.rates[m.currency]; // unidades de la divisa 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); // redondeado solo por format()
console.log(`${m.currency} ${karat}K per ${label}: ${fmt.format(price)}`);
}
}
}
// p. ej., "INR 24K per 10 g: ₹1,13,110.93" con los 88.00 INR por USD ilustrativos
console.log("As of", new Date(data.timestamp * 1000).toISOString());Por qué los precios locales del oro difieren del precio al contado convertido
La API devuelve el precio internacional al contado del oro puro, convertido al tipo de cambio del mercado. El tablón de un joyero o la cotización diaria de una asociación de lingotes parte de esa referencia y añade costes locales, así que suele ser más alto:
- Aranceles de importación. Los países que importan la mayor parte de su oro suelen gravarlo con derechos de aduana, lo que eleva el precio mayorista local por encima del precio internacional convertido. Los tipos cambian con los presupuestos y la política comercial.
- GST e IVA. India aplica el GST al oro, los países del Golfo como los EAU y Arabia Saudita aplican el IVA, y la UE exime del IVA al oro de inversión, pero no a la joyería. Muchos regímenes tratan los lingotes y las monedas de forma distinta a la joyería y a los costes de fabricación.
- Costes de fabricación y merma. La mano de obra se cobra por gramo, como porcentaje o por pieza, y algunos mercados añaden un margen por merma.
- Primas y diferenciales de los comerciantes. Los comerciantes venden por encima de la referencia y recompran por debajo, y los lingotes pequeños y las monedas tienen primas por gramo más altas que los lingotes grandes.
- Oferta y demanda locales. Una demanda fuerte o las restricciones a la importación pueden llevar el precio local a una prima sobre el precio internacional puesto en destino; una demanda débil, a un descuento.
- Momento y tipo de cambio. Las cotizaciones locales suelen fijarse una o pocas veces al día con el tipo de cambio propio de un banco o de una asociación, mientras que el precio al contado se mueve de forma continua.
- Pureza. Una cotización local puede referirse a lingotes de 995 o a oro de joyería de 22K, mientras que
INRXAUes oro puro. Compara lo que es comparable.
Modela estos factores como parámetros con nombre y documentados sobre el precio de la API, en lugar de un único margen opaco, y toma los tipos de aranceles e impuestos de fuentes oficiales o de tu asesor fiscal. Después, etiqueta con precisión lo que publicas: "precio internacional al contado, convertido a INR" no es la misma afirmación que "la cotización del oro de hoy en Bombay".
Este artículo explica cálculos. No constituye asesoramiento de inversión, de precios ni fiscal.
Consejos de presentación: formato numérico local
- Usa el formato numérico de la configuración regional. El inglés de India agrupa las cifras en lakhs y crores (₹1,13,110.93), el turco usa un punto para los miles y una coma para los decimales (₺5.398,48), y el alemán pone el símbolo del euro al final (110,41 €). Deja que
Intl.NumberFormato la biblioteca de configuración regional de tu plataforma se encargue de ello. - Elige los decimales a propósito. La mayoría de las divisas usan dos decimales; el dinar kuwaití, el dinar bareiní y el rial omaní usan tres. Los tablones de rupias por 10 gramos o por tola suelen mostrar rupias enteras, así que pasa
maximumFractionDigits: 0en esos casos. - Elige el sistema de cifras. Algunas configuraciones regionales árabes, como
ar-SA, usan por defecto cifras arábigo-índicas. Para cifras latinas, usa una configuración regional comoar-SA-u-nu-latn. - Indica quilates, peso y divisa. "22K, por 10 g, INR" no deja lugar a dudas.
- Muestra la hora local.
timestampestá en UTC; formatéalo enAsia/Kolkata,Asia/DubaioEurope/Istanbul. El oro al contado cierra el viernes a las 17:00, hora de Nueva York, y vuelve a abrir el domingo a las 17:00, así que marca el precio del fin de semana como cierre del mercado.
Historial del precio del oro por gramo en divisa local
base y unit también funcionan en los endpoints históricos, así que un gráfico del oro por gramo en rupias o en dírhams no necesita ninguna conversión adicional. El historial diario se remonta a 2000 para los metales y a 1999 para las divisas en todos los planes; una solicitud a /timeframe cubre hasta 30 días en Free y 365 en los planes de pago:
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"Los valores son cierres diarios; pueden faltar los fines de semana y los festivos, y los precios de los metales anteriores a octubre de 2026 se derivan de los futuros del primer vencimiento, así que pueden diferir ligeramente del precio al contado.
Obtén los precios del oro por gramo para tu mercado
Para crear una página local con la cotización del oro, regístrate para obtener una clave gratuita, pide unit=gram con tu divisa como base y calcula los precios por 10 gramos, por tola y por quilate como se muestra arriba. El plan Free incluye 100 solicitudes al mes con actualizaciones diarias, suficiente para crear y probar. Para un tablón en tiempo real, Lite se actualiza cada 30 minutos y añade /carat, Standard se actualiza cada 10 minutos y añade precios bid y ask, y el plan más rápido se actualiza cada 5 segundos. La página de precios compara los planes, y la página de símbolos enumera todas las divisas disponibles.
Preguntas frecuentes
¿La API devuelve precios del oro por tola o por 10 gramos?
No como unidades. Pide unit=gram y multiplica por 10, o por 11,6638038 para una tola; o multiplica el precio por onza troy por defecto por 0,375. unit=tola devuelve el error 209.
¿Por qué el precio de la API es más bajo que la cotización del oro de mi joyero?
La API devuelve el precio internacional al contado del oro puro al tipo de cambio del mercado. Las cotizaciones locales añaden aranceles de importación, GST o IVA, costes de fabricación, primas de los comerciantes y el efecto de la oferta y la demanda locales, y pueden referirse a una pureza menor o a una fijación anterior.
¿Qué divisas locales están disponibles?
57 divisas, entre ellas INR, PKR, BDT y LKR en el sur de Asia; AED, SAR, QAR, KWD, BHD y OMR en el Golfo; y TRY, EGP, EUR y GBP. Cualquiera de ellas sirve como base, y /api/v1/symbols devuelve la lista completa sin contar para tu cuota.
¿Con qué frecuencia se actualiza el precio del oro por gramo?
Con la frecuencia que permita tu plan: a diario en Free, cada 30 minutos en Lite, cada 10 minutos en Standard, cada 60 segundos en Advanced y Pro, cada 15 segundos en Ultra y Business, y cada 5 segundos en Enterprise. Durante el fin de semana, el precio se mantiene en el cierre del viernes.
¿Puedo obtener el precio del oro de 22K o 21K por gramo en mi divisa?
Sí. En los planes de pago, /carat con carat=22, carat=21 o carat=all, más unit=gram y tu base, devuelve precios por quilate ya calculados. En Free, multiplica el precio por gramo de 24K por K ÷ 24.
Pruébalo con tus propios datos
Crea una cuenta gratuita y haz tu primera solicitud en menos de dos minutos. 100 solicitudes al mes, sin tarjeta de crédito.
Sigue leyendo
Qué significa XAU/USD: los códigos XAU, XAG, XPT y XPD
Qué significa XAU/USD: por qué el oro tiene un código de divisa ISO 4217, qué son XAG, XPT y XPD y cómo leer el sentido de las cotizaciones y datos de API.
API gratuita de precios del oro: qué dan 100 solicitudes al mes
Una API gratuita de precios del oro explicada con honestidad: qué incluye el plan Free de MetalAPI, cómo aprovechar 100 solicitudes al mes y cuándo cambiar.
API de precios del oro en Python: consulta, caché y gráficos
Usa una API de precios del oro en Python: obtén precios en tiempo real con requests, gestiona errores y reintentos, usa caché y grafica una serie con pandas.