API de preço do ouro grátis: o que 100 requisições por mês fazem
Uma API de preço do ouro grátis, sem exageros: o que o plano Free da MetalAPI inclui, como render 100 requisições por mês com cache e lotes, e quando migrar.
O que uma API de preço do ouro grátis consegue fazer na prática?
Uma API de preço do ouro grátis é o caminho mais rápido para colocar preços reais do ouro em um protótipo, um site pessoal ou um relatório interno sem precisar de um pedido de compra. Também é fácil esperar demais dela. Os planos gratuitos existem para que você possa desenvolver e testar uma integração e rodar cargas pequenas que precisam de um preço uma vez por dia. Eles não foram feitos para alimentar um checkout que precisa acompanhar o mercado minuto a minuto.
Este artigo descreve o plano Free da MetalAPI como ele é, incluindo o que fica de fora. Em seguida, mostra como fazer 100 requisições por mês renderem uma quantidade surpreendente de trabalho e como perceber quando o plano já não atende. Se você está comparando vários fornecedores, o checklist perto do final vale para qualquer API de metais gratuita.
O que está incluído no plano gratuito da MetalAPI?
O plano Free não custa nada e não exige cartão de crédito. Em resumo:
| Recurso | Plano Free |
|---|---|
| Preço | US$ 0, sem cartão de crédito |
| Requisições | 100 por mês, zeradas no dia 1º às 00:00 UTC |
| Limite por minuto | 10 requisições por minuto |
| Atualização dos preços | Diária: um snapshot à meia-noite UTC |
| Símbolos | Todos os 83: ouro, prata, platina, paládio, metais industriais, energia, 57 moedas e 13 criptomoedas |
| Endpoints | /latest, dias históricos, /convert, /timeframe, /change e /ohlc |
| Histórico | Completo: metais e energia desde 2000, moedas desde 1999, cripto desde 2014 |
| Período por requisição | Até 30 dias para /timeframe e /change |
| Moedas e unidades | Qualquer base e qualquer unit, como em todos os planos |
| Widgets | 1 widget incorporável; as visualizações de página dele não usam a sua cota |
| Suporte | Suporte da comunidade |
Alguns recursos exigem um plano pago:
- Preços do ouro por quilate via
/carat: a partir do Lite. No Free, você ainda pode calcular os preços por quilate a partir do preço do ouro 24K. - Preços de compra e venda (bid e ask), como
XAU-BIDeXAU-ASK: a partir do Standard. - Alertas de preço: por e-mail a partir do Lite, por webhook a partir do Advanced.
- Streaming em tempo real via Server-Sent Events: a partir do Pro.
- SLA de disponibilidade: Business e Enterprise.
Uma requisição à API para algo fora do seu plano retorna o erro 106 (plan_restriction) com uma upgrade_url, e essa requisição não é cobrada. O plano Free também funciona com o servidor MCP da MetalAPI, então um assistente de IA pode consultar preços do ouro usando a sua cota gratuita, com a mesma atualização diária.
Com que frequência uma API de preço do ouro grátis é atualizada?
A linha mais importante dessa tabela é o intervalo de atualização. No Free, a API tira um snapshot dos preços por dia, à meia-noite UTC, e toda requisição a /latest até a meia-noite seguinte retorna esse snapshot. Uma resposta tem esta aparência, com os valores de exemplo da documentação da MetalAPI:
{
"success": true,
"timestamp": 1792713600,
"date": "2026-10-23",
"base": "USD",
"rates": {
"XAU": 0.0002501319446,
"USDXAU": 3997.89
},
"rate_limit": {
"limit": 100,
"remaining": 99,
"reset": 1793491200,
"used": 1,
"plan": "Free",
"reset_date": "2026-11-01T00:00:00.000Z"
}
}USDXAU é o preço de uma onça troy de ouro em dólares, e XAU é o seu inverso. timestamp é o horário dos dados, aqui 00:00 UTC de 23 de outubro de 2026, e o bloco rate_limit mostra quanto resta da cota do mês.
Disso decorrem duas consequências. Primeiro, chamar /latest mais de uma vez por dia no Free gasta cota sem nunca retornar um preço mais recente. Segundo, o Free serve para as tarefas em que um preço diário é o preço certo:
- Avaliação diária de posições, estoque ou de uma carteira.
- Relatórios de fim de dia, newsletters e painéis internos.
- Contabilidade e faturas que precisam do preço do ouro de um determinado dia.
- Protótipos, projetos de estudantes e aprender a API antes de escolher um plano.
Ele não serve para uma loja que reprecifica produtos de ouro ao longo do dia, para uma tela de trading nem para nada que prometa aos clientes um preço ao vivo.
Até onde vão 100 requisições por mês?
Toda chamada bem-sucedida a um endpoint de dados conta como uma requisição, não importa quantos símbolos ela retorne. É essa regra que torna viável uma cota pequena. Um orçamento mensal realista para um site pequeno:
| Tarefa | Requisições por mês |
|---|---|
| Preços mais recentes de todos os símbolos que você exibe, buscados uma vez por dia | 28–31 |
| Um ano de histórico diário do ouro, um mês do calendário por requisição (uma vez) | 12 |
| Consultas históricas, por exemplo o preço na data de uma fatura | 10–20 |
| Desenvolvimento e testes | O que sobrar, cerca de 35 |
Compare isso com padrões que não cabem:
- Atualizar a cada hora: cerca de 744 requisições por mês, para um preço que muda uma vez por dia.
- Uma requisição por metal por dia para ouro, prata, platina e paládio: cerca de 124, quando uma requisição combinada custa 31.
- Chamar a API pelo navegador a cada visualização de página: cem visitas esgotam o mês.
Sete formas de fazer uma cota gratuita render mais
- Peça todos os símbolos em uma só chamada.
currencies=XAU,XAG,XPT,XPD,EUR,GBPcusta uma requisição. Omitircurrenciesretorna todos os símbolos, também por uma requisição. - Faça cache até a próxima meia-noite UTC. No Free, não há nada mais recente para buscar antes disso. Guarde a última resposta válida e sirva-a se uma chamada falhar.
- Converta localmente. Gramas e quilogramas são múltiplos exatos da onça troy (1 onça troy = 31,1034768 g), e as taxas cruzadas saem de um único snapshot: o ouro em euros é
USDXAU÷USDEUR. Uma requisição em dólares por onça pode alimentar todas as unidades e moedas que você exibe. - Armazene o histórico uma vez. Preços de fechamento passados nunca mudam. Busque um período uma vez, guarde-o em um banco de dados ou arquivo e solicite apenas os dias novos.
- Valide antes de enviar. Erros de validação (códigos
201a210) e300(sem resultados) contam como requisições. Verifique datas e símbolos antes;/symbolslista todos os códigos válidos e nunca conta para a cota. - Mantenha as chamadas no servidor. Uma chave no código do navegador fica visível para todos e gasta uma requisição por visitante. Busque no servidor e sirva o resultado em cache, ou incorpore um widget, cujas visualizações de página não usam a sua cota.
- Acompanhe o contador. Toda resposta traz o bloco
rate_limite os cabeçalhosX-RateLimit-*, e/usageretorna os mesmos números sem ser cobrado. Rejeições por limite de taxa (104), restrição de plano (106), origem (107) e erros do servidor também não são cobradas, então tentar de novo nesses casos não custa nada.
Juntando tudo, o núcleo de uma integração no Free é uma única tarefa agendada. Este script Node.js roda uma vez por dia logo após a meia-noite UTC, faz uma única requisição e grava os preços de ouro, prata, platina e paládio por onça e por grama em três moedas em um arquivo JSON que as suas páginas leem:
// Execute uma vez por dia após 00:00 UTC, por exemplo com cron: 5 0 * * * (relógio do servidor em UTC)
import { writeFile } from "node:fs/promises";
const GRAMS_PER_TROY_OZ = 31.1034768;
const METALS = ["XAU", "XAG", "XPT", "XPD"];
const CURRENCIES = ["EUR", "GBP"];
const params = new URLSearchParams({ base: "USD", currencies: [...METALS, ...CURRENCIES].join(",") });
const res = await fetch(`https://metalapi.com/api/v1/latest?${params}`, {
headers: { "X-API-Key": process.env.METALAPI_KEY },
signal: AbortSignal.timeout(10_000),
});
const data = await res.json();
if (!data.success) {
// Mantém o arquivo de ontem, para que as páginas continuem exibindo os últimos preços válidos.
throw new Error(`MetalAPI ${data.error.code} (${data.error.type}): ${data.error.info}`);
}
const prices = {};
for (const metal of METALS) {
const usdPerOz = data.rates[`USD${metal}`];
prices[metal] = {};
for (const cur of ["USD", ...CURRENCIES]) {
const perOz = cur === "USD" ? usdPerOz : usdPerOz / data.rates[`USD${cur}`];
prices[metal][cur] = { perOz, perGram: perOz / GRAMS_PER_TROY_OZ };
}
}
await writeFile("prices.json", JSON.stringify({ asOf: data.timestamp, prices }, null, 2));
console.log(`Saved. ${data.rate_limit.remaining} requests left this month.`);Com uma execução por dia, a tarefa usa de 28 a 31 requisições por mês e deixa o resto para histórico e testes. Em plataformas serverless, grave o resultado em um armazenamento chave-valor ou no cache de dados do seu framework, em vez de em um arquivo.
Para o histórico, o limite de 30 dias por período significa uma requisição por mês do calendário: um ano de preços diários do ouro custa 12 requisições. Preços históricos de ouro e prata via API traz um script de backfill e dicas de armazenamento; no Free, troque as janelas anuais por meses do calendário.
Como avaliar qualquer API de preço do ouro grátis
Se você está comparando APIs de metais gratuitas, os números de destaque dizem menos que os detalhes. Vale a pena responder a estas perguntas para qualquer fornecedor, inclusive nós:
- Quão recentes são os dados gratuitos? Em tempo real, com atraso ou diários, e cada resposta informa de quando são os preços?
- O que conta como requisição? Uma chamada para vários símbolos ou uma por símbolo? Chamadas com falha ou rejeitadas são cobradas?
- Quais endpoints estão incluídos? Só os preços mais recentes, ou também histórico, conversão e séries temporais?
- Quanto histórico, e em que fatias? Até quando os dados retrocedem e quantos dias uma requisição de período pode cobrir.
- Unidades e moedas. Gramas, quilogramas e a sua moeda local, ou apenas onças troy em dólares americanos?
- Termos de uso. Os dados podem aparecer em um site comercial, e o que fica excluído?
- O que acontece no limite? Um bloqueio com um erro claro, ou cobranças automáticas? Com que rapidez um upgrade entra em vigor?
- Tratamento da chave. A chave pode ir em um cabeçalho em vez de na URL, onde acaba parando em logs?
Depois, faça um teste prático curto com os seus próprios símbolos e moedas; uma chave gratuita basta para isso. Como escolher uma API de preços de metais preciosos transforma essas perguntas em um checklist completo com um modelo de comparação.
Para a MetalAPI, as respostas estão acima e na documentação: snapshots diários com timestamp no Free; uma requisição por chamada, não importa quantos símbolos ela retorne; rejeições por limite de taxa, plano, origem e erro do servidor não são cobradas; histórico, conversão e séries temporais incluídos; qualquer unidade e qualquer uma das 57 moedas; uso dos dados nos seus próprios sites, apps e relatórios, inclusive exibindo preços aos seus usuários, mas sem redistribuição do feed bruto; um bloqueio com o erro 105 ao atingir a cota e nenhuma cobrança por excedente; chaves em um cabeçalho ou na query string.
Quando migrar do plano gratuito
O plano Free basta enquanto um preço diário for o preço certo e 100 requisições cobrirem o seu mês. Estes são os sinais habituais de que ele já não basta:
| Você precisa de | Menor plano que oferece | Preço / mês |
|---|---|---|
| Preços atualizados mais de uma vez por dia | Lite: a cada 30 minutos | US$ 4,99 |
| Mais de 100 requisições por mês | Lite: 1.000 requisições | US$ 4,99 |
| Períodos de mais de 30 dias por requisição | Lite: 365 dias | US$ 4,99 |
Preços por quilate via /carat, alertas por e-mail | Lite | US$ 4,99 |
| Preços a cada 10 minutos, bid e ask | Standard | US$ 11,99 |
| Preços a cada minuto, alertas por webhook | Advanced | US$ 24,99 |
| Streaming em tempo real | Pro | US$ 49,99 |
| Um SLA de disponibilidade | Business | US$ 149,99 |
Os upgrades entram em vigor imediatamente, então uma chave que atingiu o erro 105 (quota_exceeded) volta a funcionar assim que você muda de plano; caso contrário, ela espera a renovação no dia 1º. O pagamento anual economiza até 25%. A página de preços traz os preços atuais e a comparação completa, e Limites de taxa e planos explica em detalhes as cotas e os limites por minuto.
A forma mais rápida de descobrir se o Free basta para o seu projeto é testá-lo. Crie uma conta grátis, copie a sua chave de API no painel e faça a sua primeira requisição com o guia de primeiros passos. Não é preciso cartão de crédito, e você pode mudar para um plano pago sempre que o seu projeto precisar de preços mais recentes.
Perguntas frequentes
Existe uma API de preço do ouro totalmente gratuita?
Sim. O plano Free da MetalAPI não custa nada, não exige cartão de crédito e inclui ouro, prata, platina, paládio e todos os outros símbolos, com 100 requisições por mês e preços atualizados uma vez por dia.
Com que frequência o plano gratuito atualiza os preços do ouro?
Uma vez por dia. O plano Free vê um snapshot tirado à meia-noite UTC, e toda requisição até a meia-noite seguinte retorna os mesmos preços. Os planos pagos atualizam a cada 30 minutos no Lite e a cada 5 segundos no Enterprise.
Posso usar uma API de preço do ouro grátis em um site comercial?
Com a MetalAPI, sim. Os dados podem ser usados nos seus próprios sites, apps, sistemas internos e relatórios, inclusive exibindo preços aos seus usuários. Redistribuir o feed bruto, por exemplo oferecendo-o como sua própria API, exige um contrato separado por escrito.
O que acontece quando eu esgoto as 100 requisições?
As requisições seguintes retornam o erro 105 (quota_exceeded) com status HTTP 429 até a cota ser renovada no dia 1º do mês, às 00:00 UTC. Não há cobranças automáticas por excedente, e fazer upgrade remove o limite na hora.
O plano gratuito inclui preços históricos do ouro?
Sim. Chaves gratuitas podem consultar todo o histórico, desde 2000 para o ouro, e podem usar /timeframe e /change com períodos de até 30 dias por requisição.
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
Significado de XAU/USD: o que são XAU, XAG, XPT e XPD
O significado de XAU/USD: por que o ouro tem um código de moeda ISO 4217, o que XAG, XPT e XPD representam e como ler a direção das cotações em preços e APIs.
API de preços do ouro em Python: consulta, cache e gráficos
API de preços do ouro em Python: cotações ao vivo com requests, tratamento de erros e novas tentativas, cache e gráficos de séries do pandas com matplotlib.
API de preços do ouro em JavaScript: Node.js, TypeScript e Next.js
Obtenha o preço do ouro em JavaScript com uma API: fetch com async/await, tipos TypeScript, uma rota Express ou Next.js com cache e uso seguro da chave de API.