Where can I find historical temperature data?

Historical temperature is one of the most commonly requested weather measurements. It is used for everything from climate and seasonal analysis to energy planning, agriculture, insurance, retail, construction, event analysis, and investigating the weather conditions at the time of a specific event.

Visual Crossing provides historical, current, and forecast temperature through the Visual Crossing Weather Data tools and the Visual Crossing Weather API.

If you do not already have an account, you can sign up for Visual Crossing Weather.

Historical availability varies by location, date, weather element, and source. For current coverage information, see the Visual Crossing Weather Data Availability Guide.

What temperature measures are available?

The three primary temperature fields are:

temp
tempmax
tempmin

These represent:

FieldDescription
tempTemperature, or mean temperature for an aggregated period
tempmaxMaximum temperature for the period
tempminMinimum temperature for the period

For a daily weather record, tempmax is the maximum temperature for the day and tempmin is the minimum temperature for the day.

The daily temp value is the mean temperature across the day.

Mean temperature is not necessarily the midpoint of the high and low

It is common to estimate a daily mean temperature using:

(tempmax + tempmin) / 2

However, that should not be assumed to be the same as the Visual Crossing daily:

temp

value.

The daily temp value represents the mean temperature over the day, while tempmax and tempmin represent the daily extrema. If your analysis requires the Visual Crossing daily mean temperature, use the returned temp value directly.

Daily versus hourly temperature

The resolution you should use depends on the question you are trying to answer.

Daily data is useful for questions such as:

  • What was the average temperature each day?
  • What was the daily high temperature?
  • What was the daily low temperature?
  • How did temperature vary across a month, season, or year?

Hourly data is useful for questions such as:

  • What was the temperature at 2 PM?
  • How quickly did temperatures rise during the morning?
  • What was the temperature during a particular event?
  • How long did temperatures remain above or below a threshold?

For hourly records, the primary temperature field is:

temp

Daily records additionally provide:

tempmax
tempmin

What units are used for temperature?

Temperature units are controlled by the request’s unit group.

The commonly used unit groups include:

unitGroup=us
unitGroup=metric
unitGroup=uk

For temperature:

Unit groupTemperature unit
us°F
metric°C
uk°C

The selected unit group also controls the units of other weather elements such as precipitation, wind speed, and snow.

What is feels-like temperature?

In addition to measured or modeled air temperature, Visual Crossing provides apparent temperature using:

feelslike

For daily records, you can also retrieve:

feelslikemax
feelslikemin

feelslike accounts for heat-index effects during sufficiently hot and humid conditions and wind-chill effects during sufficiently cold and windy conditions. Daily feelslike values represent the mean apparent temperature for the day.

For example:

temp = 94°F
feelslike = 105°F

indicates conditions where humidity is making the apparent temperature warmer than the measured air temperature.

Similarly:

temp = 25°F
feelslike = 14°F

indicates cold and windy conditions where wind chill makes the apparent temperature lower.

For more information, see Where Can I Find Historical Heat Index and Wind Chill Data?.

What is dew point?

Temperature is often useful when analyzed together with:

dew
humidity

dew is the dew-point temperature, while humidity represents relative humidity.

These fields can help explain why two days with the same air temperature may feel very different.

For example:

temp = 88°F
humidity = 35%

may feel quite different from:

temp = 88°F
humidity = 75%

even though the measured air temperature is identical.

How can I find temperature for a specific location and date?

The easiest no-code option is the Visual Crossing Weather Query Builder.

Enter the location, choose a historical date or date range, select the weather elements you need, and run the query.

You can then:

  • Preview the results in your browser
  • Download the weather data
  • Open the data in Excel or another analysis tool
  • Generate a Weather API request for automation

For basic temperature analysis, start with:

datetime
temp
tempmax
tempmin

For a broader analysis, you might also include:

feelslike
feelslikemax
feelslikemin
humidity
dew

Look up historical temperature by address

Visual Crossing can resolve a street address, city, postal code, landmark, or other location description.

For example:

London, UK

