Programmatic Interface to the Web Service Methods Provided by UC Berkeley's Natural History Data

The ecoengine ('ecoengine'; <>). provides access to more than 5 million georeferenced specimen records from the University of California, Berkeley's Natural History Museums.

Project Status: Active – The project has reached a stable, usable state and is being actively developed. CRAN/GitHub 1.10.0_/1.10.99

R interface to the Berkeley Ecoinformatics Engine

Providing access to UC Berkeley's Natural History Data

This package provides a R wrapper for the newly available ecoinformatics engine from UC Berkeley. The API is very new and currently provides access to two types of data.

  • Georeferenced data from the Wieslander project
  • Data on > 2 million georeferenced Berkley museum specimens.

Package Status and Installation

AppVeyor Build Status Travis-CI Build Status codecov rstudio mirror downloads

Installation instructions

Stable Version

A stable version can be installed from the central CRAN repository

install.packages("ecoengine"dependencies = TRUE)

Development Version Install the package with devtools to obtain the latest development version.

# If you don't already have the devtools package installed, run 
# install.packages("devtools") 
# unlike most packages, devtools requires additional non-R dependencies depending on your OS. 
# See → 



A quick start guide is available both as markdown and a nicely formatted PDF or you can go through a set of slides from a recent talk.


To cite package ‘ecoengine’ in publications use:
  Karthik Ram (2014). ecoengine: Programmatic interface to the API
  serving UC Berkeley's Natural History Data. R package version 1.9.
A BibTeX entry for LaTeX users is
    title = {ecoengine: Programmatic interface to the API serving UC Berkeley's Natural History
    author = {Karthik Ram},
    year = {2014},
    note = {package version 1.9},
    url = {},


Bug reports, feature requests and suggestions (especially as pull requests) are most welcome.

This package is part of a richer suite called SPOCC Species Occurrence Data, along with several other packages, that provide access to occurrence records from multiple databases. We recommend using SPOCC as the primary R interface to ecoengine unless your needs are limited to this single source.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.




  • Added explicit vignette
  • Fixed issues with lubridate and replaced rbind_fill with bind_rows

ecoengine 1.10

  • Fixed issues in ee_observations to allow more granular filtering on collections
  • Changed default progress to FALSE
  • Fixed issues with zero length lists in LinearizeNestedList
  • Temporarily removed mapping functionality in this package. Please explore leaflet in the meantime.

ecoengine 1.9.1

  • Fixed critical bug with sensor API. These data are no longer available through the package.

ecoengine 1.9

  • Updated package to new ecoengine API.
  • Updated documentation.

ecoengine 1.6

  • Various bug fixes (

  • Switched json parser from RJSONIO → jsonlite

  • Updated all sensor functions due to API name changes. record (station record changed from "record" to "properties.record")

  • Added support for last modified to be returned with every search

ecoengine 1.5

  • Fixed bug with ee_sources() (issue #66)
  • Fixed bug in ee_sensor_agg(). Measurements are typecast correctly.
  • Added support to exclude fields using the exclude argument in `ee_observations(). Seperate fields by commas.
  • Similarly you can request additional fields using the extra argument

ecoengine 1.4

  • Migrated package to new API
  • Default limit is now set to 1000 records (previously 25)
  • New rate limits kick in after 300 calls within a minute

ecoengine 1.3

  • Considerable speed improvements. zoom zoom.

ecoengine 1.2.6

  • Package is now updated for httr 0.3
  • ee_map works now works even when there are missing values (filters those out)

ecoengine 1.2.2

  • Fixed bug where bounding box and county were not properly passed onto ee_observations (

ecoengine 1.2

ecoengine 1.1.2

  • Important bugfix. Lat/Long type conversion issue results in a string of integers. Now returns location data correctly.
  • Added geojson support

ecoengine 1.1

  • Minor bug fixes

ecoengine 0.8

  • First release to CRAN

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.11.0 by Karthik Ram, 7 months ago

Report a bug at

Browse source code at

Authors: Karthik Ram [aut, cre]

Documentation:   PDF Manual  

Task views:

MIT + file LICENSE license

Imports magrittr, data.table, httr, plyr, assertthat, dplyr, whisker, jsonlite, lubridate

Suggests testthat, knitr, ggplot2, rmarkdown

See at CRAN