Registry / http-networking / ecmwf-api-client

ecmwf-api-client

JSON →
library1.7.0pypypi✓ verified 85d ago

Python client for ECMWF (European Centre for Medium-Range Weather Forecasts) web services API. Allows downloading meteorological data. Current version 1.6.5, actively maintained, with irregular releases.

pip install ecmwf-api-client
INSTALL
IMPORT
SIG · ECMWF-API-CLIENT
E
ecmwf-api-client
http-networkingpythonv1.7.0
Install
1.5s avg
Import
94ms
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.7.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.098s · 17.8MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.5s · import 0.090s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ECMWFDataServer
from ecmwfapi import ECMWFDataServer
Standard import path.
ECMWFService
from ecmwfapi import ECMWFService
For service-based access.

Downloads ERA5 data from the ECMWF API. Requires API key and email set in environment variables.

from ecmwfapi import ECMWFDataServer server = ECMWFDataServer(url="https://api.ecmwf.int/v1", key=os.environ.get('ECMWF_API_KEY', ''), email=os.environ.get('ECMWF_EMAIL', '')) server.retrieve({ "class": "od", "dataset": "era5", "date": "2018-01-01/to/2018-01-02", "expver": "1", "levelist": "1", "levtype": "ml", "param": "130", "stream": "oper", "target": "output.grib", "time": "00:00:00/12:00:00", "type": "an", "grid": "1.0/1.0", "area": "50/-10/30/10", "format": "grib" })
ecmwf --version
Debug
Known issues
deprecatedECMWFDataServer with URL 'https://api.ecmwf.int/v1' is deprecated; use 'https://api.ecmwf.int/v1' (still works) or migrate to new CDS API.
fix
Consider using the Climate Data Store (CDS) API client `cdsapi` for newer datasets.
affects: all versions
gotchaAnonymous access (v1.6.0+) may silently succeed but returns limited data. If you expect full access, ensure key/email are provided.
fix
Always set ECMWF_API_KEY and ECMWF_EMAIL environment variables, or pass them explicitly.
affects: >=1.6.0
breakingIn v1.6.3, invalid API keys now fail fast instead of falling back to anonymous access. Code that relied on silent fallback will break.
fix
Ensure API keys are valid before making requests. If anonymous access is intended, do not set keys.
affects: >=1.6.3
Errors
Common errors & fixes
ecmwfapi.ECMWFService.ECMWFService.__init__() got an unexpected keyword argument 'url'
ECMWFService does not accept 'url' parameter, only 'email' and 'key'.
fix
Use ECMWFDataServer for URL-based access, or omit 'url' for ECMWFService.
ImportError: cannot import name 'ECMWFDataServer' from 'ecmwfapi'
Possibly a corrupted installation or very old version; module name changed in v1.5.0?
fix
Reinstall: `pip install --upgrade ecmwf-api-client`. For older packages, import from `ecmwf` directly.
Upgrade
Version history
1.7.0latest on PyPI · released Jun 17, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
13 hits · last 30 days
node
10
Meta
2
OpenAI (training)
1
Resources
ecmwf-api-client — pip install ecmwf-api-client · libregistry