Time series · global-temperature

Global surface temperature

Monthly global and hemispheric surface temperature anomalies from NASA GISTEMP v4 (1880 to present, relative to 1951-1980) and the Met Office HadCRUT5 analysis (1850 to present, relative to 1961-1990, with a 95% confidence range). The two series use different baselines.

Updates
Monthly
Coverage
—
Current version
—
Last published
—
Validation
—
License
US Government work + OGL v3.0
Commercial use
Allowed

Chart

Global surface temperature

Loading the chart…
Source: NASA Goddard Institute for Space Studies; Met Office Hadley Centre.
Show the data as a table

The table appears once the data has loaded.

Use the API

Each series and location is its own small file. The examples follow the series and location picked above. See the docs for versions, caching and errors.

curl

# One series for one place (.json or .csv)
curl -s "https://api.climatedata.dev/v1/global-temperature/gistemp/world.json"

# Every series and place in one file
curl -sO "https://api.climatedata.dev/v1/global-temperature/download/global-temperature.csv"

Python (polars)

import polars as pl

# One series for one place
df = pl.read_csv("https://api.climatedata.dev/v1/global-temperature/gistemp/world.csv")

# Every series and place, with series and location columns
everything = pl.read_parquet("https://api.climatedata.dev/v1/global-temperature/download/global-temperature.parquet")

JavaScript

const res = await fetch("https://api.climatedata.dev/v1/global-temperature/gistemp/world.json");
if (!res.ok) throw new Error((await res.json()).detail); // errors are problem+json
const { meta, data } = await res.json();
console.log(meta.location_name, data.at(-1)); // { date, value, ... }

Downloads

The whole dataset in one file, with series and location columns. Parquet keeps the column types and is much smaller.

Schema and series

Each series file has these columns. The bulk downloads add series and location columns in front.

Column Type Unit Can be empty Description
date month (YYYY-MM) — no —
value number degC no Surface temperature anomaly. GISTEMP is relative to its 1951-1980 mean, HadCRUT5 to its 1961-1990 mean, so subtract a common-period mean before comparing the two
lower number degC yes HadCRUT5 lower 2.5% confidence limit; null for GISTEMP, whose tables give no monthly uncertainty
upper number degC yes HadCRUT5 upper 97.5% confidence limit; null for GISTEMP
baseline text — no Reference period the anomaly is relative to (1951-1980 or 1961-1990)

Series

Series id Name
gistemp NASA GISTEMP v4 land-ocean temperature anomaly (°C, relative to 1951-1980)
hadcrut5 Met Office HadCRUT5 analysis temperature anomaly (°C, relative to 1961-1990)

Locations

Covers 3 places.

Location id Name
world World
nh Northern Hemisphere
sh Southern Hemisphere

Source and license

Source
NASA GISS Surface Temperature Analysis (GISTEMP v4) and Met Office Hadley Centre/CRU HadCRUT5
Publisher
NASA Goddard Institute for Space Studies; Met Office Hadley Centre
License
US Government work (public domain in the United States) and Open Government Licence v3.0 (LicenseRef-US-Government-Work AND OGL-UK-3.0)
Commercial use
Allowed

Credit the source with this exact text:

GISTEMP Team, 2026: GISS Surface Temperature Analysis (GISTEMP), version 4. NASA Goddard Institute for Space Studies. Dataset accessed on the retrieved_at date of this dataset version at https://data.giss.nasa.gov/gistemp/. Lenssen, N., G.A. Schmidt, M. Hendrickson, P. Jacobs, M. Menne, and R. Ruedy, 2024: A GISTEMPv4 observational uncertainty ensemble. J. Geophys. Res. Atmos., 129, no. 17, e2023JD040179, doi:10.1029/2023JD040179. HadCRUT.5.2.0.0 data were obtained from http://www.metoffice.gov.uk/hadobs/hadcrut5 on the retrieved_at date of this dataset version and are © British Crown Copyright, Met Office 2020, provided under an Open Government License, http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/

Checked every 1 day. If the source hasn't changed in 45 days, the status page flags it as stale.

Endpoints

Every URL for this dataset. To pin the current version, put it after the id: /v1/global-temperature@<version>. The API reference describes each response.

What URL
Metadata: version, coverage, downloads, validation /v1/global-temperature
Versions and monthly snapshots /v1/global-temperature/versions
Series and locations /v1/global-temperature/locations
NASA GISTEMP v4 land-ocean temperature anomaly (°C, relative to 1951-1980) (JSON) /v1/global-temperature/gistemp/{location}.json
NASA GISTEMP v4 land-ocean temperature anomaly (°C, relative to 1951-1980) (CSV) /v1/global-temperature/gistemp/{location}.csv
Met Office HadCRUT5 analysis temperature anomaly (°C, relative to 1961-1990) (JSON) /v1/global-temperature/hadcrut5/{location}.json
Met Office HadCRUT5 analysis temperature anomaly (°C, relative to 1961-1990) (CSV) /v1/global-temperature/hadcrut5/{location}.csv
Whole dataset (CSV) /v1/global-temperature/download/global-temperature.csv
Whole dataset (Parquet) /v1/global-temperature/download/global-temperature.parquet