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 644,51−0,16 %ETH2 354,44−0,06 %
Все статьи
ЗолотоAPIРуководство

Бесплатный API цен на золото: что дают 100 запросов в месяц

Бесплатный API цен на золото без прикрас: что даёт тариф Free MetalAPI, как растянуть 100 запросов в месяц с помощью кеша и объединения запросов и когда менять тариф.

Автор: MetalAPI Team··9 мин чтения

На что реально способен бесплатный API цен на золото?

Бесплатный API цен на золото — самый быстрый способ добавить реальные цены на золото в прототип, любительский сайт или внутренний отчёт, не оформляя закупку. От него также легко ожидать слишком многого. Бесплатные тарифы существуют для того, чтобы вы могли создать и протестировать интеграцию и запускать небольшие задачи, которым цена нужна раз в день. Они не рассчитаны на оформление заказов, которое должно поминутно следовать за рынком.

В этой статье тариф Free MetalAPI описан таким, какой он есть, включая то, чего в нём нет. Затем показано, как с помощью 100 запросов в месяц выполнить удивительно большой объём работы и как понять, что вы из него выросли. Если вы сравниваете нескольких поставщиков, чек-лист в конце статьи подходит для любого бесплатного API цен на металлы.

Что входит в бесплатный тариф MetalAPI?

Тариф Free ничего не стоит и не требует банковской карты. Кратко:

ВозможностьТариф Free
Цена0 $, без банковской карты
Запросы100 в месяц, сброс 1-го числа в 00:00 UTC
Лимит в минуту10 запросов в минуту
Обновление ценЕжедневно: один снимок в полночь по UTC
СимволыВсе 83: золото, серебро, платина, палладий, промышленные металлы, энергоносители, 57 валют и 13 криптовалют
Эндпоинты/latest, исторические дни, /convert, /timeframe, /change и /ohlc
ИсторияПолная: металлы и энергоносители с 2000 года, валюты с 1999 года, криптовалюты с 2014 года
Диапазон на запросДо 30 дней для /timeframe и /change
Валюты и единицыЛюбые base и unit, как на всех тарифах
Виджеты1 встраиваемый виджет; его просмотры не расходуют квоту
ПоддержкаПоддержка сообщества

Для некоторых возможностей нужен платный тариф:

  • Цены на золото по каратам из /carat: Lite и выше. На Free цены по каратам можно рассчитать самостоятельно на основе цены 24K.
  • Цены bid и ask, например XAU-BID и XAU-ASK: Standard и выше.
  • Ценовые оповещения: по электронной почте — начиная с Lite, через вебхуки — начиная с Advanced.
  • Потоковая передача в реальном времени через Server-Sent Events: Pro и выше.
  • SLA по доступности: Business и Enterprise.

Запрос к API за тем, что не входит в ваш тариф, возвращает ошибку 106 (plan_restriction) с полем upgrade_url, и такой запрос не тарифицируется. Тариф Free также работает с MCP-сервером MetalAPI, поэтому ИИ-ассистент может узнавать цены на золото в рамках вашей бесплатной квоты с той же ежедневной актуальностью.

Как часто обновляется бесплатный API цен на золото?

Самая важная строка в этой таблице — интервал обновления. На Free API делает один снимок цен в день, в полночь по UTC, и каждый запрос /latest до следующей полуночи возвращает этот снимок. Ответ выглядит так (примерные значения из документации MetalAPI):

