Skip to content

Repository files navigation

earthaccess

earthaccess, a python library to search, download or stream NASA Earth science data with just a few lines of code

DOI Art Designer: Allison Horst Package version Conda Versions Python Versions Documentation Status Unit Tests status

earthaccess is a python library to search for, and download or stream NASA Earth science data with just a few lines of code.

Visit our documentation to learn more!

Try it in your browser without installing anything! Binder

Why earthaccess

During several workshops organized by NASA Openscapes, the need to provide easy-to-use tools to our users became evident. Open science is a collaborative effort; it involves people from different technical backgrounds, and the data analysis to solve the pressing problems we face cannot be limited by the complexity of the underlying systems. Therefore, providing easy access to NASA Earthdata regardless of the data storage location (hosted within or outside of the cloud) is the main motivation behind this Python library.

How to Get Started with earthaccess

How to install

To install earthaccess go to your terminal and install it using pip:

python -m pip install earthaccess

How to access NASA Earth Science data

You'll need a free NASA Earthdata Login (EDL) account. If you don't have one yet, register here. earthaccess.login() prompts you for these credentials (or reads them from a .netrc file or environment variables). See Authenticate with Earthdata Login for details.

With earthaccess, data is 3 steps away!

import earthaccess

# 1. Login
earthaccess.login()

# 2. Search
results = earthaccess.search_data(
    short_name='ATL06',  # ATLAS/ICESat-2 L3A Land Ice Height
    bounding_box=(-10, 20, 10, 50),  # Only include files in area of interest...
    temporal=("1999-02", "2019-03"),  # ...and time period of interest.
    count=10
)

# 3. Access
files = earthaccess.download(results, "/tmp/my-download-folder")

Visit our quick start guide for more details.

Help!

We're here for you! Before you open a new issue/discussion/topic, please search to see if anyone else has opened a similar one.

🐛 If you've found a bug or mistake, please use GitHub issues.

💡 If you'd like to request a feature or ask a question, please use GitHub discussions.

🗨️ If you prefer real-time chat, please visit us in our Zulip chat space! We'd love to see you there! 👐

Compatibility

The minimum supported Python version is 3.12.

How earthaccess relates to other tools

earthaccess ties search, authentication, and data access together into a single workflow, building on existing open-source tools rather than replacing them. Other tools in the NASA Earth science data ecosystem include:

  • VirtualiZarr — builds a virtual Zarr store interface over archival files (netCDF/HDF5) without duplicating data. earthaccess integrates it directly via earthaccess.virtualize(), turning a set of granules into a virtual xarray Dataset, which supports cloud-native access patterns without downloads required.

  • python-cmr — wraps NASA's Common Metadata Repository (CMR) search API. earthaccess builds on it, adding provider-aware resolution, cloud-hosting filters, and rich result objects.

  • asf_search — search and access tailored to synthetic aperture radar (SAR) data, whereas earthaccess is mission- and domain-agnostic.

  • icepyx — ICESat-2-specific search and access that uses earthaccess for authentication.

  • earthdatalogin — analogous authentication and access tool for the R ecosystem.

  • fsspec / s3fs — general-purpose filesystem libraries that advanced users can compose manually; earthaccess encapsulates the NASA-specific authentication and cloud-detection logic on top of them.

Citing earthaccess

If you use earthaccess in your work, please cite it. The version-specific citation can be generated from the "Cite this repository" button on the GitHub repository (powered by CITATION.cff). For convenience, a general citation using the Zenodo DOI is:

Barrett, A., Battisto, C., Bourbeau, J., Carroll, I., Daniels, C., Fisher, M., Kaufman, D., Kennedy, J.H., Lopez, L., Lowndes, J., Scheick, J., Steiker, A., & Varghese, S. earthaccess [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.8365009

@software{earthaccess,
  author    = {Barrett, Andrew and Battisto, Chris and Bourbeau, James and Carroll, Ian and Daniels, Chuck and Fisher, Matt and Kaufman, Daniel and Kennedy, Joseph H. and Lopez, Luis and Lowndes, Julia and Scheick, Jessica and Steiker, Amy and Varghese, Sherwin},
  title     = {earthaccess},
  year      = {2026},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.8365009},
  url       = {https://doi.org/10.5281/zenodo.8365009}
}

How to Contribute to earthaccess

If you want to contribute to earthaccess checkout the Contributing Guide.

Contributors

Contributors

Releases

Packages

Used by

Contributors

Languages