5 ms·
Open-Meteo is a free and open-source weather API for non-commercial use
- gnabgib 10mo agoPopular in 2021 (443 points, 147 comments) https://news.ycombinator.com/item?id=28499910 https://news.ycombinator.com/item?id=28499910
- wolvoleo 10mo agoI used to use this with home assistant but you seem to have to give a credit card now even for the free access :(
- death916 10mo agoAlot of free services are having to do that now to avoid bots and abuse, unfortunately.
- rdmuser 10mo agoThe creator has a hn account: https://news.ycombinator.com/user?id=meteo-jeff https://news.ycombinator.com/user?id=meteo-jeff His initial comment describing it: https://news.ycombinator.com/item?id=28504740 https://news.ycombinator.com/item?id=28504740
- abetusk 10mo agoThis is a very confusingly worded. I think what they mean is that the data and code itself is libre/free/open [0] [1] but the API access is essentially rate limited for non-paying customers? [0] https://open-meteo.com/en/licence https://open-meteo.com/en/licence (CC-BY) [1] https://github.com/open-meteo/open-meteo/blob/main/LICENSE https://github.com/open-meteo/open-meteo/blob/main/LICENSE (AGPL)
- tedivm 10mo agoMost APIs, even ones you pay for, are rate limited. I don't think having a rate limit changes the open nature of the API. I'm looking forward to seeing if I can plug this in to my Home Assistant install for weather so I can compare it to Pirate Weather which I use now.
- abetusk 10mo agoAgreed. I think the source code is open and I think the data is open. The by-line is just a bit confusing. I think what they're trying to say is "Our service is completely open source. Our code is open source and our data is open source. We provide reasonable rate limits to our API access for non-paying customers. See our pricing plan if you'd like to become a commercial user and increase your rate limits".
- open-meteo 10mo agoHi, creator of Open-Meteo here. The limits are 600 calls / min, 5.000 calls / hour and 10.000 calls / day. Limits are applied on an IP basis. This is not ideal for shared hosting services like cloudflare workers, but is the easiest and privacy-friendly way to limit access to fair-use. Additionally, weather data is uploaded to a AWS S3 open-data sponsorship and you can run your own API instances (even commercially). The only draw back is, that a lot of data needs to transferred. I am working on a S3 cloud-native approach, but it is still in testing. The free tier is cross-financed by commercial customers that use the service for energy forecasting, agriculture planing or wild fire prevention. There is no external funding, VCs, or whatsoever, the code is build in public on GitHub and I intent to continue running the free API service as is.
- linker3000 10mo agoI tried this with Node-RED for a Meshtastic project (MeshBop), but experienced occasional timeouts even when only making a handful of calls per hour. In the end I moved to Met Norway's API for UK/EU weather.
- alsetmusic 10mo agoWhat timing. I was on a hunt only yesterday for free weather APIs for scripting on a personal hobby. I recognize the page design, but I can’t recall how it rated compared to the competition nor whether it made the list to use. I’ll revisit when I get back to my computer. I live HN.
- boxed 10mo agoOpen-Meteo is amazing. I use it for my iOS weather app Frej: https://github.com/boxed/frej https://github.com/boxed/frej
- hazbot 10mo agoWe are a happy paying customer at $DAYJOB. Also, I looked into omfiles for a project recently, I was very impressed with their speed and blown away by the compression ratios!
- ChrisArchitect 10mo agoSee also Pirate Weather https://pirateweather.net/ https://pirateweather.net/ which powers Merry Sky
- williamcotton 10mo agoHey, I was literally just writing up this example for a DSL I'm working on: GET /:city/weather.svg |> fetch("https://geocoding-api.open-meteo.com/v1/search?name=" + .params.city + "&count=10&language=en&format=json", {method: "GET"}) |> jq: `{ latitude: .data.response.results[0].latitude | tostring, longitude: .data.response.results[0].longitude | tostring }` |> fetch("https://api.open-meteo.com/v1/forecast?latitude=" + .latitude + "&longitude=" + .longitude + "&hourly=temperature_2m", {method: "GET"}) |> jq: ` .data.response.hourly as $h | [$h.time, $h.temperature_2m] | transpose | map({time: .[0], temp: .[1]}) ` |> gg({ "type": "svg", "width": 800, "height": 400} ): ` aes(x: time, y: temp) | line() | point() ` Thanks for the service, I use it for demos all the time!
- szszrk 10mo agoI use it with an excellent Android app Breezy Weather (from f-droid) for a few years now. It's the best weather data and presentation I ever had. The only solution that is clean and where long term predictions are worth something. Partially because of the data source, partially because of the UI that doesn't bullshit me.
- karteum 10mo agoThat's great ! FWIW I generated a small web app (I am just starting to experiment with Claude and Devstral and that seemed a good exercise :), and put it online in case it would be useful https://meteo.karteum.ovh https://meteo.karteum.ovh (e.g. during my last trips I used the weather forecasts to refine where I would go more precisely within the country. But I was frustrated as many meteo websites are full of ads...)