BlogDesarrolladores

Precio del oro por gramo con Python (24K, 22K y 18K)

Obtén el precio del oro por gramo con Python para 24K, 22K y 18K, sin clave API y con cálculos monetarios seguros mediante Decimal.

22 sept 2026 · 2 min de lectura

Precio del oro por gramo con Python (24K, 22K y 18K)

Si tu aplicación necesita el precio del oro por gramo, solicita directamente la escala de pureza al endpoint público `/v1/carat`. Una petición devuelve valores para 24K, 22K, 21K, 20K, 18K, 16K, 14K y 10K en la moneda elegida. No hace falta clave API para probarlo.

Obtener el precio por gramo con Python

Este ejemplo usa únicamente la biblioteca estándar y convierte los precios a Decimal para evitar errores de coma flotante.

Python
import jsonfrom decimal import Decimalfrom urllib.parse import urlencodefrom urllib.request import Request, urlopenurl = "https://api.goldprice.dev/v1/carat?" + urlencode({"currency": "EUR"})with urlopen(Request(url, headers={"Accept": "application/json"}), timeout=10) as response:    payload = json.load(response)prices = {    "currency": payload["currency"],    "timestamp": payload["timestamp"],    "24k": Decimal(payload["price_gram_24k"]),    "22k": Decimal(payload["price_gram_22k"]),    "18k": Decimal(payload["price_gram_18k"]),}

Cambia EUR por USD, GBP, INR, IDR, AED, JPY u otra moneda compatible. Conserva también timestamp: indica cuándo se observó el precio.

Calcular el valor de una pieza

Para una pieza de 12,5 gramos y 18K, multiplica el precio de 18K por el peso y redondea una sola vez el resultado final:

Python
from decimal import Decimal, ROUND_HALF_UPweight = Decimal("12.5")value = (weight * prices["18k"]).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)

El endpoint ya expresa cada valor por gramo con la precisión de la unidad monetaria solicitada. El resultado es el valor indicativo del contenido de oro, no el precio minorista ni la oferta de recompra. Mano de obra, gemas, impuestos, primas y descuentos se calculan aparte.

Cómo se realiza la conversión

La API convierte XAU a la moneda elegida, divide el precio por onza troy entre 31.1034768 y multiplica por la fracción de pureza: 22 / 24 para 22K o 18 / 24 para 18K.

Lista de producción

  • Mantén los importes como Decimal.
  • Guarda el timestamp con el valor.
  • Almacena respuestas correctas según la frescura necesaria.
  • No sustituyas un fallo por cero ni por una hora nueva.
  • Describe el resultado como indicativo, no como precio de liquidación.
  • Guarda la clave de cuenta solo en el servidor.

Consulta el contrato completo del endpoint o usa la API histórica para datos OHLC diarios.

Precios del oro en tiempo real, OHLC histórico y agregación multi-fuente, disponible via REST y SSE.

Sigue leyendo

Empieza con una clave API gratis

5.000 solicitudes al mes en el plan gratuito. Sin tarjeta de crédito.

Obtén una clave gratis