---
updatedAt: 2026-05-06T20:44:52.000Z
agentTools:
  projectIndex: https://docs.tomorrow.io/llms.txt
---

# Retrieve Climate Normals

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "tomorrowio-api",
    "version": "4.0.1"
  },
  "servers": [
    {
      "url": "https://api.tomorrow.io/v4"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "query",
        "name": "apikey"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/historical/normals": {
      "post": {
        "summary": "Retrieve Climate Normals",
        "description": "",
        "operationId": "weather-climate-normals",
        "parameters": [
          {
            "name": "Accept-Encoding",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "default": "gzip, deflate"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "location",
                  "fields",
                  "timesteps",
                  "startDate",
                  "endDate"
                ],
                "properties": {
                  "location": {
                    "type": "string",
                    "description": "ID of a pre-defined location, GeoJSON geometry or lat long array - see [formats](https://docs.tomorrow.io/reference/api-formats#locations)",
                    "default": "42.3478, -71.0466"
                  },
                  "fields": {
                    "type": "array",
                    "description": "Selected fields from our data layers (polygon/polyline default to Max, if not suffix is not specified) - see [Historical Data Layers](https://docs.tomorrow.io/update/reference/climate-normals)",
                    "default": [
                      "temperatureAvg"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "timesteps": {
                    "type": "array",
                    "description": "Currently support the \"1d\" time step.",
                    "default": [
                      "1d"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "startDate": {
                    "type": "string",
                    "description": "Climate normals only support \"MM-DD\" datetime format and is limited to 365 days. The climate normals aggregates data from 2000 to 2020.",
                    "default": "01-01"
                  },
                  "endDate": {
                    "type": "string",
                    "description": "Climate normals only support \"MM-DD\" datetime format and is limited to 365 days. The climate normals aggregates data from 2000 to 2020.",
                    "default": "01-02"
                  },
                  "units": {
                    "type": "string",
                    "description": "Unit system of the field values, either \"metric\" or \"imperial\" - see [Field Descriptors](https://docs.tomorrow.io/reference/weather-data-layers#field-descriptors)",
                    "default": "metric"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n    \"data\": {\n        \"timelines\": [\n            {\n                \"timestep\": \"1d\",\n                \"endTime\": \"01-02\",\n                \"startTime\": \"01-01\",\n                \"intervals\": [\n                    {\n                        \"startTime\": \"01-01\",\n                        \"values\": {\n                            \"precipitationAccumulationSum\": 0.19,\n                            \"precipitationAccumulationSumP5\": 0,\n                            \"precipitationAccumulationSumP50\": 0.05,\n                            \"precipitationAccumulationSumP95\": 0.7,\n                            \"temperatureAvg\": 30.76,\n                            \"temperatureAvgP5\": 19.06,\n                            \"temperatureAvgP50\": 32.5,\n                            \"temperatureAvgP95\": 40.86,\n                            \"temperatureMax\": 37.18,\n                            \"temperatureMaxP5\": 25.37,\n                            \"temperatureMaxP50\": 36.57,\n                            \"temperatureMaxP95\": 49.75,\n                            \"temperatureMin\": 25.95,\n                            \"temperatureMinP5\": 12.46,\n                            \"temperatureMinP50\": 27.68,\n                            \"temperatureMinP95\": 37.07\n                        }\n                    },\n                    {\n                        \"startTime\": \"01-02\",\n                        \"values\": {\n                            \"precipitationAccumulationSum\": 0.18,\n                            \"precipitationAccumulationSumP5\": 0,\n                            \"precipitationAccumulationSumP50\": 0.04,\n                            \"precipitationAccumulationSumP95\": 0.81,\n                            \"temperatureAvg\": 30.22,\n                            \"temperatureAvgP5\": 10.83,\n                            \"temperatureAvgP50\": 31.41,\n                            \"temperatureAvgP95\": 43.69,\n                            \"temperatureMax\": 36.44,\n                            \"temperatureMaxP5\": 21.16,\n                            \"temperatureMaxP50\": 36.13,\n                            \"temperatureMaxP95\": 50.67,\n                            \"temperatureMin\": 25.36,\n                            \"temperatureMinP5\": 4.41,\n                            \"temperatureMinP50\": 26.45,\n                            \"temperatureMinP95\": 39.56\n                        }\n                    }\n                ]\n            }\n        ]\n    }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "timelines": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "timestep": {
                                "type": "string",
                                "example": "1d"
                              },
                              "endTime": {
                                "type": "string",
                                "example": "01-02"
                              },
                              "startTime": {
                                "type": "string",
                                "example": "01-01"
                              },
                              "intervals": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "startTime": {
                                      "type": "string",
                                      "example": "01-01"
                                    },
                                    "values": {
                                      "type": "object",
                                      "properties": {
                                        "precipitationAccumulationSum": {
                                          "type": "number",
                                          "example": 0.19,
                                          "default": 0
                                        },
                                        "precipitationAccumulationSumP5": {
                                          "type": "integer",
                                          "example": 0,
                                          "default": 0
                                        },
                                        "precipitationAccumulationSumP50": {
                                          "type": "number",
                                          "example": 0.05,
                                          "default": 0
                                        },
                                        "precipitationAccumulationSumP95": {
                                          "type": "number",
                                          "example": 0.7,
                                          "default": 0
                                        },
                                        "temperatureAvg": {
                                          "type": "number",
                                          "example": 30.76,
                                          "default": 0
                                        },
                                        "temperatureAvgP5": {
                                          "type": "number",
                                          "example": 19.06,
                                          "default": 0
                                        },
                                        "temperatureAvgP50": {
                                          "type": "number",
                                          "example": 32.5,
                                          "default": 0
                                        },
                                        "temperatureAvgP95": {
                                          "type": "number",
                                          "example": 40.86,
                                          "default": 0
                                        },
                                        "temperatureMax": {
                                          "type": "number",
                                          "example": 37.18,
                                          "default": 0
                                        },
                                        "temperatureMaxP5": {
                                          "type": "number",
                                          "example": 25.37,
                                          "default": 0
                                        },
                                        "temperatureMaxP50": {
                                          "type": "number",
                                          "example": 36.57,
                                          "default": 0
                                        },
                                        "temperatureMaxP95": {
                                          "type": "number",
                                          "example": 49.75,
                                          "default": 0
                                        },
                                        "temperatureMin": {
                                          "type": "number",
                                          "example": 25.95,
                                          "default": 0
                                        },
                                        "temperatureMinP5": {
                                          "type": "number",
                                          "example": 12.46,
                                          "default": 0
                                        },
                                        "temperatureMinP50": {
                                          "type": "number",
                                          "example": 27.68,
                                          "default": 0
                                        },
                                        "temperatureMinP95": {
                                          "type": "number",
                                          "example": 37.07,
                                          "default": 0
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```