API цен на нефть
Котировки Brent, WTI, Urals и природного газа — обычным GET-запросом, в JSON. Один заголовок авторизации, один параметр, никаких SDK-обвязок и терминалов за $2 000 в месяц.
Brent
Мировой эталонUSD за баррель
by_code=BRENT_CRUDE_USD
WTI
Эталон СШАUSD за баррель
by_code=WTI_CRUDE_USD
Эти цифры на странице пришли из того же эндпоинта
GET /v1/prices/latest?by_code=BRENT_CRUDE_USD → $85.84Первый запрос за две минуты
Зарегистрируйтесь, скопируйте ключ из личного кабинета и подставьте его в заголовок Authorization. Всё остальное — обычный HTTP.
curl 'https://api.oilpriceapi.com/v1/prices/latest?by_code=BRENT_CRUDE_USD' \ -H 'Authorization: Token YOUR_API_KEY'
import requests
API_KEY = "YOUR_API_KEY"
response = requests.get(
"https://api.oilpriceapi.com/v1/prices/latest",
headers={"Authorization": f"Token {API_KEY}"},
params={"by_code": "BRENT_CRUDE_USD"},
timeout=10,
)
response.raise_for_status()
data = response.json()["data"]
print(data["code"], data["price"], data["created_at"])const response = await fetch(
"https://api.oilpriceapi.com/v1/prices/latest?by_code=WTI_CRUDE_USD",
{ headers: { Authorization: "Token YOUR_API_KEY" } },
);
if (!response.ok) {
throw new Error("Oil Price API вернул статус " + response.status);
}
const { data } = await response.json();
console.log(data.code, data.price, data.created_at);{
"status": "success",
"data": {
"price": 82.47,
"formatted": "$82.47",
"currency": "USD",
"code": "BRENT_CRUDE_USD",
"type": "spot_price",
"created_at": "2026-07-14T09:35:12Z"
}
}created_at — метка времени самих данных, а не момента ответа. Именно её нужно показывать пользователю: если данные не пришли, честнее вывести прочерк, чем подставить старое или нулевое значение.
Эндпоинты
| Метод и путь | Что возвращает | Параметры |
|---|---|---|
GET /v1/prices/latest | Последняя котировка по товару | by_code |
GET /v1/prices/historical | Исторический ряд с агрегацией по интервалу | by_code, interval |
GET /v1/prices | Котировки за диапазон дат (сырые записи) | by_code, start_date, end_date |
curl 'https://api.oilpriceapi.com/v1/prices/historical?by_code=WTI_CRUDE_USD&interval=daily' \ -H 'Authorization: Token YOUR_API_KEY'
Доступные интервалы: daily, weekly, monthly. Исторические ряды — с 2020 года; подробнее на странице исторических цен на нефть.
Коды товаров
Нефть Brent
BRENT_CRUDE_USDСевероморский эталон, USD за баррель
Нефть WTI
WTI_CRUDE_USDАмериканский эталон, USD за баррель
Нефть Urals
URALS_CRUDE_USDРоссийский экспортный сорт, USD за баррель
Природный газ
NATURAL_GAS_USDHenry Hub, USD за MMBtu
Кроме перечисленных доступны и другие энергетические товары — нефтепродукты, судовое топливо, уголь. Полный перечень кодов и их описание — в документации. Коды регистрозависимы: BRENT_CRUDE_USD, не brent_crude_usd.
Коды ответов и лимиты
| Статус | Значение | Что делать |
|---|---|---|
200 OK | Запрос выполнен | Данные в поле data. Проверьте created_at — это метка времени самих данных, а не момента ответа. |
401 Unauthorized | Ключ отсутствует или неверен | Проверьте заголовок Authorization: он должен иметь вид «Token ВАШ_КЛЮЧ», а не «Bearer». |
402 Payment Required | Исчерпана квота тарифа | Месячный лимит запросов израсходован. Дождитесь начала следующего периода или перейдите на более высокий тариф. |
404 Not Found | Неизвестный код товара | Проверьте значение by_code — коды регистрозависимы, например BRENT_CRUDE_USD. |
429 Too Many Requests | Слишком частые запросы | Снизьте частоту обращений и повторите запрос с экспоненциальной задержкой. Кэшируйте ответ: котировки обновляются раз в 5 минут, чаще опрашивать бессмысленно. |
5xx | Ошибка на стороне сервиса | Повторите запрос позже. Не подставляйте вместо цены ноль или значение по умолчанию — отсутствие данных лучше показать явно. |
Авторизация
Один заголовок: Authorization: Token ВАШ_КЛЮЧ. Ключ выдаётся сразу после регистрации и перевыпускается в личном кабинете.
Частота обновления
Котировки обновляются каждые 5 минут. Опрашивать чаще незачем — кэшируйте ответ на своей стороне и ориентируйтесь на поле created_at.
Лимиты запросов
Бесплатный тариф — 100 запросов в месяц. Пробный период — 7 дней и 10 000 запросов, без карты. Лимиты платных тарифов — на странице тарифов.
Частые вопросы разработчиков
Как получить цену нефти через API?
Отправьте GET-запрос на https://api.oilpriceapi.com/v1/prices/latest с параметром by_code (например, BRENT_CRUDE_USD) и заголовком Authorization: Token ВАШ_КЛЮЧ. В ответ придёт JSON с ценой, валютой, кодом товара и меткой времени.
Как устроена авторизация?
По API-ключу в заголовке: Authorization: Token ВАШ_КЛЮЧ. Ключ выдаётся сразу после регистрации и перевыпускается в личном кабинете. OAuth и подписи запросов не требуются.
Есть ли бесплатный тариф?
Да. Бесплатный тариф — 100 запросов в месяц. Кроме того, доступен пробный период: 7 дней и 10 000 запросов, банковская карта не нужна. Актуальные платные тарифы — на странице тарифов.
Какие коды товаров доступны?
Основные: BRENT_CRUDE_USD (нефть Brent), WTI_CRUDE_USD (нефть WTI), URALS_CRUDE_USD (нефть Urals), NATURAL_GAS_USD (природный газ, Henry Hub). Кроме них доступны другие энергетические товары; полный перечень кодов — в документации.
Как часто обновляются котировки?
Каждые 5 минут. В ответе всегда приходит поле created_at — метка времени самих данных. Ориентируйтесь на неё, а не на время своего запроса: это единственный честный признак свежести.
Какие ошибки может вернуть API?
401 — ключ отсутствует или неверен; 402 — исчерпана месячная квота тарифа; 404 — неизвестный код товара; 429 — слишком частые запросы; 5xx — ошибка на стороне сервиса. Обрабатывайте их явно и не подставляйте вместо отсутствующей цены нулевое значение.
Можно ли получить исторические данные?
Да, через эндпоинт /v1/prices/historical с параметрами by_code и interval (daily, weekly или monthly). Исторические ряды доступны с 2020 года; глубина зависит от товара и источника, поэтому запрашивайте нужный код и диапазон дат и проверяйте ответ.
В каком формате приходят данные?
JSON. Ответ содержит поле status и объект data с ценой, форматированным значением, валютой, кодом товара и меткой времени. Конвертация в CSV занимает несколько строк на Python или JavaScript.
Ключ выдаётся сразу после регистрации
Бесплатный тариф — 100 запросов в месяц. Пробный период — 7 дней и 10 000 запросов, банковская карта не нужна.
Создать бесплатный аккаунтЦена на нефть сегодня
Котировки Brent и WTI в реальном времени
Исторические цены
Динамика по годам и ключевые события
Прогноз цен на нефть
Факторы рынка и официальные обзоры
Цена Urals
Российский сорт и дисконт к Brent
Brent
Североморский эталон, ICE Лондон
WTI
Американский эталон, NYMEX
Цена на газ
Henry Hub, природный газ
Сколько стоит баррель
Баррель, литры, пересчёт цены