How to Get Historical Weather Data into Google Sheets

If you need past weather next to your own numbers (delivery volumes, footfall, production output), you don't need an API integration. Meteosource generates a CSV of historical hourly data straight from your account, and Sheets imports it in a couple of clicks.

02. 09. 2026

This is available on the Startup, Standard and Renewables plans.

Generate the historical weather CSV

Log in and open Historical data in csv in the Client section sidebar.

Historical data in csv link in the Meteosource client section sidebar

Fill in the form. Most of it is self-explanatory: a Place ID (from our place search) or coordinates, a date range, unit system and timezone. Under Include variables, tick what you need from the general, temperature, cloud, wind, precipitation and other groups. Date is always included.

Hit Generate CSV. A line appears below the form when the dataset is ready, with a download link.

One thing to watch: each day of data counts as one request. A single location from 1 January to 31 August is 243 requests, not one.

Import the CSV into Google Sheets

Go File → Import → Upload and drop in the file. Leave the separator on Detect automatically, and untick "Convert text to numbers, dates, and formulas."

That checkbox is on by default and it's the one thing to get right here. Left on, Sheets guesses at every value using your spreadsheet's language. If that language uses a decimal comma (Czech, German, French, Spanish and most of continental Europe), 1.9 doesn't read as a number, so Sheets stores it as 1 September instead, while -0.2 stays text because no date fits. You end up with a column that's part text, part date, and no error to tell you.

With the box unticked, every value arrives exactly as it is in the file:


date,weather,temperature,wind.speed,cloud_cover.total,precipitation.total,irradiance
2026-01-01T00:00:00+01:00,partly_sunny,-0.2,1.1,54,0,0.1
2026-01-01T01:00:00+01:00,overcast,-1.5,1.7,100,0,0

One row per hour, one column per variable, using the same dotted names as our API (wind.speed, cloud_cover.total), so anything you build on the export will still line up if you move to the API later.

Working with the weather data

Once the data's in, it's yours to slice: filter to a date range, sort by temperature, or line it up next to your own figures in the next columns over.

If you'd rather work in Excel, the same file opens directly there. See Weather Data in MS Excel.

One last thing if you'll be joining this against your own records: set the form's Timezone to whatever your own data uses. Left on auto it follows the location's local time, daylight saving and all. That's fine if your figures are recorded locally too, but pick UTC if your systems log in UTC, or the two sides will drift apart by an hour for half the year.

Do you like this article?
Please share it with your friends