--- id: earthaccess version: "0.18.0" license: MIT license_treatment: permissive maintenance: active --- # earthaccess — Client library for NASA Earthdata APIs License: permissive · Maintenance: active · Downloads: 253.7K/mo ## What it is and what it does earthaccess is a Python client library that simplifies access to NASA Earth science data by wrapping the NASA CMR (Common Metadata Repository) API and Earthdata authentication. It abstracts away the complexity of querying NASA's distributed data holdings and handles downloads from multiple storage backends—both cloud-hosted and on-premises—through a three-step workflow: login, search, and download. The library depends on fsspec for filesystem abstraction, requests for HTTP communication, s3fs for cloud storage access, and several utility packages for retry logic and metadata parsing. The package targets researchers and data scientists who need to programmatically access satellite and Earth observation data without managing authentication tokens, API endpoints, or storage-specific download logic. It is actively maintained, supports modern Python versions (3.12 and 3.13), and carries no known security vulnerabilities. The low install friction and permissive MIT license make it accessible for both academic and commercial workflows. Use it for: - Retrieve ICESat-2 or MODIS data for a specific geographic region and time period in a research notebook. - Automate batch downloads of Earth observation data for climate or land-use analysis pipelines. - Stream remote sensing data directly into memory for real-time processing without intermediate storage. - Build a data ingestion workflow that handles authentication and multi-source data access transparently. - Prototype geospatial analysis without writing custom NASA API client code. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. earthaccess searches, downloads, and streams NASA Earth science data through a simple Python interface, handling authentication and data access across cloud and on-premises storage. Yes. earthaccess is actively maintained, carries no known vulnerabilities, has low install friction, and solves a real problem for researchers needing NASA data. The MIT license is permissive, and the three-step API (login, search, download) is straightforward. Install it if you need to access NASA Earth science data programmatically; the main constraint is the Python 3.12+ requirement. ## Install pip install earthaccess uv add earthaccess poetry add earthaccess ## Installing earthaccess Before you install: Low install friction with a pure-Python wheel and ten runtime dependencies. The project is actively maintained with recent commits and a stable release cadence. License in practice: MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open and proprietary projects. Quickstart: pip install earthaccess import earthaccess earthaccess.login() results = earthaccess.search_data(short_name='ATL06', bounding_box=(-10, 20, 10, 50)) files = earthaccess.download(results, '/tmp/data') Requires Python 3.12 or later. NASA Earthdata account credentials needed for login and data access. Verify before relying: - Whether authentication can be automated via environment variables or stored credentials without interactive login. - Performance characteristics when downloading large datasets or streaming data over slow connections. - Specific NASA data collections and formats supported beyond the ATL06 example. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 253.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags NASA Earth data download, search NASA Earthdata, access satellite data, NASA CMR search, download Earth science data, stream remote sensing data, NASA data client library, nasa-data, earth-science, geospatial [View on SkillFed](https://skillfed.io/packages/earthaccess) · [View on PyPI](https://pypi.org/project/earthaccess/)