Busca una API de precio del oro en Reddit y el hilo siempre tiene la misma forma. Alguien está construyendo un panel de datos, una alerta de precio, un bot de trading o una tienda que cotiza metales preciosos, y necesita un precio del oro en tiempo real que pueda consultar desde código. Antes de integrar nada, hacen las mismas preguntas en r/algotrading, r/webdev y r/golang: ¿hay nivel gratuito?, ¿qué tan fresco es el dato?, ¿cuáles son los límites?, ¿puedo usarlo comercialmente?, ¿puedo confiar en los datos?
Este artículo responde esas preguntas directamente, usando goldprice.dev como ejemplo práctico. No hace falta registrarse para leerlo, y la primera llamada a la API que aparece abajo funciona sin clave.
Qué es goldprice.dev y qué no es
Es una API de precios de materias primas para desarrolladores: oro, plata y cobre, a través de un único endpoint REST autenticado en https://api.goldprice.dev. Cada respuesta incluye un indicador validado de obsolescencia cruzada, y puedes pedir precios por fuente con sus marcas temporales o una cifra de divergencia con ?include=, para que tu código sepa cuándo una fuente se está rezagando en lugar de fallar silenciosamente. El servidor MCP está disponible en todos los planes, incluyendo el gratuito.
No es una correduría ni un feed de liquidación. Los precios son datos de referencia indicativos, publicados para visualización, análisis y alertas. Si necesitas una cotización ejecutable para liquidar una operación, ninguna API pública de precio del oro es la herramienta adecuada, esta incluida.
¿Hay nivel gratuito?
Sí, y no requiere tarjeta. El plan gratuito da 1.000 llamadas al mes a 30 peticiones por minuto, con acceso al precio spot en vivo del oro (XAU). Los planes de pago añaden plata y cobre, datos de liquidación de futuros, límites más altos y derechos comerciales:
| Plan | Precio | Llamadas / mes | Qué añade |
|---|
| Free | $0 | 1.000 | Spot XAU, MCP, sin tarjeta |
| Physical | $10/mes | 20.000 | + futuros de oro, precios de distribuidores por país |
| Pro | $30/mes | 100.000 | + plata, cobre, 30 años de historial diario, uso comercial |
| Realtime Pro | $80/mes | 1.000.000 | + stream de ticks WebSocket XAU/XAG y canales physical |
¿Con qué frecuencia se actualiza el precio?
El precio spot en vivo es un oráculo de actualización continua, no una instantánea diaria. Los valores de liquidación de futuros se actualizan según el calendario de liquidación del mercado. El punto de la API es que nunca tienes que adivinar cuál de los dos estás viendo: cada respuesta incluye computed_at y activa is_stale cuando un valor es más antiguo que su ventana de actualización esperada, y ?include=sources desglosa eso en una marca temporal por fuente cuando la necesites. Lees la frescura directamente del payload en lugar de confiar en una etiqueta genérica de "tiempo real".
¿Cuáles son los límites de tasa?
El plan gratuito permite 30 peticiones por minuto; los planes de pago llegan a 120 y 500. Cada respuesta devuelve la cabecera estándar X-RateLimit-Remaining, por lo que el patrón correcto es leer esa cabecera y reducir la velocidad cuando se acerca a cero, en lugar de hacer polling ciego y recibir errores 429. Para la mayoría de las aplicaciones, una caché del lado del cliente con TTL ajustado a la frecuencia real de cambio del valor subyacente es suficiente para mantenerse bien dentro del plan gratuito.
¿Cómo me autentico?
Con un token bearer. Las claves tienen el prefijo ga_live_ y van en la cabecera Authorization. También existe una superficie anónima, limitada a 100 peticiones por hora por IP, que devuelve la misma respuesta reducida por defecto que una llamada autenticada (precio, bid, ask y los campos de obsolescencia) para que puedas probar antes de registrarte. Autenticarse no cambia esa respuesta por defecto, pero desbloquea ?include=stats con apertura, máximo, mínimo, cierre anterior, variación y los campos de divergencia entre fuentes — ?include=sources e ?include=karat están disponibles en ambos casos.
¿Puedo ver de dónde viene el número?
Sí, y esta es la parte que la mayoría de las APIs ocultan. Añade ?include=sources y la respuesta incluye un array sources[], una fila por fuente upstream, cada una con su propio precio y marca temporal. Cuando las fuentes no coinciden, ?include=stats (autenticado) incluye divergence_bps y un divergence_flag, para que puedas definir tu propia tolerancia en lugar de confiar en un número combinado sin procedencia. Si estás construyendo algo donde un precio incorrecto tiene coste, esa visibilidad es la razón para usar una API estructurada en lugar de hacer scraping de una página web.
¿Puedo usarlo comercialmente?
Los planes Free y Physical son para uso personal y de evaluación. El uso comercial —mostrar el precio en un producto que distribuyes— empieza en el plan Pro y requiere atribución. Si vas a mostrar un precio del oro ante tus propios usuarios, Pro es el mínimo.
¿Puede usarlo mi agente LLM?
Sí. El servidor MCP está incluido en todos los planes, incluido el gratuito. Añades un bloque de configuración a Claude, Cursor o cualquier runtime compatible con MCP y el agente obtiene el precio en vivo directamente, sin código de herramienta escrito a mano. Los datos son los mismos que sirve la API REST. Hay una guía completa del MCP si quieres los detalles de configuración.
La llamada más corta
Sin clave, sin dependencias:
curl https://api.goldprice.dev/v1/prices?symbol=XAU-USD-SPOT
Recibes JSON con el precio, bid, ask y un indicador de obsolescencia. Esa única llamada es suficiente para poner un precio del oro en vivo y honesto en lo que estés construyendo. Añade ?include=karat para un desglose por gramo según quilate o ?include=sources para las fuentes contribuyentes. Cuando quieras la respuesta completa y límites más altos, una clave gratuita tarda un minuto.
Para la versión específica por lenguaje, Fetch live gold prices in JavaScript cubre el camino REST de extremo a extremo, y Caching gold prices and staying inside rate limits cubre cómo hacerlo a escala.