Skip to main content

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!

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.

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

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

:left_speech_bubble: If you prefer real-time chat, please visit us in our Zulip chat space! We'd love to see you there! :open_hands:

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

Release files for earthaccess 0.19.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for earthaccess 0.19.0
File Size Uploaded
earthaccess-0.19.0.tar.gz 12.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for earthaccess 0.19.0
File Interpreter ABI Platform
earthaccess-0.19.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 MB

Release files / earthaccess-0.19.0.tar.gz

Download URL earthaccess-0.19.0.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
dc22ff4fdad5b6ca9e278ed3da0892d5187878dc0b0b7a7dd912d2b729f78fdf
BLAKE2b-256 checksum
How to use checksums
204d3bc8fefaa06e50dbcc7ae6c2bdfc09d7db92a091e0dd7e556a2953eeebaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release files / earthaccess-0.19.0-py3-none-any.whl

Download URL earthaccess-0.19.0-py3-none-any.whl
Size 78.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca5535d80447714d89d733f91d7e427be68aa5fcc64f4c2f4d1819e6113b8a6d
BLAKE2b-256 checksum
How to use checksums
0ca859d73f510540e680c5d6232995e47e39603d262f6ec9b8b8879a9bbe912f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.19.0 This release

2 release files

0.18.0

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page