面向开发者的 Top 10 Weather API 推荐 (2026)
最出色的免费与付费 weather APIs 对比及代码示例
开始使用 Hypereal 构建
通过单个 API 访问 Kling、Flux、Sora、Veo 等。免费积分开始,扩展到数百万。
无需信用卡 • 10万+ 开发者 • 企业级服务
2026 年开发者首选的 10 大天气 API
天气数据是软件开发中最常用的第三方集成数据源之一。无论你是在构建旅游应用、智能家居面板、农业工具还是物流平台,你都需要通过简洁的 API 获取可靠的天气数据。
本指南对 2026 年最优秀的 10 个天气 API 进行了排名,对比了它们的免费额度、定价、准确性、功能以及集成难度。每个条目都包含一个可运行的代码示例,方便你立即开始测试。
快速对比表
| API | 免费额度 | 预报天数 | 历史数据 | 警报 | 平均延迟 |
|---|---|---|---|---|---|
| OpenWeatherMap | 1,000 次/天 | 5 天 | 有(付费) | 有 | ~200ms |
| WeatherAPI | 100 万次/月 | 14 天 | 有(免费) | 有 | ~150ms |
| Tomorrow.io | 500 次/天 | 15 天 | 有(付费) | 有 | ~250ms |
| Visual Crossing | 1,000 条记录/天 | 15 天 | 有(免费) | 有 | ~300ms |
| Open-Meteo | 无限制(非商业) | 16 天 | 有(免费) | 无 | ~100ms |
| AccuWeather | 50 次/天 | 5 天 | 无 | 有 | ~350ms |
| Weatherbit | 500 次/天 | 7 天 | 有(付费) | 有 | ~200ms |
| Pirate Weather | 10,000 次/月 | 7 天 | 无 | 有 | ~250ms |
| Meteomatics | 500 次/天 | 10 天 | 有 | 有 | ~400ms |
| AerisWeather | 100 次/天 | 7 天 | 有(付费) | 有 | ~300ms |
1. OpenWeatherMap
最适合: 拥有庞大社区的通用天气数据需求。
OpenWeatherMap 是最受欢迎的天气 API,拥有超过 300 万开发者用户。其免费额度足以支持大多数业余项目和小型应用。
核心功能
- 实时天气、5 天预报、空气污染数据
- 全球 45,000+ 气象站
- One Call API 3.0 可通过单次请求获取全面数据
- 提供 Python、JavaScript 等多种语言的 SDK
代码示例
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']}%")
定价
- Free: 1,000 次/天,实时天气 + 5 天预报
- Developer: $40/月 -- 3,000 次/分,One Call 3.0
- Professional: $180/月 -- 30,000 次/分,含历史数据
2. WeatherAPI
最适合: 免费额度最慷慨且功能全面的方案。
WeatherAPI 凭借每月 100 万次免费 API 调用脱颖而出,这远超其他供应商。其免费版还包含历史数据、天文数据和体育天气。
代码示例
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`);
});
定价
- Free: 100 万次/月,3 天预报、历史、天文
- Pro: $9/月 -- 14 天预报、空气质量、警报
- Business: $39/月 -- 更高限额、海洋天气
3. Tomorrow.io (原名 Climacell)
最适合: 超本地、分钟级的分钟天气预报。
Tomorrow.io 提供超越传统来源的专有天气数据。其微观天气技术可提供精准到具体地点的预报,非常适合物流、农业和户外活动规划。
代码示例
import requests
url = "https://api.tomorrow.io/v4/weather/forecast"
params = {
"location": "40.7128,-74.0060", # 纽约
"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")
定价
- Free: 500 次/天,5 天逐小时预报
- Starter: $25/月 -- 15 天预报,分钟级预报
- Growth: $100/月 -- 历史数据、自定义警报
4. Visual Crossing
最适合: 历史天气数据和批量下载。
Visual Crossing 在历史天气数据方面表现卓越。免费版即可访问数十年的历史记录,是数据分析、机器学习训练集和气候研究的理想选择。
代码示例
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']}")
定价
- Free: 1,000 条记录/天,完整历史访问权限
- Professional: $35/月 -- 10,000 条记录/天
- Corporate: $250/月 -- 100 万条记录/天,含 SLA
5. Open-Meteo
最适合: 无需 API Key 的免费开源天气数据。
Open-Meteo 是一个完全开源的天气 API,非商业用途无需 API Key 也无需注册。它汇总了来自 NOAA、DWD 和 MeteoFrance 等国家气象机构的数据,提供高质量的免费预报。
代码示例
// 无需 API key!
const response = await fetch(
"https://api.open-meteo.com/v1/forecast?" +
"latitude=48.8566&longitude=2.3522" + // 巴黎
"&hourly=temperature_2m,precipitation_probability" +
"&daily=temperature_2m_max,temperature_2m_min" +
"&timezone=Europe/Paris"
);
const data = await response.json();
// 逐小时温度
data.hourly.time.slice(0, 12).forEach((time, i) => {
console.log(`${time}: ${data.hourly.temperature_2m[i]}°C`);
});
定价
- Non-commercial: 免费,无限制,无需 Key
- Commercial: 15 欧元/月起
6. AccuWeather
最适合: 品牌知名度和面向消费者的应用。
AccuWeather 是全球知名度最高的天气品牌之一。对于注重品牌信任度的消费级应用,其 API 非常合适。其 MinuteCast 功能可提供未来两小时内分钟级的降水预报。
代码示例
import requests
API_KEY = "YOUR_ACCUWEATHER_KEY"
# 第一步:获取位置 key
location = requests.get(
"http://dataservice.accuweather.com/locations/v1/cities/search",
params={"apikey": API_KEY, "q": "Berlin"}
).json()
location_key = location[0]["Key"]
# 第二步:获取当前天气状况
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']}")
定价
- Free: 50 次/天(限制很大)
- Standard: $25/月 -- 225,000 次/月
- Premium: 定制化定价
7. Weatherbit
最适合: 空气质量数据和极端天气警报。
Weatherbit 将天气预报与详尽的空气质量数据(AQI、PM2.5、PM10、臭氧)相结合。它是健康类应用和环境监测的强力选择。
代码示例
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³`);
定价
- Free: 500 次/天,7 天预报,空气质量
- Starter: $35/月 -- 50,000 次/天
- Developer: $160/月 -- 更高限额,含 SLA
8. Pirate Weather
最适合: 直接替代 Dark Sky API。
Pirate Weather 是一个免费开源的天气 API,旨在直接替代现已失效的 Dark Sky API。如果你原有的应用使用了 Dark Sky,只需更改基准 URL 即可切换到 Pirate Weather。
代码示例
import requests
# 直接替代 Dark Sky
API_KEY = "YOUR_PIRATE_WEATHER_KEY"
lat, lon = 37.7749, -122.4194 # 旧金山
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}%")
定价
- Free: 10,000 次/月
- Paid: 更高限额每月 5 美元起
9. Meteomatics
最适合: 企业级气象数据。
Meteomatics 提供应用于航空、能源和农业的专业级天气数据。其 API 支持具有多个参数、时间范围和输出格式(包括 GeoJSON、netCDF 和 CSV)的复杂查询。
代码示例
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']}")
定价
- Free: 500 次/天(试用账号)
- Business: 根据数据量定制化定价
10. AerisWeather (Xweather)
最适合: 天气可视化和地图。
AerisWeather(现为 Xweather/DTN 旗下)提供天气数据以及强大的地图和可视化层。其 API 包括雷达图像、卫星数据和热带风暴追踪。
代码示例
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}`);
}
定价
- Free Developer: 100 次/天,单个项目
- Developer: $25/月 -- 5,000 次/天
- Premium: 定制化定价
如何选择合适的天气 API
参考以下决策框架:
| 你的需求 | 最佳选择 | 原因 |
|---|---|---|
| 业余项目 / 兴趣爱好 | Open-Meteo | 免费,无需 Key |
| 免费调用次数最多 | WeatherAPI | 每月免费调用 100 万次 |
| 历史数据 | Visual Crossing | 数十年的免费历史数据 |
| 分钟级预报 | Tomorrow.io | 微观天气技术 |
| 从 Dark Sky 迁移 | Pirate Weather | 相同的 API 格式 |
| 侧重空气质量 | Weatherbit | 最佳 AQI 数据 |
| 企业级 / 航空级 | Meteomatics | 专业级准确度 |
总结
对于大多数开发者来说,WeatherAPI 或 Open-Meteo 是最佳起点。WeatherAPI 提供了功能完备且最慷慨的免费版,而 Open-Meteo 完全不需要注册。如果你需要为机器学习项目获取历史数据,请从 Visual Crossing 开始。对于企业应用,建议评估 Tomorrow.io 或 Meteomatics。
如果你在集成天气数据的同时还在构建 AI 驱动的应用——例如生成天气相关的视频内容、创建天气广播的 AI 数字人,或为预报合成语音旁白——欢迎免费试用 Hypereal AI,包含 35 个积分,无需信用卡。Hypereal 提供的视频生成、语音克隆和唇形同步模型 API 可以与实时数据源完美搭配。
