API de precios del petróleo
Una llamada REST y tienes el Brent, el WTI y más de 20 materias primas energéticas en JSON. Sin contratos, sin comerciales y sin terminal de 24.000 dólares al año.
Brent
Referencia internacionalUSD por barril
by_code=BRENT_CRUDE_USD
WTI
Referencia estadounidenseUSD por barril
by_code=WTI_CRUDE_USD
Las cifras de arriba salen de esta misma llamada
GET /v1/prices/latest?by_code=BRENT_CRUDE_USD → $85.70Tu primera llamada, en dos minutos
Regístrate, copia tu clave del panel y lanza esto. No hay pasos intermedios: un endpoint, una cabecera y un parámetro.
curl "https://api.oilpriceapi.com/v1/prices/latest?by_code=BRENT_CRUDE_USD" \ -H "Authorization: Token YOUR_API_KEY" \ -H "Content-Type: application/json"
{
"status": "success",
"data": {
"price": 67.91,
"code": "BRENT_CRUDE_USD",
"currency": "USD",
"created_at": "2026-07-14T09:35:12.000Z"
}
}Fíjate en created_at: es la marca de tiempo del propio dato, no la de tu petición. Guárdala. Es lo que te permite saber si estás sirviendo una cotización fresca o una de hace tres horas.
import requests
API_KEY = "YOUR_API_KEY"
URL = "https://api.oilpriceapi.com/v1/prices/latest"
respuesta = requests.get(
URL,
headers={"Authorization": f"Token {API_KEY}"},
params={"by_code": "BRENT_CRUDE_USD"},
timeout=10,
)
respuesta.raise_for_status()
datos = respuesta.json()["data"]
print(f"{datos['code']}: {datos['price']} {datos['currency']}")
print(f"Marca de tiempo del dato: {datos['created_at']}")const API_KEY = process.env.OILPRICEAPI_KEY;
async function obtenerPrecio(codigo) {
const url = new URL("https://api.oilpriceapi.com/v1/prices/latest");
url.searchParams.set("by_code", codigo);
const respuesta = await fetch(url, {
headers: { Authorization: `Token ${API_KEY}` },
});
if (!respuesta.ok) {
throw new Error(`La API respondió ${respuesta.status}`);
}
const { data } = await respuesta.json();
return data;
}
const brent = await obtenerPrecio("BRENT_CRUDE_USD");
console.log(brent.price, brent.currency, brent.created_at);curl "https://api.oilpriceapi.com/v1/prices/historical?by_code=WTI_CRUDE_USD&interval=monthly" \ -H "Authorization: Token YOUR_API_KEY"
El parámetro interval admite daily, weekly y monthly. Más sobre el histórico del crudo.
Códigos de materias primas
El mismo parámetro by_code sirve para todas las series. Estos son los principales; el catálogo cubre además productos refinados, combustibles marinos y otras referencias energéticas.
| Código | Materia prima | Detalle | Unidad |
|---|---|---|---|
BRENT_CRUDE_USD | Brent | Referencia internacional, mar del Norte | USD/barril |
WTI_CRUDE_USD | WTI | Referencia estadounidense, entrega en Cushing | USD/barril |
URALS_CRUDE_USD | Urals | Mezcla de exportación rusa, cotiza con descuento sobre el Brent | USD/barril |
NATURAL_GAS_USD | Gas natural | Henry Hub | USD/MMBtu |
Errores y límites de tasa
| Código | Qué significa y qué hacer |
|---|---|
| 200 | Todo bien. El cuerpo trae status: "success" y el objeto data. |
| 401 | Clave ausente o inválida. Revisa que la cabecera sea exactamente Authorization: Token TU_CLAVE. |
| 429 | Has superado la cuota de tu plan. La cabecera Retry-After indica cuántos segundos esperar antes de reintentar. |
| 5xx | Error del lado del servidor. Reintenta con retroceso exponencial y cachea la última respuesta buena para no dejar tu interfaz en blanco. |
Cómo no chocar con el límite
by_code concreto en lugar del catálogo entero.Por qué integrar esta API
Simple de verdad
Un endpoint REST, una cabecera de autenticación y JSON de vuelta. Sin SDK obligatorio, sin OAuth, sin sesiones. Si sabes usar curl, ya sabes usar esta API.
Cobertura energética
Crudo, gas natural, productos refinados y combustibles marinos, todos con el mismo patrón de llamada. Y la serie histórica desde 2020 para las referencias principales.
Empezar cuesta cero
Nivel gratuito de 100 solicitudes al mes, sin tarjeta. Y una prueba de 7 días con 10.000 solicitudes para evaluarla con volumen real antes de pagar nada. Ver los planes.
Preguntas frecuentes
¿Cómo obtengo el precio del petróleo desde una API?
Con una petición GET a https://api.oilpriceapi.com/v1/prices/latest, pasando el código de la materia prima en el parámetro by_code (por ejemplo, BRENT_CRUDE_USD) y tu clave en la cabecera Authorization con el formato 'Token TU_CLAVE'. La respuesta es JSON e incluye el precio, el código, la divisa y la marca de tiempo del propio dato. No hace falta SDK: sirve cualquier cliente HTTP.
¿Hay un nivel gratuito?
Sí: 100 solicitudes al mes gratis, sin tarjeta de crédito. Además, al registrarte tienes una prueba de 7 días con 10.000 solicitudes para evaluar la API con volumen real antes de decidir nada.
¿Qué autenticación usa la API?
Autenticación por clave en cabecera. Se envía en cada petición como 'Authorization: Token TU_CLAVE'. La clave se genera y se regenera desde tu panel. Consérvala en una variable de entorno del servidor y nunca la incrustes en código de cliente ni la subas a un repositorio.
¿Qué materias primas cubre la API?
Además del Brent (BRENT_CRUDE_USD) y el WTI (WTI_CRUDE_USD), la API cubre el Urals, el gas natural, productos refinados como la gasolina, el gasóleo o el queroseno de aviación, combustibles marinos y varias referencias más. Cada serie se identifica por su código y se pide con el mismo parámetro by_code.
¿Cómo consulto la serie histórica?
Con el endpoint /v1/prices/historical, indicando el código en by_code y el intervalo en interval (diario, semanal o mensual), y acotando el rango de fechas si lo necesitas. La serie histórica arranca en 2020 para las referencias principales; la cobertura varía según la materia prima y la fuente.
¿Qué códigos de error devuelve la API?
Una petición correcta devuelve 200 con un cuerpo cuyo campo status es 'success'. Un 401 significa que la clave falta o no es válida. Un 429 indica que has superado el límite de tu plan: la cabecera Retry-After te dice cuántos segundos esperar. Los errores 5xx son del servidor y conviene reintentarlos con retroceso exponencial.
¿Cuáles son los límites de tasa?
El límite depende de tu plan y se cuenta por solicitudes mensuales: el nivel gratuito son 100 al mes y los planes de pago escalan desde ahí. Si superas la cuota, la API responde 429. En la página de precios está el detalle actualizado de cada plan.
Tu primera llamada, ahora
Regístrate, copia la clave y pega el curl de arriba. Nivel gratuito de 100 solicitudes al mes, sin tarjeta.
Crear cuenta gratisMás sobre el precio del petróleo
Precio del petróleo hoy
Cotización en vivo del crudo
Precio del Brent
Referencia internacional del mar del Norte
Precio del WTI
Referencia estadounidense
Precio del gas natural
Henry Hub, en vivo
Precios históricos
La evolución del crudo, crisis a crisis
Previsión del precio
Qué mueve el crudo y dónde mirar
¿Cuánto cuesta un barril?
El barril como unidad: 159 litros
Oil price API (EN)
La misma página en inglés