The iucnr package provides
high-performance, offline tools for querying and integrating data from
the IUCN Red List of Threatened Species directly within
R workflows.
By pairing with the local data provider package
iucnrdata, iucnr enables
researchers, ecologists, and conservationists to perform exact and fuzzy
taxonomic matching, retrieve conservation statuses, and fetch preferred
vernacular (common) names for both flora and
fauna—without requiring API keys or an active internet
connection.
verbose = FALSE by default ensures clean pipeline
integration with dplyr and tidyverse.To access the complete offline IUCN Red List database snapshot,
install the iucnrdata data package from R-Universe:
install.packages(
"iucnrdata",
repos = c("https://paulesantos.r-universe.dev", "https://cloud.r-project.org")
)Next, install iucnr:
library(iucnr)
#> ── Attaching iucnr ─────────────────────────────────────────────────── v0.0.3 ──
#> ✔ Compatible with IUCN Red List version 2026-1
#> ℹ Source: GBIF dataset (https://www.gbif.org/dataset/19491596-35ae-4a91-9a98-85cf505f1bd3)Query iconic wild fauna species across various taxonomic classes:
fauna <- c(
"Panthera onca", # Jaguar
"Tremarctos ornatus", # Andean Bear
"Vultur gryphus", # Andean Condor
"Spheniscus humboldti", # Humboldt Penguin
"Ambystoma mexicanum" # Axolotl
)
# Retrieve conservation status as a tibble
get_iucn_status(splist = fauna, format = "tbl")
#> # A tibble: 5 × 4
#> id submitted_name matched_species redlist_category
#> <int> <chr> <chr> <chr>
#> 1 1 Panthera onca Panthera onca Near Threatened
#> 2 2 Tremarctos ornatus Tremarctos ornatus Vulnerable
#> 3 3 Vultur gryphus Vultur gryphus Vulnerable
#> 4 4 Spheniscus humboldti Spheniscus humboldti Vulnerable
#> 5 5 Ambystoma mexicanum Ambystoma mexicanum Critically EndangeredRetrieve common names:
get_iucn_common_name(splist = fauna, format = "tbl")
#> # A tibble: 5 × 4
#> id submitted_name matched_species common_name
#> <int> <chr> <chr> <chr>
#> 1 1 Panthera onca Panthera onca Jaguar
#> 2 2 Tremarctos ornatus Tremarctos ornatus Andean Bear
#> 3 3 Vultur gryphus Vultur gryphus Andean Condor
#> 4 4 Spheniscus humboldti Spheniscus humboldti Humboldt Penguin
#> 5 5 Ambystoma mexicanum Ambystoma mexicanum AxolotlRetrieve conservation categories for threatened Andean and tropical tree/plant species:
flora <- c(
"Swietenia macrophylla", # Big-leaf Mahogany
"Puya raimondii", # Queen of the Andes
"Cedrela odorata", # Spanish Cedar
"Polylepis racemosa" # Quenoa Tree
)
get_iucn_status(splist = flora, format = "tbl")
#> # A tibble: 4 × 4
#> id submitted_name matched_species redlist_category
#> <int> <chr> <chr> <chr>
#> 1 1 Swietenia macrophylla Swietenia macrophylla Endangered
#> 2 2 Puya raimondii Puya raimondii Endangered
#> 3 3 Cedrela odorata Cedrela odorata Vulnerable
#> 4 4 Polylepis racemosa Polylepis racemosa Data Deficientiucnr automatically detects and corrects typographical
errors in genus or species names:
splist_typos <- c(
"Pantera onca", # Typo in genus: Panthera -> Pantera
"Puya raimondi", # Typo in epithet: raimondii -> raimondi
"Escallonia ressinosa" # Typo in epithet: resinosa -> ressinosa
)
get_iucn_status(splist = splist_typos, format = "tbl")
#> # A tibble: 3 × 4
#> id submitted_name matched_species redlist_category
#> <int> <chr> <chr> <chr>
#> 1 1 Pantera onca Panthera onca Near Threatened
#> 2 2 Puya raimondi Puya raimondii Endangered
#> 3 3 Escallonia ressinosa Escallonia resinosa Near ThreatenedExtract all species registered under a specific IUCN Red List
category (e.g., CR for Critically Endangered,
EN for Endangered, VU for Vulnerable):
cr_species <- get_iucn_by_category("CR")
head(cr_species)
#> # A tibble: 6 × 10
#> taxonID scientificName kingdom phylum class order family genus
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 10041 Heosemys annandalii (Boulen… ANIMAL… CHORD… REPT… TEST… GEOEM… Heos…
#> 2 100682075 Wollastonaria klausgrohi De… ANIMAL… MOLLU… GAST… STYL… GEOMI… Woll…
#> 3 10138 Hipposideros hypophyllus Ko… ANIMAL… CHORD… MAMM… CHIR… HIPPO… Hipp…
#> 4 10141 Hipposideros lamottei Bross… ANIMAL… CHORD… MAMM… CHIR… HIPPO… Hipp…
#> 5 101526168 Solanum fernandezianum Phil. PLANTAE TRACH… MAGN… SOLA… SOLAN… Sola…
#> 6 101529185 Solanum ruvu Vorontsova PLANTAE TRACH… MAGN… SOLA… SOLAN… Sola…
#> # ℹ 2 more variables: redlist_category <chr>, taxonomicStatus <chr>Filter by higher taxonomic ranks (Kingdom, Phylum, Class, Order, Family):
pinaceae_species <- get_iucn_by_taxonomy(family = "Pinaceae")
head(pinaceae_species)
#> # A tibble: 6 × 10
#> taxonID scientificName kingdom phylum class order family genus
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 124561040 Pinus vallartensis Pérez de… PLANTAE TRACH… PINO… PINA… PINAC… Pinus
#> 2 18153818 Pinus elliottii var. densa … PLANTAE TRACH… PINO… PINA… PINAC… Pinus
#> 3 18153856 Pinus mugo subsp. rotundata… PLANTAE TRACH… PINO… PINA… PINAC… Pinus
#> 4 191552 Abies chensiensis subsp. sa… PLANTAE TRACH… PINO… PINA… PINAC… Abies
#> 5 191553 Abies delavayi var. delavayi PLANTAE TRACH… PINO… PINA… PINAC… Abies
#> 6 191554 Abies delavayi var. motuoen… PLANTAE TRACH… PINO… PINA… PINAC… Abies
#> # ℹ 2 more variables: redlist_category <chr>, taxonomicStatus <chr>Check the packaged IUCN snapshot version details:
iucnr functions return vector output when
format = "vect", enabling seamless integration with
dplyr::mutate():
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
survey_data <- tibble::tibble(
species = c("Panthera onca", "Swietenia macrophylla", "Vultur gryphus")
)
survey_data %>%
mutate(
status = get_iucn_status(species, format = "vect"),
common_name = get_iucn_common_name(species, format = "vect")
)
#> # A tibble: 3 × 3
#> species status common_name
#> <chr> <chr> <chr>
#> 1 Panthera onca Near Threatened Jaguar
#> 2 Swietenia macrophylla Endangered Big Leaf Mahogany
#> 3 Vultur gryphus Vulnerable Andean CondorBelow is a median query execution time comparison between
iucnr (offline) and online API R packages
(iucnredlist and redlist):
| Package / Mode | Execution Time (Median) | Acceleration vs Online API |
|---|---|---|
redlist (Online API) |
996.7 ms | 1.0x (Baseline) |
iucnredlist (Online API) |
418.6 ms | 2.4x |
iucnr (Offline
Fast-Path) |
1.45 ms | >680x Faster |
When using iucnr in scientific publications, please cite
both the package and the underlying IUCN Red List dataset:
citation("iucnr")
#> To cite iucnr in publications use:
#>
#> Santos-Andrade Paul E. (2026). iucnr: IUCN Red List Data.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Manual{,
#> author = {Paul E. Santos Andrade},
#> title = {iucnr: IUCN Red List Data},
#> year = {2026},
#> url = {https://paulesantos.github.io/iucnr/},
#> }
#>
#> To cite the IUCN dataset, please use: IUCN. 2026. The IUCN Red List of
#> Threatened Species. Version 2026-1. Data retrieved from GBIF
#> (https://www.gbif.org/dataset/19491596-35ae-4a91-9a98-85cf505f1bd3).IUCN. 2026. The IUCN Red List of Threatened Species. Version 2026-1. Data retrieved via GBIF (https://www.gbif.org/dataset/19491596-35ae-4a91-9a98-85cf505f1bd3).