earthaccess
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.
earthaccessintegrates it directly viaearthaccess.virtualize(), turning a set of granules into a virtual xarrayDataset, which supports cloud-native access patterns without downloads required. -
python-cmr — wraps NASA's Common Metadata Repository (CMR) search API.
earthaccessbuilds 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
earthaccessis mission- and domain-agnostic. -
icepyx — ICESat-2-specific search and access that uses
earthaccessfor authentication. -
earthdatalogin — analogous authentication and access tool for the R ecosystem.
-
fsspec / s3fs — general-purpose filesystem libraries that advanced users can compose manually;
earthaccessencapsulates 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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc22ff4fdad5b6ca9e278ed3da0892d5187878dc0b0b7a7dd912d2b729f78fdf
|
|
| MD5 |
c7839290399be14c6d77a1f637479a82
|
|
| BLAKE2b-256 |
204d3bc8fefaa06e50dbcc7ae6c2bdfc09d7db92a091e0dd7e556a2953eeebaa
|
Provenance
The following attestation bundles were made for earthaccess-0.19.0.tar.gz:
Publisher:
publish.yml on earthaccess-dev/earthaccess
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
earthaccess-0.19.0.tar.gz -
Subject digest:
dc22ff4fdad5b6ca9e278ed3da0892d5187878dc0b0b7a7dd912d2b729f78fdf - Sigstore transparency entry: 2705454276
- Sigstore integration time:
-
Permalink:
earthaccess-dev/earthaccess@7481557b8f25d29f8f2d12bcf9a756b229e9fa9a -
Branch / Tag:
refs/tags/v0.19.0 - Owner: https://github.com/earthaccess-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7481557b8f25d29f8f2d12bcf9a756b229e9fa9a -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca5535d80447714d89d733f91d7e427be68aa5fcc64f4c2f4d1819e6113b8a6d
|
|
| MD5 |
5d65524d54a29f3b63ed016d63ffa747
|
|
| BLAKE2b-256 |
0ca859d73f510540e680c5d6232995e47e39603d262f6ec9b8b8879a9bbe912f
|
Provenance
The following attestation bundles were made for earthaccess-0.19.0-py3-none-any.whl:
Publisher:
publish.yml on earthaccess-dev/earthaccess
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
earthaccess-0.19.0-py3-none-any.whl -
Subject digest:
ca5535d80447714d89d733f91d7e427be68aa5fcc64f4c2f4d1819e6113b8a6d - Sigstore transparency entry: 2705454294
- Sigstore integration time:
-
Permalink:
earthaccess-dev/earthaccess@7481557b8f25d29f8f2d12bcf9a756b229e9fa9a -
Branch / Tag:
refs/tags/v0.19.0 - Owner: https://github.com/earthaccess-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7481557b8f25d29f8f2d12bcf9a756b229e9fa9a -
Trigger Event:
release
-
Statement type: