{"name":"historical-weather","id":"sfoln/historical-weather","title":"Historical Weather Data API","description":"Get daily historical weather for any place or coordinates and date range since 1940: max, min and mean temperature, precipitation, rain, snowfall, wind and sunshine, one row per day (Open-Meteo). $0.20 per 1,000 days + $0.002 per location.","version":"0.1","status":"ready","family":{"id":"data-utilities","name":"Data utilities","description":"Exchange rates, geocoding, weather forecasts and history, VIN decoding, US address enrichment, GitHub repository stats and DeFi protocol data.","actors":8},"categories":["DEVELOPER_TOOLS","AUTOMATION","TRAVEL"],"availability":"on_request","seoTitle":"Historical Weather API – $0.20 per 1,000 Days","seoDescription":"Historical weather data API: daily temperature, rain, snow, wind and sunshine for any place since 1940, as JSON or CSV. $0.20 per 1,000 days + location fee.","summary":"Historical Weather Data API gets daily historical weather – max/min/mean temperature, precipitation, rain, snowfall, max wind speed and sunshine duration – for any list of places or coordinates and any date range back to 1940. Each location-day is one clean dataset row, ready for spreadsheets, BI tools, insurance and claims checks, energy and retail demand models, agronomy and machine-learning features.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"historical-weather-day","title":"Historical weather day","description":"Charged once per location-day row delivered (days without data in the archive are not returned or charged).","priceUsd":0.0002},{"name":"historical-weather-query","title":"Historical weather location","description":"Charged once per location for which at least one day of history was delivered.","priceUsd":0.002}]},"input":{"description":"List places or coordinates and a date range. Each location produces one dataset row per day plus one per-location summary row.","required":["locations","startDate"],"fields":[{"name":"locations","title":"Locations","type":"array","required":true,"description":"One per line: a place name (\"London\", \"Paris, France\") or \"latitude,longitude\" (\"35.6762,139.6503\"). Via the API you can also pass objects like {\"latitude\": 52.52, \"longitude\": 13.41, \"name\": \"Site A\"} or {\"place\": \"Springfield\", \"countryCode\": \"US\"}. Accounts on the Apify free plan can process up to 10 locations per run and 31 days per location.","prefill":["London"],"editor":"stringList"},{"name":"startDate","title":"Start date","type":"string","required":true,"description":"First day (YYYY-MM-DD), 1940-01-01 or later.","prefill":"2025-01-01","editor":"textfield"},{"name":"endDate","title":"End date","type":"string","required":false,"description":"Last day (YYYY-MM-DD), inclusive. At most 366 days after the start date and not in the future. Defaults to the start date. The newest ~5 days are usually not in the archive yet.","prefill":"2025-01-07","editor":"textfield"},{"name":"variables","title":"Daily variables","type":"array","required":false,"description":"Which daily values to return. Leave empty for all.","default":[],"editor":"select"},{"name":"units","title":"Units","type":"string","required":false,"description":"metric = °C, km/h, mm (snowfall cm) · imperial = °F, mph, inch.","default":"metric","enum":["metric","imperial"],"editor":"select"},{"name":"maxLocations","title":"Max locations","type":"integer","required":false,"description":"Safety cap on how many locations are processed in this run.","default":100,"minimum":1,"maximum":1000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"How many locations are processed in parallel.","default":5,"minimum":1,"maximum":10},{"name":"includeRaw","title":"Include raw upstream response","type":"boolean","required":false,"description":"Attach the unmodified Open-Meteo payload to each per-location summary row.","default":false}]},"exampleInput":{"locations":["London"],"startDate":"2025-01-01","endDate":"2025-01-07"},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The parsed location input."},{"name":"recordType","type":"string","title":"Record type","description":"day = one billed row per location-day · location = per-location summary.","example":"day"},{"name":"location","type":"string | null","title":"Location","description":"Resolved place label or \"lat,lng\"."},{"name":"resolvedPlace","type":"object | null","title":"Resolved place","description":"Geocoding match for place-name inputs."},{"name":"latitude","type":"number | null","title":"Latitude","description":"Grid-cell latitude used by the archive."},{"name":"longitude","type":"number | null","title":"Longitude","description":"Grid-cell longitude used by the archive."},{"name":"elevation","type":"number | null","title":"Elevation (m)"},{"name":"timezone","type":"string | null","title":"Timezone","description":"Local timezone used to aggregate days."},{"name":"date","type":"string","title":"Date","description":"Local calendar day (day rows).","example":"2025-01-01"},{"name":"tempMax","type":"number | null","title":"Max temperature"},{"name":"tempMin","type":"number | null","title":"Min temperature"},{"name":"tempMean","type":"number | null","title":"Mean temperature"},{"name":"precipitation","type":"number | null","title":"Precipitation sum"},{"name":"rain","type":"number | null","title":"Rain sum"},{"name":"snowfall","type":"number | null","title":"Snowfall sum","description":"cm (metric) or inch."},{"name":"windMax","type":"number | null","title":"Max wind speed (10 m)"},{"name":"sunshineDuration","type":"number | null","title":"Sunshine duration (s)","description":"Seconds of sunshine (WMO definition)."},{"name":"units","type":"object | null","title":"Units","description":"Unit label per returned variable."},{"name":"startDate","type":"string | null","title":"Start date (summary)"},{"name":"endDate","type":"string | null","title":"End date (summary)"},{"name":"daysRequested","type":"integer | null","title":"Days requested (summary)"},{"name":"daysReturned","type":"integer | null","title":"Days returned (summary)"},{"name":"attribution","type":"string | null","title":"Attribution","description":"Weather data by Open-Meteo.com (CC BY 4.0)."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan","example":"ok"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether this record incurred a pay-per-event charge."},{"name":"chargedEvent","type":"string | null","title":"Charged event"},{"name":"source","type":"string","title":"Source","description":"openmeteo"},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."}],"outputExample":{"input":{"kind":"place","place":"London"},"recordType":"day","location":"London, England, United Kingdom","latitude":51.493847,"longitude":-0.12354,"elevation":23,"timezone":"Europe/London","units":{"tempMax":"°C","tempMin":"°C","precipitation":"mm"},"attribution":"Weather data by Open-Meteo.com (CC BY 4.0)","date":"2025-01-01","tempMax":11.2,"tempMin":6.1,"precipitation":3.4,"status":"ok","charged":true,"chargedEvent":"historical-weather-day","source":"openmeteo","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[],"mcpExamplePrompt":"Get the daily weather in London from 1 to 7 January 2025: maximum and minimum temperature, rain and sunshine hours.","related":["weather-forecast","geocode-address"],"urls":{"site":"https://www.sfoln.com/actors/historical-weather/","siteJson":"https://www.sfoln.com/actors/historical-weather.json","siteMarkdown":"https://www.sfoln.com/actors/historical-weather.md","runSync":"https://api.apify.com/v2/actors/sfoln~historical-weather/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~historical-weather/runs","mcp":"https://mcp.apify.com?tools=sfoln/historical-weather","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20Historical%20Weather%20Data%20API%20(sfoln%2Fhistorical-weather)&body=Please%20publish%20historical-weather.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}