Top 10 Weather APIs for Developers (2026)
The best free and paid weather APIs compared with code examples
Start Building with Hypereal
Access Kling, Flux, Sora, Veo & more through a single API. Free credits to start, scale to millions.
No credit card required • 100k+ developers • Enterprise ready
Top 10 Weather APIs for Developers (2026)
Weather data is one of the most commonly integrated third-party data sources in software development. Whether you are building a travel app, a smart home dashboard, an agricultural tool, or a logistics platform, you need reliable weather data delivered through a clean API.
This guide ranks the top 10 weather APIs available in 2026, comparing their free tiers, pricing, accuracy, features, and ease of integration. Each entry includes a working code example so you can start testing immediately.
Quick Comparison Table
| API | Free Tier | Forecast Days | Historical Data | Alerts | Avg Latency |
|---|---|---|---|---|---|
| OpenWeatherMap | 1,000 calls/day | 5 days | Yes (paid) | Yes | ~200ms |
| WeatherAPI | 1M calls/month | 14 days | Yes (free) | Yes | ~150ms |
| Tomorrow.io | 500 calls/day | 15 days | Yes (paid) | Yes | ~250ms |
| Visual Crossing | 1,000 records/day | 15 days | Yes (free) | Yes | ~300ms |
| Open-Meteo | Unlimited (non-commercial) | 16 days | Yes (free) | No | ~100ms |
| AccuWeather | 50 calls/day | 5 days | No | Yes | ~350ms |
| Weatherbit | 500 calls/day | 7 days | Yes (paid) | Yes | ~200ms |
| Pirate Weather | 10,000 calls/month | 7 days | No | Yes | ~250ms |
| Meteomatics | 500 calls/day | 10 days | Yes | Yes | ~400ms |
| AerisWeather | 100 calls/day | 7 days | Yes (paid) | Yes | ~300ms |
1. OpenWeatherMap
Best for: General-purpose weather data with the largest community.
OpenWeatherMap is the most popular weather API, used by over 3 million developers. The free tier is generous enough for most side projects and small applications.
Key Features
- Current weather, 5-day forecast, air pollution data
- 45,000+ weather stations worldwide
- One Call API 3.0 for comprehensive data in a single request
- SDKs for Python, JavaScript, and more
Code Example
import requests
API_KEY = "your_openweathermap_key"
city = "San Francisco"
response = requests.get(
"https://api.openweathermap.org/data/2.5/weather",
params={
"q": city,
"appid": API_KEY,
"units": "metric"
}
)
data = response.json()
print(f"Temperature: {data['main']['temp']}°C")
print(f"Conditions: {data['weather'][0]['description']}")
print(f"Humidity: {data['main']['humidity']}%")
Pricing
- Free: 1,000 calls/day, current weather + 5-day forecast
- Developer: $40/month -- 3,000 calls/min, One Call 3.0
- Professional: $180/month -- 30,000 calls/min, historical data
2. WeatherAPI
Best for: Most generous free tier with comprehensive features.
WeatherAPI stands out for offering 1 million free API calls per month, which is significantly more than any other provider. It also includes historical data, astronomy data, and sports weather in the free tier.
Code Example
const response = await fetch(
`https://api.weatherapi.com/v1/forecast.json?key=YOUR_KEY&q=London&days=3`
);
const data = await response.json();
console.log(`Location: ${data.location.name}`);
console.log(`Current: ${data.current.temp_c}°C, ${data.current.condition.text}`);
data.forecast.forecastday.forEach(day => {
console.log(`${day.date}: ${day.day.mintemp_c}°C - ${day.day.maxtemp_c}°C`);
});
Pricing
- Free: 1M calls/month, 3-day forecast, history, astronomy
- Pro: $9/month -- 14-day forecast, air quality, alerts
- Business: $39/month -- higher limits, marine weather
3. Tomorrow.io (formerly Climacell)
Best for: Hyperlocal, minute-by-minute forecasts.
Tomorrow.io provides proprietary weather data that goes beyond traditional sources. Their micro-weather technology delivers granular, location-specific forecasts ideal for logistics, agriculture, and outdoor event planning.
Code Example
import requests
url = "https://api.tomorrow.io/v4/weather/forecast"
params = {
"location": "40.7128,-74.0060", # NYC
"apikey": "YOUR_TOMORROW_KEY",
"units": "metric"
}
response = requests.get(url, params=params)
data = response.json()
for hourly in data["timelines"]["hourly"][:6]:
time = hourly["time"]
temp = hourly["values"]["temperature"]
precip = hourly["values"]["precipitationProbability"]
print(f"{time}: {temp}°C, {precip}% rain chance")
Pricing
- Free: 500 calls/day, hourly forecast for 5 days
- Starter: $25/month -- 15-day forecast, minute-by-minute
- Growth: $100/month -- historical data, custom alerts
4. Visual Crossing
Best for: Historical weather data and bulk downloads.
Visual Crossing excels at historical weather data. The free tier includes access to decades of historical records, making it ideal for data analysis, machine learning training sets, and climate research.
Code Example
import requests
API_KEY = "YOUR_VISUAL_CROSSING_KEY"
response = requests.get(
"https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/"
"Tokyo/2026-01-01/2026-01-31",
params={
"unitGroup": "metric",
"key": API_KEY,
"contentType": "json"
}
)
data = response.json()
for day in data["days"]:
print(f"{day['datetime']}: {day['tempmin']}°C - {day['tempmax']}°C, {day['conditions']}")
Pricing
- Free: 1,000 records/day, full historical access
- Professional: $35/month -- 10,000 records/day
- Corporate: $250/month -- 1M records/day, SLA
5. Open-Meteo
Best for: Free, open-source weather data with no API key required.
Open-Meteo is a fully open-source weather API that requires no API key and no registration for non-commercial use. It sources data from national weather services like NOAA, DWD, and MeteoFrance, providing high-quality forecasts at no cost.
Code Example
// No API key needed!
const response = await fetch(
"https://api.open-meteo.com/v1/forecast?" +
"latitude=48.8566&longitude=2.3522" + // Paris
"&hourly=temperature_2m,precipitation_probability" +
"&daily=temperature_2m_max,temperature_2m_min" +
"&timezone=Europe/Paris"
);
const data = await response.json();
// Hourly temperatures
data.hourly.time.slice(0, 12).forEach((time, i) => {
console.log(`${time}: ${data.hourly.temperature_2m[i]}°C`);
});
Pricing
- Non-commercial: Free, unlimited, no key required
- Commercial: Starting at EUR 15/month
6. AccuWeather
Best for: Brand recognition and consumer-facing applications.
AccuWeather is one of the most recognized weather brands globally. Their API is well-suited for consumer applications where brand trust matters. The MinuteCast feature provides minute-by-minute precipitation forecasts for the next two hours.
Code Example
import requests
API_KEY = "YOUR_ACCUWEATHER_KEY"
# Step 1: Get location key
location = requests.get(
"http://dataservice.accuweather.com/locations/v1/cities/search",
params={"apikey": API_KEY, "q": "Berlin"}
).json()
location_key = location[0]["Key"]
# Step 2: Get current conditions
conditions = requests.get(
f"http://dataservice.accuweather.com/currentconditions/v1/{location_key}",
params={"apikey": API_KEY, "details": "true"}
).json()
print(f"Temperature: {conditions[0]['Temperature']['Metric']['Value']}°C")
print(f"Conditions: {conditions[0]['WeatherText']}")
Pricing
- Free: 50 calls/day (very limited)
- Standard: $25/month -- 225,000 calls/month
- Premium: Custom pricing
7. Weatherbit
Best for: Air quality data and severe weather alerts.
Weatherbit combines weather forecasting with extensive air quality data (AQI, PM2.5, PM10, ozone). It is a strong choice for health-focused applications and environmental monitoring.
Code Example
const response = await fetch(
`https://api.weatherbit.io/v2.0/current/airquality?lat=35.6762&lon=139.6503&key=YOUR_KEY`
);
const data = await response.json();
const aq = data.data[0];
console.log(`AQI: ${aq.aqi}`);
console.log(`PM2.5: ${aq.pm25} µg/m³`);
console.log(`PM10: ${aq.pm10} µg/m³`);
console.log(`Ozone: ${aq.o3} µg/m³`);
Pricing
- Free: 500 calls/day, 7-day forecast, air quality
- Starter: $35/month -- 50,000 calls/day
- Developer: $160/month -- higher limits, SLA
8. Pirate Weather
Best for: Drop-in Dark Sky API replacement.
Pirate Weather is a free, open-source weather API designed as a direct replacement for the now-defunct Dark Sky API. If you have an existing application that used Dark Sky, you can switch to Pirate Weather by just changing the base URL.
Code Example
import requests
# Drop-in Dark Sky replacement
API_KEY = "YOUR_PIRATE_WEATHER_KEY"
lat, lon = 37.7749, -122.4194 # San Francisco
response = requests.get(
f"https://api.pirateweather.net/forecast/{API_KEY}/{lat},{lon}",
params={"units": "si"}
)
data = response.json()
current = data["currently"]
print(f"Temperature: {current['temperature']}°C")
print(f"Summary: {current['summary']}")
print(f"Precip Probability: {current['precipProbability'] * 100}%")
Pricing
- Free: 10,000 calls/month
- Paid: Starting at $5/month for higher limits
9. Meteomatics
Best for: Enterprise-grade meteorological data.
Meteomatics provides professional-grade weather data used in aviation, energy, and agriculture. Their API supports complex queries with multiple parameters, time ranges, and output formats including GeoJSON, netCDF, and CSV.
Code Example
import requests
from requests.auth import HTTPBasicAuth
response = requests.get(
"https://api.meteomatics.com/"
"2026-02-06T00:00:00Z--2026-02-07T00:00:00Z:PT1H/"
"t_2m:C,precip_1h:mm/"
"47.3769,8.5417/json",
auth=HTTPBasicAuth("your_username", "your_password")
)
data = response.json()
for entry in data["data"]:
param = entry["parameter"]
for coord in entry["coordinates"]:
for date_entry in coord["dates"][:5]:
print(f"{param}: {date_entry['date']} = {date_entry['value']}")
Pricing
- Free: 500 calls/day (trial account)
- Business: Custom pricing based on data volume
10. AerisWeather (Xweather)
Best for: Weather visualization and mapping.
AerisWeather (now part of Xweather/DTN) provides weather data along with powerful mapping and visualization layers. Their API includes radar imagery, satellite data, and tropical storm tracking.
Code Example
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";
const response = await fetch(
`https://api.aerisapi.com/conditions/seattle,wa?client_id=${clientId}&client_secret=${clientSecret}`
);
const data = await response.json();
if (data.success) {
const obs = data.response[0].periods[0];
console.log(`Temperature: ${obs.tempC}°C`);
console.log(`Feels Like: ${obs.feelslikeC}°C`);
console.log(`Wind: ${obs.windSpeedKPH} km/h ${obs.windDir}`);
}
Pricing
- Free Developer: 100 calls/day, single project
- Developer: $25/month -- 5,000 calls/day
- Premium: Custom pricing
How to Choose the Right Weather API
Use this decision framework:
| Your Need | Best Choice | Why |
|---|---|---|
| Side project / hobby | Open-Meteo | Free, no key needed |
| Most free calls | WeatherAPI | 1M calls/month free |
| Historical data | Visual Crossing | Decades of free history |
| Minute-by-minute forecast | Tomorrow.io | MicroWeather technology |
| Dark Sky migration | Pirate Weather | Same API format |
| Air quality focus | Weatherbit | Best AQI data |
| Enterprise / aviation | Meteomatics | Professional-grade accuracy |
Wrapping Up
For most developers, WeatherAPI or Open-Meteo is the best starting point. WeatherAPI gives you the most generous free tier with comprehensive features, while Open-Meteo requires no registration at all. If you need historical data for ML projects, start with Visual Crossing. For enterprise applications, evaluate Tomorrow.io or Meteomatics.
If you are building AI-powered applications alongside weather integrations -- such as generating weather-related video content, creating AI avatars for weather broadcasts, or synthesizing voice narration for forecasts -- try Hypereal AI free with 35 credits, no credit card required. Hypereal provides API access to video generation, voice cloning, and lip sync models that pair well with real-time data feeds.
Related Articles
Start Building Today
Get 35 free credits on signup. No credit card required. Generate your first image in under 5 minutes.
