API de Precios PVPC
Accede al precio de la luz en tiempo real desde tu aplicación, dashboard domótico o sistema de automatización. Datos oficiales de Red Eléctrica de España (ESIOS).
Hobby
0 €
para siempre
- Precio actual + clasificación
- 100 llamadas/día
- Endpoint /precio
- Histórico de precios
- Precios de mañana
- Datos por zona
- Precios 24h del día
Pro
9,99 €
al mes
- Todo en Hobby
- 5.000 llamadas/día
- Histórico hasta 365 días
- Precios de mañana
- Datos de las 5 zonas
- Curva 24h completa
- SLA garantizado
Business
49,99 €
al mes
- Todo en Pro
- 50.000 llamadas/día
- Histórico hasta 365 días
- Precios de mañana
- Datos de las 5 zonas
- Curva 24h completa
- Soporte prioritario
🔑 Obtén tu API key gratis
Regístrate con tu email y obtendrás una API key hobby al instante. Sin tarjeta de crédito.
✅ ¡API key creada!
⚠️ Guarda esta key en un lugar seguro. No se puede recuperar.
📖 Documentación
Todos los endpoints requieren autenticación via header x-api-key o query param ?key=TU_KEY.
GET
/api/v2/precio
Hobby+
Precio PVPC actual con clasificación de mercado, hora mínima/máxima del día y metadatos. Los planes Pro+ reciben además el array de 24 precios horarios (
precios_24h).curl -H "x-api-key: TU_KEY" https://luxa.eco/api/v2/precio
# Respuesta ejemplo:
{
"ok": true,
"precio_kwh": 0.1423,
"hora": "14:00",
"fecha": "2026-03-20",
"clasificacion": "normal",
"hora_min": "03:00",
"min_dia": 0.0982,
"hora_max": "20:00",
"max_dia": 0.2581,
"zona": "peninsula"
}
GET
/api/v2/historico
Pro+
Histórico de precios PVPC hora a hora. Parámetros:
dias (1–365, default 7), zona (peninsula|canarias|baleares|ceuta|melilla).curl -H "x-api-key: TU_KEY" "https://luxa.eco/api/v2/historico?dias=7&zona=peninsula"
# Respuesta ejemplo:
{
"ok": true,
"dias": 7,
"zona": "peninsula",
"data": [
{ "fecha": "2026-03-14", "hora": "00:00", "precio_kwh": 0.1042 },
{ "fecha": "2026-03-14", "hora": "01:00", "precio_kwh": 0.0998 },
...
]
}
GET
/api/v2/manana
Pro+
Precios de mañana hora a hora (disponibles desde ~20:30 cada día). Retorna
disponible: false si ESIOS aún no los ha publicado.curl -H "x-api-key: TU_KEY" https://luxa.eco/api/v2/manana
# Respuesta cuando disponible:
{
"ok": true,
"disponible": true,
"fecha": "2026-03-21",
"data": [
{ "hora": "00:00", "precio_kwh": 0.0921 },
{ "hora": "01:00", "precio_kwh": 0.0887 },
...
]
}
# Respuesta antes de las 20:30:
{ "ok": true, "disponible": false, "mensaje": "Precios publicados a las 20:30h" }
GET
/api/v2/zonas
Pro+
Precio actual en las 5 zonas tarifarias de España: Península, Canarias, Baleares, Ceuta y Melilla.
curl -H "x-api-key: TU_KEY" https://luxa.eco/api/v2/zonas
# Respuesta ejemplo:
{
"ok": true,
"hora": "14:00",
"zonas": {
"peninsula": { "precio_kwh": 0.1423, "clasificacion": "normal" },
"canarias": { "precio_kwh": 0.1571, "clasificacion": "normal" },
"baleares": { "precio_kwh": 0.1468, "clasificacion": "normal" },
"ceuta": { "precio_kwh": 0.1423, "clasificacion": "normal" },
"melilla": { "precio_kwh": 0.1423, "clasificacion": "normal" }
}
}
GET
/api/v2/status
Hobby+
Información de tu API key: plan actual, llamadas realizadas hoy y límite diario. Útil para monitorizar el uso.
curl -H "x-api-key: TU_KEY" https://luxa.eco/api/v2/status
# Respuesta ejemplo:
{
"ok": true,
"plan": "hobby",
"email": "tu@email.com",
"uso_hoy": 42,
"limite_diario": 100,
"restantes": 58
}
POST
/api/v2/register
Público
Registro automático. Envía un JSON con
email y opcionalmente nombre. Retorna la API key. Guárdala — no se puede recuperar.curl -X POST https://luxa.eco/api/v2/register \
-H "Content-Type: application/json" \
-d '{"email":"tu@email.com","nombre":"Tu nombre"}'
# Respuesta:
{
"ok": true,
"api_key": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"plan": "hobby",
"limite_diario": 100
}
ERR
Errores comunes
Todos los errores siguen el mismo formato con código HTTP y campo
error.# 401 — Sin API key o inválida
{ "ok": false, "error": "API key inválida o inactiva", "code": 401 }
# 429 — Rate limit superado
{ "ok": false, "error": "Límite diario superado (100/día en plan hobby)", "code": 429 }
# 403 — Endpoint requiere plan Pro
{ "ok": false, "error": "Este endpoint requiere plan Pro o superior", "code": 403 }
🧪 Pruébalo en vivo
Pega tu API key y haz una llamada real al endpoint /precio: