ESGF PyClient is a Python package designed for interacting with the Earth System Grid Federation system.
Warning
This package interacts with the legacy ESGF Search API, which is deprecated and servers may be shut down permanently. Users are encouraged to switch to intake-esgf, or use pystac-client to interact with the new STAC-based search API. The new STAC servers are available at:
Progress reports on the development of the new ESGF infrastructure can be found on the ESGF Roadmap GitHub repository.
This package contains API code for calling the legacy ESGF Search API from Python code. It may be used to access data that is only findable through the legacy ESGF Search API, such as CMIP5, CORDEX, and older obs4MIPs data.
You can try it online using Binder, or view the notebooks on NBViewer:
Please submit bugs and feature requests through the bug tracker on GitHub. Pull requests are always welcome.
Full documentation is available on ReadTheDocs or in the docs directory.
At the time of writing (September 9, 2026), servers providing search using this API may be found at the following URLs:
- https://esgf-node.ornl.gov/esgf-1-5-bridge (partially supports the legacy ESGF Search API, issues can be reported here)
- https://esgf.ceda.ac.uk/esg-search/search
- https://esgf-data.dkrz.de/esg-search/search
- https://esg-dn1.nsc.liu.se/esg-search/search
while the following servers appear to be online, but return an error page:
- https://esgf-node.ipsl.upmc.fr/esg-search/search
- https://esgf.nci.org.au/esg-search/search
- https://esgf.nccs.nasa.gov/esg-search/search
- https://esgdata.gfdl.noaa.gov/esg-search/search
Note that logging in using OpenID with the
pyesgf.logon
module is no longer required to access ESGF data.
All servers supporting this feature have been taken offline.