Skip to contents

climaemet provides several functions for accessing a selection of endpoints of the AEMET API tool. However, this package does not cover in full all the capabilities of the API.

For that reason, we provide the get_data_aemet() function, that allows to access any API endpoint freely. The drawback is that the user would need to handle the results by him/herself.

Example: Normalized text

Some API endpoints, as predicciones-normalizadas-texto, provides the results as plain text on natural language. These results are not parsed by climaemet, but can be retrieved as this:

# endpoint, today forecast

today <- "/api/prediccion/nacional/hoy"

# Metadata
knitr::kable(get_metadata_aemet(today))
unidad_generadora descripcion periodicidad formato copyright notaLegal
Grupo Funcional de Predicción de Referencia Predicción general nacional para hoy / mañana / pasado mañana / medio plazo (tercer y cuarto día) / tendencia (del quinto al noveno día) Disponibilidad. Para hoy, solo se confecciona si hay cambios significativos. Para mañana y pasado mañana diaria a las 15:00 h.o.p.. Para el medio plazo diaria a las 16:00 h.o.p.. La tendencia, diaria a las 18:30 h.o.p. ascii/txt © AEMET. Autorizado el uso de la información y su reproducción citando a AEMET como autora de la misma. https://www.aemet.es/es/nota_legal

# Data
pred_today <- get_data_aemet(today)
#> 
#> Results are MIME type: text/plain
#> Returning data as string
# Produce a result

clean <- gsub("\r", "\n", pred_today, fixed = TRUE)
clean <- gsub("\n\n\n", "\n", clean, fixed = TRUE)

cat(paste("---\n\n", clean, "\n---"))

AGENCIA ESTATAL DE METEOROLOGÍA PREDICCIÓN GENERAL PARA ESPAÑA DÍA 17 DE JUNIO DE 2025 A LAS 08:11 HORA OFICIAL PREDICCIÓN VÁLIDA PARA EL MARTES 17

A.- FENÓMENOS SIGNIFICATIVOS Probabilidad de chubascos y/o tormentas localmente fuertes en montaña y aledaños del centro, este y sudeste peninsulares, así como en el resto de Castilla-La Mancha. Pueden ser localmente muy fuertes en zonas del interior sudeste e Ibérica sudeste. Temperaturas máximas significativamente elevadas en la mayor parte de la vertiente atlántica, bajo Segura y depresiones del nordeste.

B.- PREDICCIÓN En la mayor parte del país se prevé tiempo anticiclónico estable, con predominio de cielos poco nubosos o despejados con algunas nubes altas, así como nubes bajas o nieblas matinales en Ceuta, Melilla y zonas de Galicia, Cantábrico y alto Ebro. No obstante, por la tarde se desarrollará nubosidad de evolución en amplias zonas del interior peninsular, con tormentas y chubascos dispersos, más intensos en el centro e interiores del este y sudeste, incluso localmente fuertes, así como en el resto de Castilla-La Mancha, con posibilidad de granizo y rachas muy fuertes. Pueden ser localmente muy fuertes en zonas del interior sudeste e Ibérica sudeste. En Canarias, intervalos nubosos en los nortes y despejado al sur, tendiendo a aumentar la nubosidad media y alta en las orientales, con baja probabilidad de darse alguna precipitación o tormenta ocasional.

Calima en la mitad sur de la Península, Baleares y Canarias orientales.

Las temperaturas máximas aumentarán en general, acusadamente en el alto y medio Ebro, tercio sudeste interior peninsular, interior de Mallorca y medianías de Canarias. Se espera superar los 34-36 grados en buena parte de la mitad sur peninsular, valles de la meseta Norte y de Galicia y depresiones del nordeste, incluso los 38-40 grados en valles de la vertiente atlántica sur y bajo Segura. Las mínimas aumentarán de forma acusada en la meseta Norte, Ibérica y medio Ebro, sin grandes cambios en el resto.

Soplarán vientos moderados con intervalos de fuerte del nordeste en litorales norte de Galicia y de levante en el Estrecho. Moderados de componente este en el Cantábrico, alisio en Canarias, tramontana en Ampurdán y Menorca, levante en Alborán y, con tendencia a arreciar, cierzo en el Ebro. Flojos en el resto, con predominio de componentes este y sur en el área mediterránea oriental. Rachas muy fuertes en zonas de tormenta.


Example: Maps

AEMET also provides map data, usually on image/gif format. One way to get this kind of data is as follows:

# Endpoint of a map
a_map <- "/api/mapasygraficos/analisis"

# Metadata
knitr::kable(get_metadata_aemet(a_map))
unidad_generadora descripción periodicidad formato copyright notaLegal
Grupo Funcional de Jefes de Turno Mapas de análisis de frentes en superficie Dos veces al día, a las 02:00 y 14:00 h.o.p. en invierno y a las 03:00 y 15:00 en verano. image/gif © AEMET. Autorizado el uso de la información y su reproducción citando a AEMET como autora de la misma. https://www.aemet.es/es/nota_legal

the_map <- get_data_aemet(a_map)
#> 
#> Results are MIME type: image/gif
#> Returning raw data


# Write as gif and include it
giffile <- "example-gif.gif"
writeBin(the_map, giffile)

# Display on the vignette
knitr::include_graphics(giffile)
Example: Surface analysis map provided by AEMET

Example: Surface analysis map provided by AEMET