or:

1600 Pennsylvania Avenue NW, Washington, DC

When using an address, check the returned:

resolvedAddress
latitude
longitude

to confirm that the intended location was selected.

For more information, see How to Look Up Weather by Address.

Look up historical temperature by latitude and longitude

You can also specify an exact coordinate using:

latitude,longitude

For example:

38.9697,-77.3850

Coordinates are useful for:

  • Weather stations
  • Farms
  • Construction sites
  • Research locations
  • Remote locations
  • IoT devices
  • Locations without a useful street address

Using coordinates also eliminates ambiguity introduced by geocoding place names or addresses.

For more information, see How to Look Up Weather by Latitude and Longitude.

Retrieve historical temperature using the Timeline Weather API

For automated applications, use the Timeline Weather API.

The basic historical request structure is:

/timeline/[location]/[date1]/[date2]

For example:

https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK/2026-07-01/2026-07-07?unitGroup=metric&include=days&elements=datetime,tempmax,tempmin,temp&key=YOUR_API_KEY

This request retrieves daily:

datetime
tempmax
tempmin
temp

for London between July 1 and July 7, 2026.

The Timeline API uses the same endpoint for historical weather, current conditions, forecasts, and statistical weather data.

For complete details, see the Timeline Weather API documentation.

Retrieve hourly historical temperature

To retrieve hourly temperature, request:

include=hours

For example:

https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK/2026-07-01?unitGroup=metric&include=hours&elements=datetime,temp&key=YOUR_API_KEY

The resulting hourly records can be used to examine temperature changes throughout the day.

For example:

{
  "datetime": "14:00:00",
  "temp": 24.7
}

Hourly data is particularly useful for event analysis, energy applications, transportation, agriculture, and situations where the exact timing of temperature conditions matters.

Retrieve recent historical temperature dynamically

The Timeline API also supports dynamic date periods.

For example:

last30days

can be used to retrieve the most recent 30 days:

https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK/last30days?unitGroup=metric&include=days&elements=datetime,tempmax,tempmin,temp&key=YOUR_API_KEY

Other dynamic date values include periods such as:

today
yesterday
lastyear

For more information, see the Visual Crossing documentation for dynamic date periods.

Retrieve current temperature

Current conditions can be requested using:

include=current

For example:

https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK?unitGroup=metric&include=current&elements=datetime,temp,feelslike,humidity,dew&key=YOUR_API_KEY

Current conditions are returned in:

currentConditions

and can include:

temp
feelslike
humidity
dew

Current conditions are based on the most recent suitable data available for the requested location.

Retrieve forecast temperature

Forecast temperature is retrieved through the same Timeline API.

For example:

https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK?unitGroup=metric&include=days&elements=datetime,tempmax,tempmin,temp,feelslike&key=YOUR_API_KEY

This makes it possible to use a consistent data structure when an application needs to transition from historical temperature to current conditions and forecasts.

How historical temperature is created for a location

Historical weather for an arbitrary geographic point is not necessarily a direct copy of a single nearest weather station.

Visual Crossing can evaluate multiple observations and sources when creating historical weather for a requested location.

Factors can include:

  • Distance
  • Station quality
  • Elevation
  • Observation availability
  • Weather element
  • Source quality

The stations or sources contributing to the weather record can also change through time.

For more information, see How Historical Weather Data Records Are Created from Local Weather Station Observations.

Why nearby stations can report different temperatures

Two nearby weather stations do not necessarily record identical temperatures.

Differences can result from:

  • Elevation
  • Urban versus rural surroundings
  • Distance from water
  • Terrain
  • Vegetation
  • Instrument exposure
  • Observation timing
  • Local weather conditions

For example, a downtown weather station may remain warmer overnight than a rural station several miles away due to the urban heat-island effect.

In mountainous areas, elevation differences can produce large temperature differences over short geographic distances.

This is why simply selecting the geographically nearest station is not always the best way to estimate temperature at an arbitrary location.

Temperature and elevation

