ecmwf-api-client
Python client for ECMWF web services API.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no external dependencies, supports modern Python versions (3.8–3.13), carries no known security vulnerabilities, and is licensed permissively. Install it if you need programmatic access to ECMWF IFS experiments or MARS archive data. The main constraint is that MARS access requires ECMWF authorization; anonymous access is limited to IFS experiments with reduced quality of service.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- ECMWF API credentials (URL, key, email) required for registered access; anonymous access available but with lower quality of service and limited to IFS research experiments only.
- Low friction: pure Python wheel with no runtime dependencies.
- Actively maintained with recent release 58 days ago and consistent commit activity.
License · maintenance · safety
Apache License Version 2.0 (permissive) — Apache License Version 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects, provided you include the license notice.
last release 2026-06-17 (58 days) · last repo commit 2026-06-17 · 96 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 93,965 downloads/mo, #13,355 on PyPI
Alternatives
Verify before relying
pip install ecmwf-api-client
from ecmwf_api_client import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({"dataset": "..."})- Whether the package handles automatic retry logic or rate-limiting for large requests.
- Performance characteristics when retrieving large datasets or multiple concurrent requests.
- Whether MARS access requires additional system-level setup beyond API credentials.
What it is and what it does
This is a Python client for ECMWF's Web API, providing two main entry points: ECMWFDataServer for retrieving IFS research experiments, and ECMWFService for accessing MARS (Meteorological Archival and Retrieval System) for authorized users. The package handles authentication via credentials stored in a config file or environment variables, and abstracts away the HTTP details of communicating with ECMWF's servers.
It is designed for researchers and developers who need programmatic access to ECMWF weather and climate data. The package supports both anonymous access (lower quality of service, IFS experiments only) and registered access (full MARS archive, better performance). Configuration is flexible: you can use a local config file, environment variables, or pass credentials directly in code. The package includes logging support and integrates with ECMWF's documentation on retrieval efficiency and request limits.
Use it for
- Download IFS research experiment data for weather model validation or climate studies.
- Retrieve historical meteorological data from MARS archive for authorized institutional users.
- Automate batch retrieval of weather data as part of a data processing pipeline.
- Access forecast data programmatically without manual web interface interaction.
- Build monitoring or analysis tools that depend on ECMWF meteorological datasets.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no external dependencies, supports modern Python versions (3.8–3.13), carries no known security vulnerabilities, and is licensed permissively. Install it if you need programmatic access to ECMWF IFS experiments or MARS archive data. The main constraint is that MARS access requires ECMWF authorization; anonymous access is limited to IFS experiments with reduced quality of service.
Install
ecmwf-api-client on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent release 58 days ago and consistent commit activity. Supports Python 3.8–3.13 and PyPy.
ECMWF API credentials (URL, key, email) required for registered access; anonymous access available but with lower quality of service and limited to IFS research experiments only.
License in practice
Apache License Version 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects, provided you include the license notice.
Quickstart
pip install ecmwf-api-client
from ecmwf_api_client import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({"dataset": "..."})
Verify before relying
- Whether the package handles automatic retry logic or rate-limiting for large requests.
- Performance characteristics when retrieving large datasets or multiple concurrent requests.
- Whether MARS access requires additional system-level setup beyond API credentials.
Package facts
| License | Apache License Version 2.0 permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 58 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 93,965 / month, #13,355 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: ecmwf_api_client-1.7.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ECMWF weather data API client”
- ecmwf-api-clientPython client for accessing ECMWF's IFS research experiments and MARS…
- ecmwf-datastores-clientPython client for the ECMWF Data Stores Service API, enabling…
- ecmwf-opendataDownloads ECMWF open meteorological data using a request-based…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also cdsapi · ecmwf-opendata · AEMET-OpenData · herbie-data · eccodeslib · ecmwf-datastores-client · eccodes · AI-WQ-package · earthkit-meteo · pdbufr