Skip to contents

Returns a data.frame of all taxa in the eBird taxonomy for the given combination of categories. Defaults to all categories. Any taxon with the category of 'species' may be used as a parameter in service calls that take a species code. Any taxon not in this category will be rejected by these services at this time.


ebirdtaxonomy(cat = NULL, locale = NULL, species = NULL, key = NULL, ...)



Species category. String or character vector with one of more of: "domestic", "form", "hybrid", "intergrade", "issf", "slash", "species", "spuh". If not specified, defaults to all. For more info about the meaning of species categories, see


Language/locale of response (when translations are available). See and (defaults to en_US).


Character vector of eBird taxonomy species code(s). Limits query results to only these taxa. Default is NULL, which does not limit taxa.


eBird API key. You can obtain one from We strongly recommend storing it in your .Renviron file as an environment variable called EBIRD_KEY to avoid having to constantly supply the key, and to avoid accidentally sharing it publicly.


Curl options passed on to GET


A data.frame containing the collected information:

"sciName": Taxon's scientific name.

"comName": Taxon's common name.

"speciesCode": Unique species code.

"category": Taxon's species category.

"taxonOrder": Numeric value determining the order in which taxonomic lists are presented.

"bandingCodes": Taxon's ABA banding code(s).

"comNameCodes": Taxon's common name code(s).

"sciNameCodes": Taxon's scientific name code(s).

"order": Taxon's order.

"familyComName": Family's common name.

"familySciName": Family's scientific name.

"reportAs": Species code to report taxon as.

"extinct": Logical, whether the taxon is considered extinct.

"extinctYear": Year taxon became extinct. Currently unavailable.



Andy Teucher, Sebastian Pardo


if (FALSE) {
ebirdtaxonomy(cat = c("spuh", "slash"))