bold accesses BOLD barcode data.

The Barcode of Life Data Systems (BOLD) is designed to support the generation and application of DNA barcode data. The platform consists of four main modules: a data portal, a database of barcode clusters, an educational portal, and a data collection workbench.

This package retrieves data from the BOLD database of barcode clusters, and allows for searching of over 1.7M public records using multiple search criteria including sequence data, specimen data, specimen plus sequence data, as well as trace files.

Documentation for the BOLD API.

See also the taxize book for more options for taxonomic workflows with BOLD:

Package status and installation

cran checks Build Status rstudio mirror downloads

Installation instructions

Stable Version

Development Version

Install sangerseqR first (used in function bold::bold_trace() only)

For R < 3.5


For R >= 3.5

Then install bold




Search for specimen plus sequence data

By default you download tsv format data, which is given back to you as a data.frame

Or you can index to a specific sequence like

Large data

Sometimes with bold_seq() you request a lot of data, which can cause problems due to BOLD’s servers.

An example is the taxonomic name Arthropoda. When you send a request like bold_seq(taxon = "Arthropoda") BOLD attempts to give you back sequences for all records under Arthropoda. This, as you can imagine, is a lot of sequences.


Using taxize::downstream get children of Arthropoda

Optionally, check that the name exists in BOLD’s data. Any that are not in BOLD will give back a row of NAs

Then pass those names to bold_seq(). You could pass all names in at once, but we’re trying to avoid the large data request problem here, so run each one separately with lapply or a for loop like request.

out <- lapply(nms, bold_seq)


Get citation information for bold in R by running: citation(package = 'bold')