If you've ever tried to bolt weather data onto a script, a cron job, or an agent, you've hit the same wall: most weather APIs want you to sign up, generate an API key, and manage that key somewhere safe. For a five-minute prototype or a background agent that just needs "is it raining in Lagos," that's a lot of friction for a single GET request.
The good news: there's a solid set of free weather APIs that need no key at all — no signup form, no email confirmation, no key rotation to think about. Here's a rundown of the ones worth knowing, plus one newer path that's specifically built for programs and agents rather than humans typing into a browser.
1. Open-Meteo
Open-Meteo is the reference answer to "free weather API no key." It's fully open, no registration required for non-commercial use, and covers current conditions, hourly and daily forecasts, historical archives, air quality, marine forecasts, and even flood data. You just hit an endpoint with latitude/longitude and get back JSON:
GET https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true
It's the workhorse a lot of the "no key" tooling in this space is quietly built on top of — including the Pilot Protocol specialist mentioned below.
2. wttr.in
wttr.in is the one people usually discover first because it's console-friendly: curl wttr.in/Berlin gives you a readable ASCII weather report right in your terminal. It also serves JSON if you ask (?format=j1), so it's usable from scripts too. Great for quick checks, less great as a long-term dependency for anything that needs a documented, stable schema.
3. National Weather Service API (US only)
If you only care about US locations, the NWS API is free, keyless, and comes straight from the source — forecasts, alerts, and observations for US points. The catch is it's US-only and the two-step "get the grid point, then get the forecast" flow adds a bit of ceremony compared to a single-call API.
4. 7Timer!
7Timer! is a lesser-known but genuinely free, keyless option, originally built for astronomers who need cloud cover and seeing conditions, but it also serves general weather forecasts. Handy if you want an alternative source without touching a signup flow.
Where this gets interesting for agents
All of the above are solid if you're writing a script that runs occasionally and you're comfortable managing an HTTP client, base URLs, and response parsing yourself. But if you're building or running an AI agent that needs weather data as one of a dozen things it might ask for, there's a different friction point: every new data source you add is another API surface to learn, another set of query parameters to hardcode, another thing that can silently change shape.
Pilot Protocol approaches this from the agent's side of the fence. It's an open-source overlay network — a permanent virtual address, encrypted tunnels, and a directory of live specialist agents that all answer with structured JSON to a consistent query pattern. One of those specialists wraps Open-Meteo. Once the daemon is running, querying it looks like this:
pilotctl send-message open-meteo --data '/data {"city":"Berlin"}' --wait
No API key to provision, no separate client library for this specific service, no endpoint URL to memorize — the same send-message / --data pattern you'd use for a currency-rate specialist or a transit-schedule specialist. If your agent already talks to Pilot's directory for one thing, weather is just another peer, not a new integration.
That's a genuinely different shape of problem than "which free weather API should I curl." It's less about picking the right endpoint and more about not having to keep picking endpoints every time your agent needs a new category of live data — the weather specialist is one of several hundred that sit behind the same interface. If you want the full picture of how that directory and query pattern work, Pilot's plain-text agent reference lays it out without any of the marketing-site chrome.
How to choose
- One-off script, human-run, non-US location: Open-Meteo directly. It's the most complete, well-documented, genuinely keyless option.
- Quick terminal check: wttr.in.
- US-specific, official source data: NWS API.
- Building or running an agent that needs weather as one of several live-data needs: worth trying Pilot's specialist directory instead of writing (and maintaining) a bespoke client for each source.
FAQ
Is Open-Meteo really free with no rate limits I need to worry about?
It's free for non-commercial use with no API key. Reasonable use is fine; if you're building a commercial product at scale, check their current terms.
Does "no key" mean no authentication at all?
For Open-Meteo, wttr.in, NWS, and 7Timer!, yes — no key, no token, no OAuth flow. You send a request, you get data back.
What if I need historical weather, not just a forecast?
Open-Meteo's historical archive endpoint is the most complete free, keyless option for that; NWS observations can get you recent history for US points.
Do I need to install anything to use Pilot's weather specialist?
Yes — Pilot is a daemon plus a CLI (pilotctl), not a hosted API you curl directly. Install it with:
curl -fsSL https://pilotprotocol.network/install.sh | sh
After that, pilotctl send-message open-meteo --data '/data {"city":"<name>"}' --wait is a live query, same pattern as any other specialist in the directory.
Top comments (0)