{"uid":"cap_E8EByNk7jHIEvyA7S4NVi","slug":"2s-io-historical-weather-api-era5-d7b16fb8","name":"2s.io Historical Weather API (ERA5)","description":"Historical daily weather for any coordinate (ERA5 reanalysis, 1940→~5 days ago). Pass lat + lon + start + end (YYYY-MM-DD, range ≤366 days). Returns per-day max/min/mean temperature (°C), precipitation total (mm) + hours, and max wind (km/h). Source: Open-Meteo archive / ECMWF ERA5 (keyless).","url":"https://2s.io/api/weather/history","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","queryParams"],"properties":{"type":{"const":"http"},"method":{"const":"GET"},"queryParams":{"required":["lat","lon","start","end"],"properties":{"end":{"type":"string","description":"End date YYYY-MM-DD (≤366 days after start)."},"lat":{"type":"number"},"lon":{"type":"number"},"start":{"type":"string","description":"Start date YYYY-MM-DD."}}}}}}},"responseSchema":null,"example":{"request":{"input":{"type":"http","method":"GET","queryParams":{"end":"2022-06-30","lat":48.8566,"lon":2.3522,"start":"2022-06-01"}}},"response":{"data":{"ok":true,"items":[{"date":"2022-06-01","precipMm":0,"tempMaxC":20.5,"tempMinC":7.4,"tempMeanC":14.7,"windMaxKmh":18.1,"precipHours":0},{"date":"2022-06-02","precipMm":0,"tempMaxC":23.4,"tempMinC":9.1,"tempMeanC":17,"windMaxKmh":17.5,"precipHours":0},{"date":"2022-06-03","precipMm":8.2,"tempMaxC":25,"tempMinC":12.4,"tempMeanC":17.9,"windMaxKmh":10.4,"precipHours":4},{"date":"2022-06-04","precipMm":1.1,"tempMaxC":26.5,"tempMinC":14.7,"tempMeanC":20.1,"windMaxKmh":17.9,"precipHours":2},{"date":"2022-06-05","precipMm":5.8,"tempMaxC":22.8,"tempMinC":15.5,"tempMeanC":18.6,"windMaxKmh":24.6,"precipHours":8},{"date":"2022-06-06","precipMm":0.4,"tempMaxC":20.1,"tempMinC":12,"tempMeanC":16.4,"windMaxKmh":18.6,"precipHours":4},{"date":"2022-06-07","precipMm":1,"tempMaxC":21.6,"tempMinC":13.1,"tempMeanC":17.4,"windMaxKmh":21.4,"precipHours":8},{"date":"2022-06-08","precipMm":17,"tempMaxC":20.6,"tempMinC":14.4,"tempMeanC":16.7,"windMaxKmh":22.1,"precipHours":14},{"date":"2022-06-09","precipMm":0.3,"tempMaxC":19.7,"tempMinC":11.7,"tempMeanC":16,"windMaxKmh":20.5,"precipHours":3},{"date":"2022-06-10","precipMm":0,"tempMaxC":22,"tempMinC":12.8,"tempMeanC":18.1,"windMaxKmh":16.1,"precipHours":0},{"date":"2022-06-11","precipMm":0,"tempMaxC":24.5,"tempMinC":14.4,"tempMeanC":19.1,"windMaxKmh":15.2,"precipHours":0},{"date":"2022-06-12","precipMm":0,"tempMaxC":22.3,"tempMinC":13.2,"tempMeanC":17.5,"windMaxKmh":16.4,"precipHours":0},{"date":"2022-06-13","precipMm":0,"tempMaxC":22,"tempMinC":10.1,"tempMeanC":16.5,"windMaxKmh":11.7,"precipHours":0},{"date":"2022-06-14","precipMm":0,"tempMaxC":24.8,"tempMinC":10.9,"tempMeanC":18.5,"windMaxKmh":12.3,"precipHours":0},{"date":"2022-06-15","precipMm":0,"tempMaxC":29,"tempMinC":13.4,"tempMeanC":21.6,"windMaxKmh":13.5,"precipHours":0},{"date":"2022-06-16","precipMm":0,"tempMaxC":28.8,"tempMinC":14.7,"tempMeanC":22.1,"windMaxKmh":10.4,"precipHours":0},{"date":"2022-06-17","precipMm":0,"tempMaxC":32,"tempMinC":15.3,"tempMeanC":24.6,"windMaxKmh":9.2,"precipHours":0},{"date":"2022-06-18","precipMm":0,"tempMaxC":36,"tempMinC":18.5,"tempMeanC":27.8,"windMaxKmh":15.3,"precipHours":0},{"date":"2022-06-19","precipMm":1.6,"tempMaxC":24.9,"tempMinC":15.9,"tempMeanC":20.7,"windMaxKmh":28.8,"precipHours":5},{"date":"2022-06-20","precipMm":18.9,"tempMaxC":20.9,"tempMinC":14.4,"tempMeanC":17.9,"windMaxKmh":17.8,"precipHours":6},{"date":"2022-06-21","precipMm":1.4,"tempMaxC":24.2,"tempMinC":13.9,"tempMeanC":19.1,"windMaxKmh":15.3,"precipHours":5},{"date":"2022-06-22","precipMm":0.5,"tempMaxC":22.9,"tempMinC":15.2,"tempMeanC":19.5,"windMaxKmh":18.9,"precipHours":2},{"date":"2022-06-23","precipMm":6.2,"tempMaxC":26.2,"tempMinC":17.5,"tempMeanC":21.3,"windMaxKmh":15.8,"precipHours":3},{"date":"2022-06-24","precipMm":7.5,"tempMaxC":23,"tempMinC":16.9,"tempMeanC":19.9,"windMaxKmh":25.5,"precipHours":9},{"date":"2022-06-25","precipMm":8.8,"tempMaxC":18.2,"tempMinC":14.8,"tempMeanC":16.8,"windMaxKmh":17.4,"precipHours":14},{"date":"2022-06-26","precipMm":0.4,"tempMaxC":21,"tempMinC":12.3,"tempMeanC":16.4,"windMaxKmh":14.9,"precipHours":2},{"date":"2022-06-27","precipMm":3.7,"tempMaxC":21.7,"tempMinC":13.1,"tempMeanC":17.2,"windMaxKmh":16.7,"precipHours":5},{"date":"2022-06-28","precipMm":0,"tempMaxC":24.8,"tempMinC":11.3,"tempMeanC":18.4,"windMaxKmh":10.1,"precipHours":0},{"date":"2022-06-29","precipMm":0.3,"tempMaxC":24.8,"tempMinC":11.4,"tempMeanC":18.7,"windMaxKmh":17.7,"precipHours":2},{"date":"2022-06-30","precipMm":10.3,"tempMaxC":18.1,"tempMinC":12.9,"tempMeanC":15.4,"windMaxKmh":9.1,"precipHours":13}],"total":30,"source":{"url":"https://open-meteo.com/","license":"CC BY 4.0 (attribute Open-Meteo); underlying CAMS / ECMWF ERA5.","provider":"Open-Meteo (air quality / marine / ERA5 archive)"}},"meta":{"cost":{"usd":0.00144,"tier":0},"caller":"x402","version":null,"endpoint":"weather.history","settlement":{"txHash":"0xee48c05c0ae8de63b28fb7fd7b9ec597e845edee10a699e12309e77a7c1591f2","network":"eip155:8453","success":true}}}},"exampleRequest":{"end":"2022-06-30","lat":48.8566,"lon":2.3522,"start":"2022-06-01"},"tags":["x402"],"displayCostAmount":"0.00144","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.00144/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0036","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0036","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_WAsg2h2GEUWr6UNGyyH3w","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0036","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns per-day max/min/mean temperature, precipitation totals and hours, and max wind speed for any lat/lon coordinate over a historical date range using ERA5 reanalysis data (1940 to ~5 days ago).","exampleAgentPrompt":"What was the daily high and low temperature, total rainfall, and max wind speed at coordinates 48.8566° N, 2.3522° E from June 1 to June 30 2022?","exampleUseCases":null,"resultDescription":"A JSON array of daily records for each date in the requested range, each containing: max temperature (°C), min temperature (°C), mean temperature (°C), total precipitation (mm), precipitation hours, and max wind speed (km/h). Data is sourced from ECMWF ERA5 reanalysis, covering 1940 to approximately 5 days before the current date.","failureModes":["Date range exceeds 366 days — API rejects the request","Start or end date is in the future or within the last ~5 days — data not yet available","Invalid lat/lon values — out-of-range coordinates cause errors","Missing required query parameters (lat, lon, start, end) — returns 400 error","Malformed date format (not YYYY-MM-DD) — parse error"],"whenToPreferThis":"Use this endpoint when you need historical daily weather summaries (temperature, precipitation, wind) for any global coordinate going back to 1940. It is keyless and pay-per-call, making it ideal for one-off or agent-driven lookups without API key management. Prefer it over forecast APIs when you need past data, and over bulk climate datasets when you need a lightweight per-day summary for a specific point location within a 366-day window.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T04:06:56.950Z","isFirstParty":false}