Global-Warming APIglobal-warming.org ↗
Access global temperature anomalies, CO2, methane, N2O, arctic sea ice, ocean warming, and climate news via the global-warming.org API.
What is the Global-Warming API?
The global-warming.org API exposes 10 endpoints covering climate and environmental datasets that span from 1851 to the present, including surface temperature anomalies, greenhouse gas concentrations, and arctic sea ice extent. Endpoints like get_co2_data return daily CO2 readings with both cycle and trend values in ppm, while get_arctic_sea_ice_data delivers monthly extent figures alongside decadal trend metadata — all in structured JSON ready for analysis or visualization.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/c8ba2562-c9f9-4a10-ad83-7041ad7228e7/get_temperature_data' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace global-warming-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: ClimateData SDK — bounded, re-runnable; every call capped."""
from parse_apis.global_warming_climate_change_api import ClimateData, UpstreamError
client = ClimateData()
# Recent temperature anomalies — iterate the most recent readings.
for reading in client.temperaturereadings.list(limit=3):
print(reading.time, reading.station, reading.land)
# Daily CO2 concentration — take one record and inspect fields.
co2 = client.co2readings.list(limit=1).first()
if co2:
print(f"CO2 on {co2.year}-{co2.month}-{co2.day}: cycle={co2.cycle} ppm, trend={co2.trend} ppm")
# Methane readings with uncertainty values.
for ch4 in client.methanereadings.list(limit=3):
print(ch4.date, ch4.average, ch4.average_unc)
# Climate news articles from the aggregated news page.
for article in client.articles.list(limit=3):
print(article.title, article.url)
# Sea ice report — singleton fetch, access nested description.
try:
ice = client.seaicereports.fetch()
print(ice.description.title, ice.description.annual_mean, ice.description.units)
except UpstreamError as exc:
print(f"sea ice unavailable: {exc}")
# Homepage metadata — singleton fetch.
home = client.homepages.fetch()
print(home.title, home.description)
print("exercised: temperaturereadings.list / co2readings.list / methanereadings.list / articles.list / seaicereports.fetch / homepages.fetch")
Fetches global monthly mean surface temperature anomaly data from 1880 to present. Each record contains a decimal year timestamp, station-based temperature anomaly, and land-based temperature anomaly. Returns the full historical dataset in a single response with no pagination.
No input parameters required.
{
"type": "object",
"fields": {
"error": "string or null indicating any upstream error",
"result": "array of temperature records with time, station, and land fields"
},
"sample": {
"data": {
"error": null,
"result": [
{
"land": "-0.19",
"time": "1880.04",
"station": "-0.32"
},
{
"land": "-0.25",
"time": "1880.13",
"station": "-0.52"
}
]
},
"status": "success"
}
}About the Global-Warming API
Climate Measurement Data
Four endpoints cover the core greenhouse gas and temperature record. get_temperature_data returns monthly mean surface temperature anomalies from 1880 onward, with each record carrying a decimal-year time field, a station anomaly, and a land anomaly. get_co2_data provides daily atmospheric CO2 readings from 2016 to present, each record containing year, month, day, cycle (the raw daily oscillation in ppm), and trend (the smoothed long-term value). get_methane_data and get_nitrous_oxide_data both return monthly records from 1984 and 2002 respectively, each with date, average, trend, and averageUnc (uncertainty in ppb).
Sea Ice and Ocean Data
get_arctic_sea_ice_data returns a structured object with a description block (holding title, basePeriod, units, annualMean, and decadalTrend) plus a data object keyed by YYYYMM. Each monthly entry includes value, anomaly, and monthly mean in million square kilometers, covering 1979 to present. get_ocean_warming_data returns annual ocean temperature anomaly data from 1851 onward, keyed by year, with each entry providing a departure value in degrees Celsius.
News, Deforestation, and Navigation
get_news_list returns aggregated climate news articles with title, url, thumbnail, and source fields — useful for monitoring publication activity around climate topics. get_deforestation_page delivers the full text content and page title from the deforestation section, including embedded statistics and map descriptions. get_site_navigation extracts all navigation links from the homepage as text and url pairs. get_home_page_data returns the page title, description, and an array of content sections each with a header and content string.
The Global-Warming API is a managed, monitored endpoint for global-warming.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when global-warming.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official global-warming.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Charting long-term CO2 trend vs. cycle divergence using
cycleandtrendfields fromget_co2_data - Building a greenhouse gas dashboard combining methane, nitrous oxide, and CO2 endpoint data
- Tracking arctic sea ice anomalies month-over-month using
get_arctic_sea_ice_dataYYYYMM-keyed records - Correlating ocean warming departure values from
get_ocean_warming_datawith surface temperature anomalies fromget_temperature_data - Aggregating climate news headlines and sources for a media monitoring feed via
get_news_list - Pulling deforestation statistics and narrative text for environmental reporting via
get_deforestation_page - Reconstructing surface temperature history from 1880 using
stationandlandanomaly fields
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does global-warming.org provide an official developer API?+
What does `get_arctic_sea_ice_data` actually return, and what is the `decadalTrend` field?+
get_arctic_sea_ice_data returns both metadata and monthly observations. The description block includes decadalTrend, which is the rate of change in sea ice extent per decade (in million square kilometers), along with annualMean, basePeriod, and units. The data object is keyed by YYYYMM and each entry contains the observed value, the anomaly relative to the base period, and the monthly mean — all in million square kilometers.How current is the CO2 data, and are there gaps in the record?+
get_co2_data covers daily readings from 2016 to the present. The upstream dataset may occasionally include gaps or delayed updates for the most recent days; the cycle and trend fields may differ for such entries. The temperature and ocean warming endpoints extend back to 1880 and 1851 respectively, offering much longer historical coverage.Does the API return country-level or regional greenhouse gas breakdowns?+
get_co2_data, get_methane_data, and get_nitrous_oxide_data — return global atmospheric averages rather than per-country or regional figures. You can fork the API on Parse and revise it to add an endpoint targeting a regional dataset if one becomes available on the source.