Бесплатный API цен на золото: что дают 100 запросов в месяц
Бесплатный API цен на золото без прикрас: что даёт тариф Free MetalAPI, как растянуть 100 запросов в месяц с помощью кеша и объединения запросов и когда менять тариф.
На что реально способен бесплатный 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):
{
"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 из браузера при каждом просмотре страницы: сотня посещений исчерпает месячную квоту.
Семь способов растянуть бесплатную квоту
- Запрашивайте все символы одним вызовом.
currencies=XAU,XAG,XPT,XPD,EUR,GBPстоит один запрос. Если не указыватьcurrencies, вернутся все символы — тоже за один запрос. - Кешируйте до следующей полуночи по UTC. На Free до этого момента получать нечего. Сохраняйте последний успешный ответ и отдавайте его, если вызов не удался.
- Пересчитывайте локально. Граммы и килограммы — точные кратные тройской унции (1 тройская унция = 31,1034768 г), а кросс-курсы берутся из одного снимка: золото в евро — это
USDXAU÷USDEUR. Один запрос в долларах за унцию может обеспечить данными все отображаемые единицы и валюты. - Сохраняйте историю один раз. Прошлые цены закрытия никогда не меняются. Загрузите диапазон один раз, сохраните его в базе данных или файле и запрашивайте только новые дни.
- Проверяйте параметры перед отправкой. Ошибки валидации (коды от
201до210) и300(нет результатов) считаются запросами. Сначала проверьте даты и символы;/symbolsперечисляет все допустимые коды и никогда не расходует квоту. - Вызывайте API на сервере. Ключ в браузерном коде виден всем и тратит запрос на каждого посетителя. Получайте данные на сервере и отдавайте результат из кеша или встройте виджет, просмотры которого не расходуют квоту.
- Следите за счётчиком. Каждый ответ содержит блок
rate_limitи заголовкиX-RateLimit-*, а/usageвозвращает те же числа и не тарифицируется. Отказы из-за лимитов частоты (104), ограничений тарифа (106), источников запросов (107) и ошибки сервера тоже не тарифицируются, поэтому повторять такие запросы ничего не стоит.
В итоге основа интеграции на тарифе Free — одна задача по расписанию. Этот скрипт на Node.js запускается раз в день вскоре после полуночи по UTC, делает один запрос и записывает цены золота, серебра, платины и палладия за унцию и за грамм в трёх валютах в JSON-файл, который читают ваши страницы:
// 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, оповещения по электронной почте | Lite | 4,99 $ |
| Цены каждые 10 минут, bid и ask | Standard | 11,99 $ |
| Цены каждую минуту, оповещения через вебхуки | Advanced | 24,99 $ |
| Потоковая передача в реальном времени | Pro | 49,99 $ |
| SLA по доступности | Business | 149,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 запросов в месяц, без банковской карты.
Читайте также
Что означает XAU/USD: коды XAU, XAG, XPT и XPD
Что означает XAU/USD: почему у золота есть валютный код ISO 4217, что обозначают XAG, XPT и XPD и как читать направление котировки в ценах и данных API.
API цен на золото на Python: запросы, кэш и графики
API цен на золото на Python: актуальные цены через requests, обработка ошибок и повторов, кэширование ответов и график временного ряда в pandas и matplotlib.
API цен на золото на JavaScript: Node.js, TypeScript и Next.js
Цена золота в JavaScript через API: fetch с async/await, типы ответа в TypeScript, кэширующий маршрут на Express или Next.js и безопасная работа с ключом API.