@wayota/redata-api-client
Version:
TypeScript client for the REData (Red Eléctrica de España) public API. Provides convenient methods to fetch Spanish electricity data widgets, supporting category, widget, date range, and geographic filters. The client is based on a custom OpenAPI specific
285 lines (283 loc) • 10.3 kB
YAML
openapi: 3.0.0
info:
title: REData API
version: 1.0.0
description: >
API REST pública para acceder a widgets de datos eléctricos de REData (Red Eléctrica de España).
servers:
- url: https://apidatos.ree.es/{lang}/datos
variables:
lang:
enum:
- es
- en
default: en
paths:
/{category}/{widget}:
get:
summary: Obtiene un widget específico
parameters:
- name: category
in: path
required: true
description: Categoría de datos (p. ej. balance, demanda, generacion...)
schema:
type: string
enum:
- balance
- demanda
- generacion
- intercambios
- transporte
- mercados
- name: widget
in: path
required: true
description: Nombre del widget a recuperar
schema:
type: string
enum:
- balance-electrico
- evolucion
- variacion-componentes
- variacion-componentes-movil
- ire-general
- ire-general-anual
- ire-general-movil
- ire-industria
- ire-industria-anual
- ire-industria-movil
- ire-servicios
- ire-servicios-anual
- ire-servicios-movil
- ire-otras
- ire-otras-anual
- ire-otras-movil
- demanda-maxima-diaria
- demanda-maxima-horaria
- perdidas-transporte
- potencia-maxima-instantanea
- variacion-demanda
- potencia-maxima-instantanea-variacion
- potencia-maxima-instantanea-variacion-historico
- demanda-tiempo-real
- variacion-componentes-anual
- estructura-generacion
- evolucion-renovable-no-renovable
- estructura-renovables
- estructura-generacion-emisiones-asociadas
- evolucion-estructura-generacion-emisiones-asociadas
- no-renovables-detalle-emisiones-CO2
- maxima-renovable
- potencia-instalada
- maxima-renovable-historico
- maxima-sin-emisiones-historico
- francia-frontera
- portugal-frontera
- marruecos-frontera
- andorra-frontera
- lineas-francia
- lineas-portugal
- lineas-marruecos
- lineas-andorra
- francia-frontera-programado
- portugal-frontera-programado
- marruecos-frontera-programado
- andorra-frontera-programado
- enlace-baleares
- frontera-fisicos
- todas-fronteras-fisicos
- frontera-programados
- todas-fronteras-programados
- energia-no-suministrada-ens
- indice-indisponibilidad
- tiempo-interrupcion-medio-tim
- kilometros-lineas
- indice-disponibilidad
- numero-cortes
- ens-tim
- indice-disponibilidad-total
- componentes-precio-energia-cierre-desglose
- componentes-precio
- energia-gestionada-servicios-ajuste
- energia-restricciones
- precios-restricciones
- reserva-potencia-adicional
- banda-regulacion-secundaria
- energia-precios-regulacion-secundaria
- energia-precios-regulacion-terciaria
- energia-precios-gestion-desvios
- coste-servicios-ajuste
- volumen-energia-servicios-ajuste-variacion
- precios-mercados-tiempo-real
- energia-precios-ponderados-gestion-desvios-before
- energia-precios-ponderados-gestion-desvios
- energia-precios-ponderados-gestion-desvios-after
- name: start_date
in: query
required: true
description: Fecha/hora de inicio en ISO8601 (YYYY-MM-DDTHH:MM)
schema:
type: string
format: date-time
- name: end_date
in: query
required: true
description: Fecha/hora de fin en ISO8601 (YYYY-MM-DDTHH:MM)
schema:
type: string
format: date-time
- name: time_trunc
in: query
required: true
description: Agregación temporal
schema:
type: string
enum: [hour, day, month, year]
- name: geo_limit
in: query
required: false
description: Define el sistema eléctrico de los datos solicitados.
schema:
type: string
enum:
- peninsular
- canarias
- baleares
- ceuta
- melilla
- ccaa
- name: geo_trunc
in: query
required: false
description: Agregación geográfica (requiere geo_ids)
schema:
type: string
- name: geo_ids
in: query
required: false
description: IDs geográficos (sin/peninsular/regional) separados por comas
schema:
type: string
responses:
'200':
description: Respuesta JSON con datos del widget (formato JSON:API)
content:
application/json:
schema:
type: object
required:
- data
- included
properties:
data:
type: object
required:
- type
- id
- attributes
properties:
type:
type: string
id:
type: string
attributes:
type: object
required:
- title
- last-update
- description
properties:
title:
type: string
last-update:
type: string
format: date-time
description:
type: string
meta:
type: object
required:
- cache-control
properties:
cache-control:
required:
- cache
- expireAt
type: object
properties:
cache:
type: string
expireAt:
type: string
included:
type: array
items:
type: object
required:
- type
- id
- groupId
- attributes
properties:
type:
type: string
id:
type: string
groupId:
type: string
format: nullable
attributes:
type: object
required:
- title
- description
- color
- type
- magnitude
- composite
- last-update
- values
properties:
title:
type: string
description:
type: string
color:
type: string
type:
type: string
magnitude:
type: string
composite:
type: boolean
last-update:
type: string
format: date-time
values:
type: array
items:
type: object
required:
- value
- percentage
- datetime
properties:
value:
type: integer
format: int32
percentage:
type: string
datetime:
type: string
format: date-time
'400':
description: Parámetros inválidos
'404':
description: Widget o categoría no encontrados
'500':
description: Error del servidor
security:
- {}
components:
securitySchemes: {}