Favor Onuoha
Posted on ยท 5 min read
Best Free Weather APIs in 2026: 8 Options Tested and Compared
The short answer: for most projects in 2026, start with Open-Meteo. It needs no API key, allows 10,000 calls a day for non-commercial use and covers the whole world. If you need a commercial free tier with a key, WeatherAPI.com (100,000 calls a month) and OpenWeatherMap's One Call 3.0 (1,000 calls a day) are the strongest options. For US-only projects, the National Weather Service API is free, keyless and official.
That recommendation comes from data. Our directory tracks all 47 weather APIs in the public-apis list and checks each one every day. On October 24, 2026, 43 were online, 22 need no API key and 20 support CORS for browser calls. Below we compare the eight you're most likely to choose between, show working code, and explain which to pick for which job.
#Free weather API comparison (October 2026)
API | API key | Free allowance | Commercial use on free tier | Notes |
|---|---|---|---|---|
No | 10,000 calls/day, 300,000/month | No (non-commercial) | Global forecasts, historical data, many weather models | |
Yes | 1,000 One Call 3.0 calls/day | Yes, pay per call above the free amount | The most widely used; card may be needed for One Call 3.0 | |
Yes | 100,000 calls/month | Yes | Free plan: 3-day forecast, 1 day of history | |
Yes (free) | Generous free tier | Check terms | Dark Sky-compatible response format | |
Yes | 500 requests/day (25/hour) | Check terms | Hyperlocal forecasts and weather layers | |
Yes | Free plan with a daily record limit | Yes | Strong historical weather data | |
Yes | 100 calls/month | Yes | Paid plans from $9.99/month for 50,000 calls | |
No (User-Agent) | Free, fair use | Yes | US only, official National Weather Service data |
Prices and limits were taken from each provider's pricing page in October 2026. Free tiers change, so check the provider's page before you commit.
#1. Open-Meteo: the best free weather API without a key
Open-Meteo is the default choice for hobby projects, prototypes and research. There's no sign-up: you call the URL and get JSON back. Its free, non-commercial tier allows 600 calls a minute, 5,000 an hour and 10,000 a day. It combines forecasts from national weather services, and it also offers historical weather, marine and air-quality endpoints. It sends CORS headers, so you can call it straight from the browser.
const url = new URL("https://api.open-meteo.com/v1/forecast");
url.search = new URLSearchParams({
latitude: "51.51",
longitude: "-0.13",
current: "temperature_2m,wind_speed_10m",
daily: "temperature_2m_max,temperature_2m_min",
timezone: "auto",
});
const res = await fetch(url);
const data = await res.json();
console.log(`Now: ${data.current.temperature_2m}ยฐC`);
console.log("Next 7 days (max):", data.daily.temperature_2m_max);The catch: the free endpoint is for non-commercial use only. A commercial product needs one of Open-Meteo's paid API plans, which start at 1 million calls a month.
#2. OpenWeatherMap: the most popular, with a pay-as-you-go free tier
OpenWeatherMap is the API most tutorials use. Its current flagship, One Call API 3.0, includes 1,000 free calls per day. Above that you're billed per call, and you can set a daily cap in your account to avoid surprise charges. Users report that One Call 3.0 asks for a payment card even if you stay within the free calls.
import os
import requests
params = {
"lat": 51.51,
"lon": -0.13,
"units": "metric",
"appid": os.environ["OWM_API_KEY"],
}
res = requests.get("https://api.openweathermap.org/data/3.0/onecall", params=params, timeout=10)
res.raise_for_status()
print(res.json()["current"]["temp"])If you're moving off OpenWeatherMap, our OpenWeatherMap alternatives page ranks every comparable API.
#3. WeatherAPI.com: the biggest commercial-friendly free tier
WeatherAPI.com offers 100,000 calls a month on its free plan, with paid plans from $7/month for 3 million calls. The free plan includes real-time weather, a 3-day forecast and one day of history. It also bundles extras like astronomy, time zone and IP-to-location lookups.
curl "https://api.weatherapi.com/v1/forecast.json?key=$WEATHERAPI_KEY&q=London&days=3"#4. Pirate Weather: a Dark Sky replacement
When Apple shut down the Dark Sky API, Pirate Weather rebuilt its response format from public NOAA and ECMWF model data. If you have old Dark Sky code, it's the closest drop-in replacement. The public-apis list marks it as keyless, but it now needs a free API key: requests without one return 401 Unauthorized.
curl "https://api.pirateweather.net/forecast/$PIRATE_WEATHER_KEY/51.51,-0.13?units=si"#5. Tomorrow.io: hyperlocal forecasts with tight limits
Tomorrow.io is strong on hyperlocal and minute-by-minute data. Its free plan is the tightest here: 500 requests a day, 25 an hour and 3 a second, resetting at midnight UTC. Map tiles count as requests too. It's best for a small dashboard, not for polling many locations.
#6. Visual Crossing: best for historical weather
Visual Crossing is the pick when you need decades of history in one request, for example for analytics, insurance or energy models. Its free plan allows commercial use and limits the number of weather "records" you can retrieve per day, so a long date range costs more than a single forecast.
#7. Weatherstack: simple, but a small free tier
Weatherstack has a clean API for current weather, but its free plan includes only 100 calls a month. Paid plans run from $9.99/month (50,000 calls) to $99.99/month (1 million calls). It suits a project that already uses other APILayer services.
#8. National Weather Service: free, official, US only
The US National Weather Service API is run by the US government. It's free, has no key and returns GeoJSON. It does ask you to send a User-Agent header that identifies your app. Getting a forecast takes two calls: one to find the forecast grid for a coordinate, then the forecast itself.
import requests
headers = {"User-Agent": "my-weather-app (you@example.com)"}
point = requests.get("https://api.weather.gov/points/38.8894,-77.0352", headers=headers, timeout=10).json()
forecast = requests.get(point["properties"]["forecast"], headers=headers, timeout=10).json()
for period in forecast["properties"]["periods"][:3]:
print(period["name"], period["temperature"], period["shortForecast"])#Which free weather API should you choose?
- Prototype, student project or personal app: Open-Meteo. No key, generous limits.
- Commercial app on a budget: WeatherAPI.com's free plan, or OpenWeatherMap with a daily spending cap.
- Front-end only (no server): Open-Meteo or WeatherAPI, both CORS-friendly.
- Historical data and analytics: Visual Crossing or Open-Meteo's historical API.
- US-only: the National Weather Service API.
- Legacy Dark Sky code: Pirate Weather.
#Weather APIs that need no key at all
Besides Open-Meteo, these keyless weather APIs were online in our latest check: 7Timer!, wttr.in, NASA POWER for solar and agricultural weather data, and RainViewer for radar imagery. See all of them on our list of weather APIs with no API key.
wttr.in is a fun one for terminal tools:
curl "https://wttr.in/London?format=3"#Tips for using any weather API
- Cache aggressively. Forecasts update every 10โ60 minutes. OpenWeatherMap recommends polling no more than every 10 minutes.
- Round coordinates. Rounding to two decimal places (about 1 km) improves your cache hit rate.
- Keep keys on the server. Proxy keyed APIs through a server or serverless function, not front-end code.
- Plan for outages. Keep a second provider configured. Our weather API rankings update daily, so you can see which ones are up right now.
#FAQ
#What is the best free weather API?
For non-commercial use, Open-Meteo: no API key and 10,000 calls a day. For a commercial project, WeatherAPI.com's free plan of 100,000 calls a month is the most generous.
#Is there a free weather API without an API key?
Yes. Open-Meteo, wttr.in, 7Timer! and the US National Weather Service API all work without a key. 22 of the 47 weather APIs we track need no key.
#Is the OpenWeatherMap API still free?
Yes, within limits. One Call API 3.0 includes 1,000 free calls per day, and calls above that are billed. You can set a daily limit in your account to stay free.
#Which weather APIs can I call from the browser?
APIs that send CORS headers, including Open-Meteo, WeatherAPI.com, Pirate Weather and wttr.in. 20 of the 47 weather APIs we track support CORS.