Skip to contents

Client tool to get data and metadata from AEMET and convert json to tibble.

Usage

get_data_aemet(apidest, verbose = FALSE)

get_metadata_aemet(apidest, verbose = FALSE)

Arguments

apidest

Character string as destination URL. See https://opendata.aemet.es/dist/index.html.

verbose

Logical TRUE/FALSE. Provides information about the flow of information between the client and server.

Value

A tibble (if possible) or the results of the query as provided by httr2::resp_body_raw() or httr2::resp_body_string().

See also

Some examples on how to use these functions on vignette("extending-climaemet").

Examples

# Run this example only if AEMET_API_KEY is detected

url <- "/api/valores/climatologicos/inventarioestaciones/todasestaciones"

get_data_aemet(url)
#> # A tibble: 947 × 7
#>    latitud provincia     altitud indicativo nombre             indsinop longitud
#>    <chr>   <chr>         <chr>   <chr>      <chr>              <chr>    <chr>   
#>  1 394924N ILLES BALEARS 490     B013X      ESCORCA, LLUC      "08304"  025309E 
#>  2 394744N ILLES BALEARS 5       B051A      SÓLLER, PUERTO     "08316"  024129E 
#>  3 393446N ILLES BALEARS 52      B103B      ANDRATX - SANT ELM ""       022208E 
#>  4 394121N ILLES BALEARS 60      B087X      BANYALBUFAR        ""       023046E 
#>  5 394406N ILLES BALEARS 1030    B248       SIERRA DE ALFABIA… "08303"  024247E 
#>  6 393621N BALEARES      47      B275E      SON BONET, AEROPU… "08302"  024224E 
#>  7 393305N ILLES BALEARS 50      B158X      CALVIÀ, ES CAPDEL… ""       022759E 
#>  8 392944N ILLES BALEARS 140     B334X      LLUCMAJOR          ""       025330E 
#>  9 393832N ILLES BALEARS 95      B236C      PALMA, UNIVERSITAT ""       023838E 
#> 10 393315N ILLES BALEARS 3       B228       PALMA, PUERTO      "08301"  023731E 
#> # ℹ 937 more rows


# Metadata

get_metadata_aemet(url)
#> # A tibble: 7 × 7
#>   unidad_generadora         periodicidad descripcion formato copyright notaLegal
#>   <chr>                     <chr>        <chr>       <chr>   <chr>     <chr>    
#> 1 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 2 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 3 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 4 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 5 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 6 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 7 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> # ℹ 1 more variable: campos <df[,4]>

# We can get data from any API endpoint

# Plain text

plain <- get_data_aemet("/api/prediccion/nacional/hoy")
#> 
#> Results are MIME type: text/plain
#> Returning data as string

cat(plain)
#> AGENCIA ESTATAL DE METEOROLOGÍA


#> PREDICCIÓN GENERAL PARA ESPAÑA 


#> DÍA 11 DE JUNIO DE 2025 A LAS 09:41 HORA OFICIAL


#> PREDICCIÓN VÁLIDA PARA EL MIÉRCOLES 11


#> 


#> A.- FENÓMENOS SIGNIFICATIVOS


#> Tormentas y chubascos fuertes en Galicia de madrugada, en


#> Andalucía por la mañana y en regiones del centro y norte


#> peninsular, Cazorla y Pirineo oriental durante el día.


#> Temperaturas significativamente elevadas en el tercio este


#> peninsular, Cantábrico oriental y en interiores de Mallorca.


#> 


#> B.- PREDICCIÓN


#> Se mantendrá una situación de inestabilidad en la Península


#> bajo la influencia de una dana, en transición hacia una baja


#> fría aislada, situada sobre el noroeste. Así, predominarán los


#> cielos nubosos, con nubosidad de tipo medio y alto, y nubosidad de


#> evolución a lo largo de la tarde, a la vez que desde el suroeste


#> tenderá a despejar. Se darán tormentas y chubascos ya desde


#> primeras horas en regiones del noroeste, sur y centro peninsular


#> que, a lo largo del día, se extenderán de sur a norte,


#> terminando por afectar a la mayor parte del territorio, a


#> excepción de la fachada oriental (sí se darán en el Pirineo


#> oriental). Es posible que estos chubascos y tormentas sean fuertes


#> o muy fuertes en Galicia de madrugada, en Andalucía por la


#> mañana y en regiones del centro y norte peninsular durante el


#> día, y estén acompañados de granizo que podría ser grande y


#> rachas muy fuertes. En las islas predominarán los intervalos de


#> nubes.


#> 


#> La calima seguirá afectando a la mitad este peninsular y a


#> Baleares.


#> 


#> Las temperaturas máximas aumentarán en el extremo oriental, y de


#> forma notable en los litorales del Cantábrico oriental.


#> Predominarán los descensos en el resto de la Península, que


#> serán notables en amplias zonas de la vertiente atlántica. Pocos


#> cambios en Canarias. Se superarán los 34-36 grados en puntos del


#> sureste peninsular, Cantábrico oriental e interiores de Mallorca,


#> así como en amplias zonas del nordeste peninsular, donde podrían


#> rebasarse los 38 en depresiones. Las mínimas descenderán en la


#> vertiente atlántica, con aumentos en el resto de la Península y


#> pocos cambios en las islas.


#> 


#> Soplarán vientos de flojos a moderados en la Península y


#> Baleares, con predominio de componentes sur y este en Baleares,


#> tercio nordeste y fachada oriental peninsulares, y de componentes


#> oeste y sur en el resto; con posibles intervalos de fuerte y/o


#> rachas muy fuertes en litorales gallegos y montañas del cuadrante


#> noroeste. Alisios moderados en Canarias.


#> 



# An image

image <- get_data_aemet("/api/mapasygraficos/analisis")
#> 
#> Results are MIME type: image/gif
#> Returning raw data

# Write and read
tmp <- tempfile(fileext = ".gif")

writeBin(image, tmp)

gganimate::gif_file(tmp)
#> Error in shell.exec(url): file association for 'C:\Users\RUNNER~1\AppData\Local\Temp\Rtmpo3Cx8m\file18d816c8239d.gif' not available or invalid