Returns the most recent sighting information reported in a given region or hotspot.

ebirdregion(loc, species = NULL, back = NULL, max = NULL,
  locale = NULL, provisional = FALSE, hotspot = FALSE,
  simple = TRUE, sleep = 0, key = NULL, ...)



(required) Region code or locID (for hotspots). Region code can be country code (e.g. "US"), subnational1 (states/provinces, e.g. "US-NV"), or subnational2 code (counties, e.g. "CA-BC-GV").


eBird species code. See ebirdtaxonomy for a full list of scientific names, common names, and species codes. Alternatively, you can wrap the scientific name in the species_code function which will return the eBird species code. Defaults to NULL, in which case sightings for all species are returned. See eBird taxonomy for more information:


Number of days back to look for observations (between 1 and 30, defaults to 14).


Maximum number of result rows to return in this request (between 1 and 10000, defaults to all)


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


Should flagged records that have not been reviewed be included? (defaults to FALSE)


Should results be limited to sightings at birding hotspots? (defaults to FALSE).


Logical. Whether to return a simple (TRUE, default) or detailed (FALSE) set of results fields. Detailed results are only available if loc is a locID.


Time (in seconds) before function sends API call (defaults to zero. Set to higher number if you are using this function in a loop with many API calls).


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:

"comName": species common name

"howMany": number of individuals observed, NA if only presence was noted

"lat": latitude of the location

"lng": longitude of the location

"locID": unique identifier for the location

"locName": location name

"locationPrivate": TRUE if location is not a birding hotspot

"obsDt": observation date formatted according to ISO 8601 (e.g. 'YYYY-MM-DD', or 'YYYY-MM-DD hh:mm'). Hours and minutes are excluded if the observer did not report an observation time.

"obsReviewed": TRUE if observation has been reviewed, FALSE otherwise

"obsValid": TRUE if observation has been deemed valid by either the automatic filters or a regional viewer, FALSE otherwise

"sciName" species' scientific name



if (FALSE) { ebirdregion(loc = 'US', species = 'btbwar') ebirdregion(loc = 'US', species = species_code('Setophaga caerulescens')) # same as above ebirdregion(loc = 'L196159', species = 'bkcchi', back = 30) ebirdregion('US-OH', max = 10, provisional = TRUE, hotspot = TRUE) }