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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| earthaccess-0.19.0.tar.gz | 12.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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