For ERA-Interim (1st January 1979 to 31st August 2019) access through the ECMWF Web API stopped on 01 June 2023

Its successor ERA5 is available from the Climate Data Store (CDS) (What are the changes from ERA-Interim to ERA5?) and users are strongly advised to migrate to ERA5 (How to download ERA5).

For those users who still need access to ERA-Interim after 01 June 2023 (subject to further notice), they can do so via the Climate Data Store (CDS) API.


Daily data

When extracting ERA-Interim daily data from the archive you can specify:

A single date, for example the 1st of January 2015:

   "date": "2015-01-01",

Multiple distinct dates, for example the 1st of each month in 2015:

   "date": "2015-01-01/2015-02-01/2015-03-01/2015-04-01/2015-05-01/2015-06-01/2015-07-01/2015-08-01/2015-09-01/2015-10-01/2015-11-01/2015-12-01",

A date range, for example all days from 1st of January to 28th of February 2015:

   "date": "2015-01-01/to/2015-02-28",

You can write a date either as YYYY-MM-DD or as YYYYMMDD.

Monthly data

When you extract monthly means, the monthly means are timestamped to the first day of the month, and you have to extract for exactly these dates. So to extract monthly means for all of 2015 you need to use this syntax to specify dates:

    "date": "20150101/20150201/20150301/20150401/20150501/20150601/20150701/20150801/20150901/20151001/20151101/20151201",

You can write a date either as YYYY-MM-DD or as YYYYMMDD.

#!/usr/bin/env python

# This script extracts the average daily precipitation for each month.

from datetime import datetime, timedelta

# Change the start and end dates to your desired date range. Monthly data is specified as the 1st of the month.
# For example, to get January 1979 to December 1980, use (1979, 1, 1) and (1980, 12, 1), respectively

start = datetime(1979, 1, 1)
end = datetime(1980, 12, 1)

datelist = [start.strftime('%Y-%m-%d')]
while start <= end:
    start += timedelta(days=32)
    datelist.append( datetime(start.year, start.month, 1).strftime('%Y-%m-%d') )
	datestring = "/".join(datelist)  

c = cdsapi.Client()
c.retrieve('reanalysis-era-interim',{
    'date': datestring,
    'grid': '0.75/0.75',
    'levtype': 'sfc',
    'param': 'tp',
    'step': '0/12',
    'stream': 'mdfa',
    'type': 'fc',
    'area': '75/-15/30/35',
    'format': 'netcdf',
    ,
},'tp-mdfa-197901to198012.nc')


This document has been produced in the context of the Copernicus Climate Change Service (C3S).

The activities leading to these results have been contracted by the European Centre for Medium-Range Weather Forecasts, operator of C3S on behalf of the European Union (Delegation agreement signed on 11/11/2014). All information in this document is provided "as is" and no guarantee or warranty is given that the information is fit for any particular purpose.

The users thereof use the information at their sole risk and liability. For the avoidance of all doubt, the European Commission and the European Centre for Medium-Range Weather Forecasts have no liability in respect of this document, which is merely representing the author's view.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.