天气数据API服务文档 | 实时/7天/15天预报
这篇文章详细介绍了一种天气查询服务,提供了实时天气(1天)、7天预报和15天预报三个RESTful接口,支持通过地区名称、编码、IP或经纬度等多种方式查询,返回数据包含温度、湿度、风力等实时气象数据,以及生活指数、3小时预报等丰富信息,每个查询请求仅收费0.01元(做好缓存成本极低),接口稳定持久,适用于各类需要天气数据的应用场景。
服务概述
本API服务提供精准的天气数据查询功能,包含:
- 实时天气数据(当前天气状况)
- 7天天气预报(未来一周预报)
- 15天天气预报(中长期预报)
数据来源于权威气象机构,更新频率高,准确可靠,适用于各类需要天气数据的应用场景。
接口功能说明
试用/充值:联系微信xujian_cq,API请求识别码,从小程序"数字续坚"首页签到获取
1. 实时天气查询
GET https://www.xujian.tech/atlapi/data/weather/1d
功能特点:
- 获取当前天气状况
- 支持多种查询方式(地区名、编码、IP或经纬度)
- 可选返回3小时预报、生活指数等扩展数据
核心数据字段:
- 温度、湿度、风力等实时气象数据
- 空气质量指数
- 天气现象描述
- 生活指数建议
2. 7天天气预报
GET https://www.xujian.tech/atlapi/data/weather/7d
功能特点:
- 获取未来7天天气预报
- 每日天气概况(白天/夜间)
- 温度变化趋势
- 降水概率预测
3. 15天天气预报
GET https://www.xujian.com/atlapi/data/weather/15d
功能特点:
- 获取未来15天天气趋势
- 中长期天气预测
- 适合行程规划等场景
接口调用说明
通用参数
所有接口都需要以下参数:
参数名 | 必填 | 说明 |
---|---|---|
code | 是 | API请求识别码,从小程序"数字续坚"获取 |
查询方式(四选一)
- 地区中文名(areaCn)
- 地区编码(areaCode)
- IP地址(ip)
- 经纬度坐标(lat/lng)
调用示例
// Java调用示例
String url = "https://www.xujian.tech/atlapi/data/weather/1d?areaCn=北京&code=YOUR_CODE";
HttpResponse response = HttpRequest.get(url).execute();
数据返回格式
所有接口返回统一JSON格式:
{
"code": 200,
"msg": "succeed.",
"data": {
"lifeIndex": {
"花粉过敏指数": {
"state": "低",
"reply": "暂无"
},
"穿衣指数": {
"state": "热",
"reply": "适合穿T恤、短薄外套等夏季服装。"
},
"紫外线指数": {
"state": "中等",
"reply": "涂擦SPF大于15、PA+防晒护肤品。"
},
"感冒指数": {
"state": "较易发",
"reply": "天凉,湿度大,较易感冒。"
},
"洗车指数": {
"state": "不宜",
"reply": "有雨,雨水和泥水会弄脏爱车。"
},
"运动指数": {
"state": "适宜",
"reply": "天气较好,尽情感受运动的快乐吧。"
}
},
"night": {
"time": "7日夜间",
"sunDown": "日落 19:34",
"wind": "北风",
"weather_pic": "n09",
"temperature": "20",
"wind_pow": "<3级",
"weather": "大雨"
},
"hour3data": [
"07日11时,d01,多云,27℃,东南风,<3级,2",
"07日14时,d01,多云,27℃,东南风,<3级,2",
"07日17时,d01,多云,27℃,东北风,<3级,3",
"07日20时,n01,多云,24℃,东北风,<3级,0",
"07日23时,n08,中雨,20℃,北风,<3级,0",
"08日02时,n08,中雨,20℃,北风,<3级,0",
"08日05时,n08,中雨,20℃,西北风,<3级,0",
"08日08时,d08,中雨,21℃,西北风,<3级,3"
],
"now": {
"WD": "东北风",
"qy": "973",
"rain24h": "0",
"SD": "57%",
"njd": "16km",
"rain": "0",
"wde": "NE",
"sd": "57%",
"wse": "4km/h",
"tempf": "79.5",
"aqi": "46",
"date": "05月07日(星期三)",
"cityname": "重庆",
"aqi_pm25": "46",
"weathercode": "d01",
"WS": "1级",
"temp": "26.4",
"city": "101040100",
"weathere": "Cloudy",
"weather": "多云",
"limitnumber": "3和8",
"nameen": "chongqing",
"time": "13:25"
},
"cityInfo": {
"areaCn": "重庆",
"nationCn": "中国",
"areaId": "101040100",
"areaCode": "500000",
"nationEn": "china",
"cityEn": "chongqing",
"provCn": "重庆",
"provEn": "chongqing",
"areaEn": "chongqing",
"cityCn": "重庆"
},
"hour1data": [
{
"jd": "1",
"jb": "20",
"je": "93",
"jc": "0",
"jf": "2025050708",
"ja": "02"
},
{
"jd": "2",
"jb": "23",
"je": "86",
"jc": "0",
"jf": "2025050709",
"ja": "02"
},
{
"jd": "2",
"jb": "25",
"je": "79",
"jc": "0",
"jf": "2025050710",
"ja": "01"
},
{
"jd": "3",
"jb": "27",
"je": "73",
"jc": "0",
"jf": "2025050711",
"ja": "01"
},
{
"jd": "3",
"jb": "27",
"je": "71",
"jc": "0",
"jf": "2025050712",
"ja": "01"
},
{
"jd": "3",
"jb": "27",
"je": "69",
"jc": "0",
"jf": "2025050713",
"ja": "01"
},
{
"jd": "3",
"jb": "27",
"je": "67",
"jc": "0",
"jf": "2025050714",
"ja": "01"
},
{
"jd": "2",
"jb": "27",
"je": "67",
"jc": "0",
"jf": "2025050715",
"ja": "01"
},
{
"jd": "2",
"jb": "27",
"je": "67",
"jc": "0",
"jf": "2025050716",
"ja": "01"
},
{
"jd": "1",
"jb": "27",
"je": "68",
"jc": "0",
"jf": "2025050717",
"ja": "01"
},
{
"jd": "1",
"jb": "26",
"je": "68",
"jc": "0",
"jf": "2025050718",
"ja": "01"
},
{
"jd": "1",
"jb": "25",
"je": "68",
"jc": "0",
"jf": "2025050719",
"ja": "01"
},
{
"jd": "1",
"jb": "24",
"je": "68",
"jc": "0",
"jf": "2025050720",
"ja": "01"
},
{
"jd": "1",
"jb": "23",
"je": "71",
"jc": "0",
"jf": "2025050721",
"ja": "07"
},
{
"jd": "1",
"jb": "21",
"je": "74",
"jc": "0",
"jf": "2025050722",
"ja": "07"
},
{
"jd": "8",
"jb": "20",
"je": "77",
"jc": "0",
"jf": "2025050723",
"ja": "07"
},
{
"jd": "8",
"jb": "20",
"je": "79",
"jc": "0",
"jf": "2025050800",
"ja": "08"
},
{
"jd": "8",
"jb": "20",
"je": "82",
"jc": "0",
"jf": "2025050801",
"ja": "08"
},
{
"jd": "8",
"jb": "20",
"je": "84",
"jc": "0",
"jf": "2025050802",
"ja": "08"
},
{
"jd": "2",
"jb": "20",
"je": "85",
"jc": "0",
"jf": "2025050803",
"ja": "07"
},
{
"jd": "5",
"jb": "20",
"je": "85",
"jc": "0",
"jf": "2025050804",
"ja": "07"
},
{
"jd": "7",
"jb": "20",
"je": "85",
"jc": "0",
"jf": "2025050805",
"ja": "07"
},
{
"jd": "7",
"jb": "20",
"je": "86",
"jc": "0",
"jf": "2025050806",
"ja": "07"
},
{
"jd": "7",
"jb": "20",
"je": "86",
"jc": "0",
"jf": "2025050807",
"ja": "07"
}
],
"observe24h": {
"od1": "重庆",
"od0": "202505071200",
"od2": [
{
"od28": "44",
"od21": "12",
"od22": "25.9",
"od23": "351",
"od24": "东风",
"od25": "1",
"od26": "0",
"od27": "60"
},
{
"od28": "44",
"od21": "11",
"od22": "25.9",
"od23": "72",
"od24": "北风",
"od25": "2",
"od26": "0",
"od27": "60"
},
{
"od28": "40",
"od21": "10",
"od22": "24.9",
"od23": "71",
"od24": "东风",
"od25": "1",
"od26": "0",
"od27": "65"
},
{
"od28": "41",
"od21": "09",
"od22": "23.8",
"od23": "42",
"od24": "东北风",
"od25": "2",
"od26": "0",
"od27": "70"
},
{
"od28": "43",
"od21": "08",
"od22": "21.9",
"od23": "34",
"od24": "东北风",
"od25": "1",
"od26": "0",
"od27": "77"
},
{
"od28": "40",
"od21": "07",
"od22": "20.7",
"od23": "84",
"od24": "东风",
"od25": "1",
"od26": "0",
"od27": "83"
},
{
"od28": "40",
"od21": "06",
"od22": "20.7",
"od23": "218",
"od24": "南风",
"od25": "1",
"od26": "0",
"od27": "82"
},
{
"od28": "42",
"od21": "05",
"od22": "20.7",
"od23": "217",
"od24": "西南风",
"od25": "2",
"od26": "0",
"od27": "82"
},
{
"od28": "43",
"od21": "04",
"od22": "21",
"od23": "221",
"od24": "西南风",
"od25": "2",
"od26": "0",
"od27": "82"
},
{
"od28": "45",
"od21": "03",
"od22": "21.1",
"od23": "208",
"od24": "西南风",
"od25": "2",
"od26": "0",
"od27": "83"
},
{
"od28": "47",
"od21": "02",
"od22": "21.3",
"od23": "278",
"od24": "西风",
"od25": "1",
"od26": "0",
"od27": "83"
},
{
"od28": "49",
"od21": "01",
"od22": "21.7",
"od23": "221",
"od24": "西风",
"od25": "2",
"od26": "0",
"od27": "82"
},
{
"od28": "54",
"od21": "00",
"od22": "21.9",
"od23": "235",
"od24": "西南风",
"od25": "1",
"od26": "0",
"od27": "82"
},
{
"od28": "58",
"od21": "23",
"od22": "22.3",
"od23": "220",
"od24": "西南风",
"od25": "2",
"od26": "0",
"od27": "80"
},
{
"od28": "59",
"od21": "22",
"od22": "22.6",
"od23": "222",
"od24": "西南风",
"od25": "2",
"od26": "0",
"od27": "78"
},
{
"od28": "",
"od21": "21",
"od22": "23.1",
"od23": "229",
"od24": "西南风",
"od25": "2",
"od26": "0",
"od27": "75"
},
{
"od28": "60",
"od21": "20",
"od22": "23.7",
"od23": "117",
"od24": "南风",
"od25": "1",
"od26": "0",
"od27": "72"
},
{
"od28": "59",
"od21": "19",
"od22": "24.1",
"od23": "169",
"od24": "南风",
"od25": "1",
"od26": "0",
"od27": "70"
},
{
"od28": "",
"od21": "18",
"od22": "24",
"od23": "87",
"od24": "东南风",
"od25": "1",
"od26": "0",
"od27": "71"
},
{
"od28": "57",
"od21": "17",
"od22": "24.2",
"od23": "78",
"od24": "东风",
"od25": "1",
"od26": "0",
"od27": "70"
},
{
"od28": "56",
"od21": "16",
"od22": "24.4",
"od23": "158",
"od24": "东风",
"od25": "2",
"od26": "0",
"od27": "71"
},
{
"od28": "56",
"od21": "15",
"od22": "24.8",
"od23": "18",
"od24": "东北风",
"od25": "1",
"od26": "0",
"od27": "65"
},
{
"od28": "58",
"od21": "14",
"od22": "24.3",
"od23": "271",
"od24": "东北风",
"od25": "1",
"od26": "0",
"od27": "65"
},
{
"od28": "",
"od21": "13",
"od22": "24.2",
"od23": "225",
"od24": "西风",
"od25": "2",
"od26": "0",
"od27": "65"
},
{
"od28": "60",
"od21": "12",
"od22": "24.2",
"od23": "217",
"od24": "南风",
"od25": "2",
"od26": "0",
"od27": "67"
}
]
},
"day": {
"time": "7日白天",
"sunUp": "日出 06:06",
"wind": "东北风",
"weather_pic": "d01",
"temperature": "28",
"wind_pow": "<3级",
"weather": "多云"
}
}
}
计费说明
- 每个查询请求收费0.01元
- 余额不足时会返回错误代码1002
- 建议做好数据缓存以降低成本
错误代码
代码 | 说明 | 解决方案 |
---|---|---|
1001 | 参数错误 | 检查请求参数 |
1002 | 余额不足 | 联系客服充值 |
1003 | 查询失败 | 稍后重试或联系技术支持 |
技术支持
如有任何问题,请联系:
- 微信:xujian_cq
- 个人博客:https://www.xujian.tech
最佳实践建议
- 实时天气数据建议缓存5-10分钟
- 预报数据建议每天更新2-3次
- 生活指数数据适合直接展示给终端用户
- 使用地区编码查询可提高稳定性