API gratuita del precio de la luz
Los mismos datos que ves en esta web, en JSON: el PVPC y el mercado mayorista por horas, las mejores franjas del día, el término de potencia y la comparación con un precio fijo. Y un servidor MCP para que tu asistente de IA los consulte directamente.
Toda respuesta correcta llega como { "success": true, "data": … }. Los errores traen un campo code: decide por él, nunca por el texto.
# Precio de este momento (PVPC y mercado mayorista)
curl https://energialert.com/v1/prices/now
# Los tramos de un día
curl "https://energialert.com/v1/prices?date=2026-09-24&market=pvpc"
# Mejor franja para la lavadora con tarifa PVPC
curl -X POST https://energialert.com/v1/recommendations \
-H 'content-type: application/json' \
-d '{"profile":{"type":"pvpc"},"appliances":[{"kind":"washer"}]}'Base https://energialert.com/v1. La descripción completa, con parámetros y ejemplos, está en openapi.json: cualquier herramienta que lea OpenAPI genera el cliente sola.
| Endpoint | Qué devuelve |
|---|---|
| GET /v1/prices ?date, market | Los tramos de un día, con mínimo, máximo, media y updatedAt |
| GET /v1/prices/now | El tramo en curso del PVPC y del mayorista, con level relativo al propio día |
| GET /v1/periods ?date | Los periodos regulados P1/P2/P3 de un día (peajes, no el semáforo de precio) |
| GET /v1/summary ?date, market | Las mejores franjas de 2 y 3 h y la franja cara |
| GET /v1/records | Mínimos de hoy, del mes y del año |
| GET /v1/grid/now | Renovable, CO₂, demanda y mix de la red en este momento |
| GET /v1/grid ?date | El estado de la red de un día, en serie |
| GET /v1/power-charges ?date | El término de potencia 2.0TD del año, sin y con impuestos |
| GET /v1/insights/hourly-pattern | Noche frente a mediodía en los últimos 365 días |
| GET /v1/tariff-check/reference | El precio fijo que empata con el PVPC del último año |
| POST /v1/recommendations | La mejor franja para cada aparato; el perfil de tarifa va en el cuerpo |
| POST /v1/widget | Precio de ahora, próxima franja barata y las horas siguientes |
| POST /v1/tariff-check | Un precio fijo comparado con el PVPC del último año |
- Unidades e impuestos.
eurKwhva sin impuestos yeurKwhWithTaxescon impuesto eléctrico e IVA; este último solo existe en el PVPC (nullen el mayorista). Los dos campos van en €/kWh también en el mercado mayorista, que se cita en €/MWh: multiplica por 1000 (0,045 → 45 €/MWh). - Fechas en hora de Madrid, en formato
AAAA-MM-DD. El día del cambio de hora tiene 23 o 25 horas: recorre los tramos que lleguen, no asumas 24. - El precio puede ser negativo. Es un valor real, no un error, y no significa luz gratis: la factura mantiene el término de potencia.
- Cuándo cambian los datos. Red Eléctrica publica el PVPC de mañana hacia las 20:15-20:30 y el mercado mayorista hacia las 13:00. Fuera de eso, guarda la respuesta en caché: preguntar cada segundo no te da un dato más nuevo.
Si usas un asistente que habla MCP (Model Context Protocol), añade esta dirección y podrás preguntarle «¿cuándo pongo la lavadora hoy?» con los datos de Red Eléctrica. Solo lectura, sin registro y sin clave.
https://energialert.com/mcpprice_now: El precio de este momento del PVPC y del mayorista, con su nivel relativo al día.day_prices: Los tramos de un día, con mínimo, máximo, media y la última lectura de ESIOS.tomorrow_summary: Las mejores franjas de mañana; si REE aún no ha publicado, lo dice.best_window: La mejor, la habitual y la peor franja para un aparato y una tarifa, en euros.pvpc_vs_fixed: Un precio fijo frente al PVPC del último año con el perfil de consumo de REE.
Claude (web y escritorio)
Ajustes → Conectores → Añadir conector personalizado, y pega la dirección.
Claude Code
En la terminal:
claude mcp add --transport http energialert https://energialert.com/mcpCursor
En ~/.cursor/mcp.json (o .cursor/mcp.json en el proyecto):
{
"mcpServers": {
"energialert": {
"url": "https://energialert.com/mcp"
}
}
}VS Code
En .vscode/mcp.json:
{
"servers": {
"energialert": {
"type": "http",
"url": "https://energialert.com/mcp"
}
}
}Cualquier otro cliente con transporte HTTP (Streamable HTTP) sirve igual: no hay sesión ni autenticación.
¿No programas? El precio de la luz de ahora, la próxima franja barata y las horas siguientes caben en un iframe, sin JavaScript. Copia el widget.
- Es gratis y no hay que pedir permiso ni avisar.
- Cita la fuente. Los datos son de e·sios (Red Eléctrica de España). Al citar una cifra, di la fuente y la fecha del dato, que viaja en
updatedAt. Es la condición de e·sios (REE) para reutilizar sus datos. - No lo pongas detrás de un pago ni revendas los datos: los de REE no admiten uso comercial sin su autorización.
- Respeta el límite de 120 peticiones por minuto y por IP. Por encima, la API responde
429conRATE_LIMITED. - Si no hay datos, no hay cifra. Cuando REE aún no ha publicado, la API lo dice (
published: falseo un503) en vez de darte un número viejo o inventado.
Hecho por EnergiAlert. Cómo se calcula cada cifra.