Пример ответа на тарифе Free
{
  "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 — цена одной тройской унции золота в долларах, а XAU — обратная величина. timestamp — время данных, здесь 00:00 UTC 23 октября 2026 года, а блок rate_limit показывает, сколько осталось от месячной квоты.

Из этого следуют два вывода. Во-первых, если вызывать /latest на Free чаще раза в день, квота расходуется, а более свежая цена так и не появляется. Во-вторых, Free подходит для задач, где цена раз в день — именно то, что нужно:

  • Ежедневная оценка активов, складских запасов или портфеля.
  • Отчёты на конец дня, рассылки и внутренние дашборды.
  • Бухгалтерия и счета, которым нужна цена золота на определённую дату.
  • Прототипы, студенческие проекты и знакомство с API перед выбором тарифа.

Он не подходит для магазина, который пересчитывает цены на золотые изделия в течение дня, для торгового терминала или для чего-либо, что обещает клиентам актуальную цену.

На сколько хватает 100 запросов в месяц?

Каждый успешный вызов эндпоинта данных считается одним запросом, сколько бы символов он ни вернул. Именно это правило делает небольшую квоту рабочей. Реалистичный месячный бюджет для небольшого сайта:

ЗадачаЗапросов в месяц
Последние цены всех отображаемых символов, раз в день28–31
Год ежедневной истории цен на золото, по одному календарному месяцу на запрос (однократно)12
Исторические запросы, например цена на дату счёта10–20
Разработка и тестированиеОстаток, около 35

Сравните это со схемами, которые в квоту не укладываются:

  • Обновление каждый час: около 744 запросов в месяц ради цены, которая меняется раз в день.
  • Отдельный запрос в день для каждого металла — золота, серебра, платины и палладия: около 124, тогда как один общий запрос обходится в 31.
  • Вызов API из браузера при каждом просмотре страницы: сотня посещений исчерпает месячную квоту.

Семь способов растянуть бесплатную квоту

  1. Запрашивайте все символы одним вызовом. currencies=XAU,XAG,XPT,XPD,EUR,GBP стоит один запрос. Если не указывать currencies, вернутся все символы — тоже за один запрос.
  2. Кешируйте до следующей полуночи по UTC. На Free до этого момента получать нечего. Сохраняйте последний успешный ответ и отдавайте его, если вызов не удался.
  3. Пересчитывайте локально. Граммы и килограммы — точные кратные тройской унции (1 тройская унция = 31,1034768 г), а кросс-курсы берутся из одного снимка: золото в евро — это USDXAU ÷ USDEUR. Один запрос в долларах за унцию может обеспечить данными все отображаемые единицы и валюты.
  4. Сохраняйте историю один раз. Прошлые цены закрытия никогда не меняются. Загрузите диапазон один раз, сохраните его в базе данных или файле и запрашивайте только новые дни.
  5. Проверяйте параметры перед отправкой. Ошибки валидации (коды от 201 до 210) и 300 (нет результатов) считаются запросами. Сначала проверьте даты и символы; /symbols перечисляет все допустимые коды и никогда не расходует квоту.
  6. Вызывайте API на сервере. Ключ в браузерном коде виден всем и тратит запрос на каждого посетителя. Получайте данные на сервере и отдавайте результат из кеша или встройте виджет, просмотры которого не расходуют квоту.
  7. Следите за счётчиком. Каждый ответ содержит блок rate_limit и заголовки X-RateLimit-*, а /usage возвращает те же числа и не тарифицируется. Отказы из-за лимитов частоты (104), ограничений тарифа (106), источников запросов (107) и ошибки сервера тоже не тарифицируются, поэтому повторять такие запросы ничего не стоит.

В итоге основа интеграции на тарифе Free — одна задача по расписанию. Этот скрипт на Node.js запускается раз в день вскоре после полуночи по UTC, делает один запрос и записывает цены золота, серебра, платины и палладия за унцию и за грамм в трёх валютах в JSON-файл, который читают ваши страницы:

daily-prices.mjs
// Run once a day after 00:00 UTC, e.g. with cron: 5 0 * * *  (server clock on 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) {
  // Leave yesterday's file in place, so pages keep showing the last good prices.
  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.`);

При одном запуске в день задача расходует от 28 до 31 запроса в месяц, а остальное остаётся для истории и тестирования. На бессерверных платформах записывайте результат не в файл, а в хранилище «ключ — значение» или в кеш данных вашего фреймворка.

Для истории ограничение диапазона в 30 дней означает один запрос на календарный месяц: год ежедневных цен на золото требует 12 запросов. В статье «Исторические цены на золото и серебро через API» есть скрипт загрузки истории и советы по хранению; на Free замените в нём годовые окна на календарные месяцы.

Как оценить любой бесплатный API цен на золото

Если вы сравниваете бесплатные API цен на металлы, главные цифры говорят меньше, чем детали. На эти вопросы стоит ответить для любого поставщика, включая нас:

  • Насколько свежи бесплатные данные? Реальное время, задержка или раз в день — и указывает ли каждый ответ, к какому моменту относятся цены?
  • Что считается запросом? Один вызов для многих символов или по одному на символ? Тарифицируются ли неудачные или отклонённые вызовы?
  • Какие эндпоинты включены? Только последние цены или также история, конвертация и временные ряды?
  • Какая глубина истории и какими порциями? Насколько далеко в прошлое уходят данные и сколько дней может охватывать один запрос диапазона.
  • Единицы и валюты. Граммы, килограммы и ваша местная валюта или только тройские унции в долларах США?
  • Условия использования. Можно ли показывать данные на коммерческом сайте и что исключено?
  • Что происходит при достижении лимита? Жёсткая остановка с понятной ошибкой или автоматические списания? Как быстро вступает в силу смена тарифа?
  • Работа с ключом. Можно ли передавать ключ в заголовке, а не в URL, где он попадает в логи?

Затем проведите короткий практический тест со своими символами и валютами — для этого достаточно бесплатного ключа. Статья «Как выбрать API цен на драгоценные металлы» превращает эти вопросы в полный чек-лист с шаблоном для сравнения.

Ответы для MetalAPI приведены выше и в документации: ежедневные снимки с timestamp на Free; один запрос на вызов, сколько бы символов он ни вернул; отказы из-за лимитов частоты, ограничений тарифа, источника запроса и ошибки сервера не тарифицируются; история, конвертация и временные ряды включены; любая единица и любая из 57 валют; данные можно использовать на собственных сайтах, в приложениях и отчётах, в том числе показывать цены пользователям, но распространять исходный поток нельзя; при исчерпании квоты — жёсткая остановка с ошибкой 105 и никаких платежей за превышение; ключ передаётся в заголовке или в строке запроса.

Когда переходить с бесплатного тарифа

Тарифа Free достаточно, пока цена раз в день — именно то, что нужно, а 100 запросов покрывают ваш месяц. Вот обычные признаки того, что это уже не так:

Вам нужноМинимальный тариф с этой возможностьюЦена в месяц
Цены свежее, чем раз в деньLite: каждые 30 минут4,99 $
Больше 100 запросов в месяцLite: 1 000 запросов4,99 $
Диапазоны больше 30 дней на запросLite: 365 дней4,99 $
Цены по каратам из /carat, оповещения по электронной почтеLite4,99 $
Цены каждые 10 минут, bid и askStandard11,99 $
Цены каждую минуту, оповещения через вебхукиAdvanced24,99 $
Потоковая передача в реальном времениPro49,99 $
SLA по доступностиBusiness149,99 $

Смена тарифа вступает в силу сразу, поэтому ключ, получивший ошибку 105 (quota_exceeded), снова работает, как только вы перейдёте на другой тариф; иначе придётся ждать сброса 1-го числа. Годовая оплата экономит до 25%. На странице тарифов указаны актуальные цены и полное сравнение, а руководство «Лимиты запросов и тарифы» подробно объясняет квоты и поминутные лимиты.

Самый быстрый способ понять, достаточно ли Free для вашего проекта, — попробовать. Создайте бесплатный аккаунт, скопируйте ключ API в личном кабинете и отправьте первый запрос с помощью руководства по началу работы. Банковская карта не нужна, а перейти на платный тариф можно в любой момент, когда проекту понадобятся более свежие цены.

Частые вопросы

Существует ли полностью бесплатный API цен на золото?

Да. Тариф Free MetalAPI ничего не стоит, не требует банковской карты и включает золото, серебро, платину, палладий и все остальные символы: 100 запросов в месяц и обновление цен раз в день.

Как часто бесплатный тариф обновляет цены на золото?

Раз в день. На тарифе Free доступен один снимок, сделанный в полночь по UTC, и каждый запрос до следующей полуночи возвращает те же цены. Платные тарифы обновляют цены каждые 30 минут на Lite и вплоть до каждых 5 секунд на Enterprise.

Можно ли использовать бесплатный API цен на золото на коммерческом сайте?

С MetalAPI — да. Данные можно использовать на собственных сайтах, в приложениях, внутренних системах и отчётах, в том числе показывать цены пользователям. Для распространения исходного потока, например в виде собственного API, нужно отдельное письменное соглашение.

Что произойдёт, когда я израсходую 100 запросов?

Последующие запросы возвращают ошибку 105 (quota_exceeded) с HTTP-статусом 429, пока квота не сбросится 1-го числа месяца в 00:00 UTC. Автоматических списаний за превышение нет, а переход на платный тариф сразу снимает ограничение.

Включает ли бесплатный тариф исторические цены на золото?

Да. С бесплатным ключом можно запрашивать всю историю — для золота с 2000 года — и использовать /timeframe и /change с диапазонами до 30 дней на запрос.

Попробуйте на своих данных

Создайте бесплатный аккаунт и отправьте первый запрос меньше чем за две минуты. 100 запросов в месяц, без банковской карты.

Читайте также