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, 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).


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"))