Air temperature generally decreases with elevation through much of the lower atmosphere, although the exact relationship varies with atmospheric conditions.

This can be important when requesting weather for:

  • Mountain communities
  • Ski areas
  • Valleys
  • Elevated roadways
  • Remote terrain

A station several miles away at a similar elevation may sometimes represent a location better than a closer station with a large elevation difference.

Historical records can be updated

Recent historical temperature values can change after they are first published.

Additional observations may arrive, provisional reports may be replaced, or upstream sources may issue corrections.

For analyses involving very recent historical weather, it is possible for a later query to return an updated value.

For more information, see How Historical Weather Data Is Updated.

Missing temperature values

Visual Crossing uses null or empty values when temperature data is unavailable.

A missing value should not be interpreted as:

0

Zero is a valid temperature.

For example:

temp = 0°C

represents an actual temperature of zero degrees Celsius.

A null value means the requested temperature value is unavailable.

Weather-element availability can vary by location and historical period.

Example: analyzing a heat wave

Suppose you want to study a historical heat wave.

A useful daily dataset might contain:

datetime
tempmax
tempmin
temp
feelslikemax
humidity
dew

You could then analyze:

  • Consecutive days above a temperature threshold
  • Maximum daily temperature
  • Overnight minimum temperatures
  • Mean daily temperature
  • Apparent temperature
  • Humidity and dew point

Hourly data can provide additional insight into:

  • When the maximum occurred
  • How quickly temperatures rose
  • How long a threshold was exceeded
  • Whether overnight cooling occurred

Example: analyzing freezing conditions

For cold-weather applications, you might retrieve:

datetime
tempmin
tempmax
temp
feelslikemin

and identify days where:

tempmin <= 32°F

or:

tempmin <= 0°C

Depending on the application, hourly data may be preferable because a daily minimum alone does not tell you how long freezing conditions lasted.

This distinction can matter for:

  • Agriculture
  • Infrastructure
  • Transportation
  • Construction
  • Freeze protection

Example: calculating heating or cooling metrics

Historical temperature is often used to create derived business or energy measures.

For example, temperature data can support calculations involving:

  • Heating degree days
  • Cooling degree days
  • Growing degree days
  • Threshold exceedance hours
  • Freeze hours
  • Heat exposure

For these calculations, make sure that the temperature resolution and aggregation method match the intended analysis.

Comparing temperature across years

Historical temperature can be used to compare the same period across multiple years.

For example, you might compare July temperatures for:

2022
2023
2024
2025
2026

using:

tempmax
tempmin
temp

This can help identify:

  • Unusually warm periods
  • Unusually cold periods
  • Seasonal variation
  • Year-to-year differences
  • Long-term trends

For formal climate analysis, make sure that your reference period and statistical methodology are appropriate for the question being studied.

Historical temperature versus climate normals

Historical temperature records describe what occurred on specific dates.

Climate statistics answer a different question:

What is normally expected for this location and time of year?

For example:

July 4, 2025 tempmax

is a historical observation.

A 30-year mean July 4 maximum temperature is a climate statistic.

Both can be useful, but they should not be treated as the same type of data.

For information about climate summaries and statistical weather, see How to Create Monthly and Annual Climate Summaries and Normals.

Summary

Historical temperature is available through the Visual Crossing Weather Data tools and Timeline Weather API.

The main temperature fields are:

temp
tempmax
tempmin

For daily records:

  • tempmax is the maximum temperature.
  • tempmin is the minimum temperature.
  • temp is the mean temperature for the day.

Do not assume that daily temp is simply:

(tempmax + tempmin) / 2

For apparent-temperature analysis, also consider:

feelslike
feelslikemax
feelslikemin

and for atmospheric moisture:

humidity
dew

Use daily records for long-term summaries and hourly records when the timing of temperature changes matters.

You can retrieve temperature using Visual Crossing Weather Data or programmatically through the Timeline Weather API.

For current field definitions, see the Weather Data Documentation.

If you have questions about a specific temperature query or dataset, contact Visual Crossing Support.