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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

earthaccess-0.19.0.tar.gz (12.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

earthaccess-0.19.0-py3-none-any.whl (78.7 kB view details)

Uploaded Python 3

File details

Details for the file earthaccess-0.19.0.tar.gz.

File metadata

  • Download URL: earthaccess-0.19.0.tar.gz
  • Upload date:
  • Size: 12.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for earthaccess-0.19.0.tar.gz
Algorithm Hash digest
SHA256 dc22ff4fdad5b6ca9e278ed3da0892d5187878dc0b0b7a7dd912d2b729f78fdf
MD5 c7839290399be14c6d77a1f637479a82
BLAKE2b-256 204d3bc8fefaa06e50dbcc7ae6c2bdfc09d7db92a091e0dd7e556a2953eeebaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for earthaccess-0.19.0.tar.gz:

Publisher: publish.yml on earthaccess-dev/earthaccess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file earthaccess-0.19.0-py3-none-any.whl.

File metadata

  • Download URL: earthaccess-0.19.0-py3-none-any.whl
  • Upload date:
  • Size: 78.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for earthaccess-0.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca5535d80447714d89d733f91d7e427be68aa5fcc64f4c2f4d1819e6113b8a6d
MD5 5d65524d54a29f3b63ed016d63ffa747
BLAKE2b-256 0ca859d73f510540e680c5d6232995e47e39603d262f6ec9b8b8879a9bbe912f

See more details on using hashes here.

Provenance

The following attestation bundles were made for earthaccess-0.19.0-py3-none-any.whl:

Publisher: publish.yml on earthaccess-dev/earthaccess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.19.0 This release

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.1

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 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