# 全国天气预报信息
> 来源页面: https://www.gugudata.com/api/details/weatherinfo
## 概览
- API 标识: `weatherinfo`
- 分类: 天气/空气质量
- 描述: 精确到行政区的7日天气预报
- 标签: 日4次数据更新 / 多维度天气指标
- 短标签: 基础数据
- 详情页: https://www.gugudata.com/api/details/weatherinfo
- LLM Markdown: https://www.gugudata.com/api/details/weatherinfo/llm.md
- 数据预览: https://www.gugudata.com/preview/weatherinfo
- 购买开通: https://www.gugudata.com/order/weatherinfo
- APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders
## 给大模型的接入指令
如果你正在帮助用户接入这个 API,请优先使用本文档中的接口地址、请求方式、请求参数、返回参数、状态码、cURL 示例和预览数据生成代码或排查问题。
- 接入目标: 调用 `全国天气预报信息`,不要臆造未在文档中出现的参数或返回字段。
- AppKey 获取: 用户登录咕咕数据开发者中心后,在 `APP KEY 管理` 页面复制对应产品的 AppKey。
- AppKey 替换: 示例中的 `YOUR_APPKEY`、`APPKEY`、`{{YOUR_APPKEY}}`、`{{appkey}}`、`{{appKey}}` 都应替换为用户自己的 AppKey。
- 开通与续费: 未开通时引导用户访问购买开通页;已开通或需要续费时,引导用户进入开发者中心或订单与续费页。
- 错误处理: HTTP 状态码代表传输层结果,响应体内的业务状态码代表接口业务结果,代码中应分别处理。
- 生产建议: AppKey 应保存在服务端环境变量或密钥配置中,由服务端统一发起请求,不要写入网页、App 客户端或公开仓库。
关键链接:
- 接口详情页: https://www.gugudata.com/api/details/weatherinfo
- LLM Markdown: https://www.gugudata.com/api/details/weatherinfo/llm.md
- 数据预览: https://www.gugudata.com/preview/weatherinfo
- 购买开通页: https://www.gugudata.com/order/weatherinfo
- 开发者中心 APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders
## API 功能
- 全国天气预报数据,每隔 6 小时更新;
- 包含湿度信息;
- 精确到行政区级别的天气预报数据;
- 提供最长 7 天的天气预报数据;
- 提供每日小时级别的天气预报数据;
- 提供本地日出日落、当日历史温度等附加数据;
- 提供紫外线、穿衣、洗车、空气污染等额外指导数据;
- 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3);
- 全面兼容 Apple ATS;
- 全国多节点 CDN 部署;
- 接口极速响应,多台服务器构建 API 接口负载均衡。
- 接口调用状态与状态监控: https://www.gugudata.com/status
## API 文档
- 接口地址: `https://api.gugudata.com/weather/weatherinfo`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `GET`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/weather/weatherinfo?appkey=YOUR_APPKEY&code=YOUR_VALUE&days=1`
- 接口测试: https://api.gugudata.com/weather/weatherinfo/sz
- Apifox: https://doc.gugudata.com/
- Postman: https://www.postman.com/gugudata/gugudata-official/collection/1163860-ee114343-4622-4a54-a39b-994173c27dac/?action=share&creator=1163860&active-environment=1163860-a95b31ef-324f-43db-b2fc-faa41f45bd35
- OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json
### 前置接口
- 前置接口说明: 查询地区编码,根据市或区的关键字进行查询,如北京、苏州、海淀、吴中等
- 前置接口地址: https://api.gugudata.com/weather/weatherinfo/region?appkey=APPKEY&keyword=查询编码的市或区关键字,如北京、海淀
- 前置接口参数说明: appkey=YOUR_APPKEY&keyword=查询编码的市或区关键字,如北京、海淀
- 前置接口返回格式: `application/json; charset=utf-8`
- 前置接口返回说明: 包含地区编码以及省、市、区相关信息
- 前置接口请求方式: `GET`
- 前置接口请求协议: `HTTPS`
## 请求参数
| 参数名 | 参数类型 | 是否必须 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| appkey | string | 是 | YOUR_APPKEY | 付费后获取的 APPKEY |
| code | string | 是 | YOUR_VALUE | 地区编码,可通过前置接口查询获得地区编码。 |
| days | integer | 否 | 1 | 获取天气预报的天数,默认为1,即为当天数据。最大值为7。 |
## 返回参数
| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.StatusCode | integer | 接口返回状态码 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口数据返回时间 |
| DataStatus.DataTotalCount | integer | 此条件下的总数据量 |
| Data.Code | string | 地区编码 |
| Data.WeatherDate | string | 天气预报的日期 |
| Data.WeatherRegion | object | 当前天气预报的详细地区信息,数据格式与查询地区编码接口返回数据格式一致。 |
| Data.WeatherRegion.ReginType | string | 位置信息类型,2为市级别数据,3为区级别数据 |
| Data.WeatherRegion.Code | string | 地区完整编码 |
| Data.WeatherRegion.ProvinceCode | string | 省编码 |
| Data.WeatherRegion.ProvinceName | string | 省名称 |
| Data.WeatherRegion.CityCode | string | 市编码 |
| Data.WeatherRegion.CityName | string | 市名称 |
| Data.WeatherRegion.RegionCode | string | 区编码 |
| Data.WeatherRegion.RegionName | string | 区名称 |
| Data.WeatherRegion.TownCode | string | 镇编码 |
| Data.WeatherRegion.TownName | string | 镇名称 |
| Data.WeatherInfo | string | 天气情况 |
| Data.TemperatureHigh | integer | 最高温度 |
| Data.TemperatureLow | integer | 最低温度 |
| Data.TodayHistoryHighestTemperature | integer | 当日历史最高温度(历史均值) |
| Data.TodayHistoryLowestTemperature | integer | 当日历史最低温度(历史均值) |
| Data.WeatherWindCondition1 | string | 风向1 |
| Data.WeatherWindCondition2 | string | 风向2 |
| Data.WeatherWindLevel | string | 风级 |
| Data.SunRiseTime | string | 日出时间 |
| Data.SunSetTime | string | 日落时间 |
| Data.WeatherPerHour | array | 当日小时级别的天气预报数据数组 |
| Data.WeatherPerHour.WeatherTime | string | 预报的小时时间,24小时制 |
| Data.WeatherPerHour.WeatherInfo | string | 天气情况,天气情况枚举值:晴\|多云\|阴\|阵雨\|雷阵雨\|雷阵雨伴有冰雹\|雨夹雪\|小雨\|中雨\|大雨\|暴雨\|大暴雨\|特大暴雨\|阵雪\|小雪\|中雪\|大雪\|暴雪\|雾\|冻雨\|沙尘暴\|小雨-中雨\|中雨-大雨\|大雨-暴雨\|暴雨-大暴雨\|大暴雨-特大暴雨\|小雪-中雪\|中雪-大雪\|大雪-暴雪\|浮尘\|扬沙\|强沙尘暴\|霾 |
| Data.WeatherPerHour.Temperature | string | 温度 |
| Data.WeatherPerHour.Wet | integer | 空气湿度 |
| Data.WeatherPerHour.WeatherWindCondition | string | 风向 |
| Data.WeatherPerHour.WeatherWindLevel | string | 风级 |
| Data.LifeHelperUV | object | UV指数 |
| Data.LifeHelperWear | object | 穿衣指数 |
| Data.LifeHelperWashCar | object | 洗车指数 |
| Data.LifeHelperAir | object | 空气指数 |
| Data.LifeHelper.HelperName | string | 指数名称 |
| Data.LifeHelper.HelperStatus | string | 指数状态 |
| Data.LifeHelper.HelperValue | string | 指数值。总分:紫外线5分,穿衣7分,洗车4分,空气5分 |
| Data.LifeHelper.HelperContent | string | 指数内容 |
| Data.WeatherDataGenerateDateTime | string | 天气预报内容数据生成时间 |
## 接口常见 HTTP 响应状态码
> 以下为接口调用中常见的 HTTP 传输层状态码,不等同于响应体内的业务状态码;完整状态码注册表以 IANA HTTP Status Code Registry 为准。
| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理;业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功,并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理,结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空,适用于无需返回数据的操作。 |
| 304 | 资源未变更 | 配合缓存或条件请求使用,表示可继续使用本地缓存。 |
| 400 | 请求参数错误 | 请求参数缺失、格式错误或参数组合不合法。 |
| 401 | 认证失败 | 缺少、无效或未通过认证的访问凭证(如 AppKey)。 |
| 403 | 无权限访问 | 订单到期、权限不足或接口额度不可用。 |
| 404 | 资源不存在 | 请求路径不存在。 |
| 405 | 请求方法不允许 | 当前路径不支持该 HTTP 方法。 |
| 408 | 请求超时 | 客户端请求在服务端等待时间内未完成,可稍后重试。 |
| 409 | 请求冲突 | 请求与当前资源状态冲突,调整参数或业务状态后重试。 |
| 413 | 请求内容过大 | 上传文件或请求体超过接口限制。 |
| 414 | 请求地址过长 | 请求 URL 超过服务端可处理长度,建议减少查询参数或改用 POST。 |
| 415 | 请求内容类型不支持 | 上传或请求体的内容类型不符合接口要求。 |
| 422 | 请求语义错误 | 请求格式正确,但参数取值、语义或业务约束无法处理。 |
| 429 | 请求频率受限 | 默认按来源 IP 限速,单 IP 最多 5 QPS,可满足常规业务调用。超出限制时接口会返回 429 请求频率受限;已购买接口订单可加购 10 QPS 扩展。 |
| 431 | 请求头过大 | 请求头字段过大或过多,建议精简 Header 后重试。 |
| 500 | 服务器内部错误 | 服务端处理异常,请稍后重试。 |
| 502 | 网关或上游错误 | 网关或代理从上游服务收到异常响应。 |
| 503 | 服务暂时不可用 | 服务维护、容量保护或依赖异常导致暂时不可用,请稍后重试。 |
| 504 | 网关超时 | 网关等待上游服务响应超时,可稍后重试或降低请求复杂度。 |
## 接口自定义业务状态码
| 业务状态码 | 业务状态码解释 | 备注 |
| --- | --- | --- |
| 100 | 正常返回 | |
| 101 | 参数错误 | |
| 102 | 请求频率受限 | 每分钟请求不能超过 100 次 |
| 103 | 账号欠费 | |
| 104 | APPKEY 错误 | 请检查传递的 APPKEY 是否为开发者中心获取到的值 |
## cURL 请求示例
```bash
curl --location --request GET 'https://api.gugudata.com/weather/weatherinfo?appkey=YOUR_APPKEY&code=YOUR_VALUE&days=1'
```
## 常见问题 Q&A
### Q: 数据请求有缓存吗?
A: 接口默认以实时响应为目标。对于日更、月更等具备明确更新周期的数据,会在数据周期内采用缓存与预热策略,以提升响应速度和稳定性;实时查询类接口则以接口说明中的更新频率为准。建议业务侧结合数据时效要求设置本地缓存与重试策略,避免高频重复请求。
### Q: 如何保证请求时 AppKey 的安全性?
A: 用户可以登录咕咕数据开发者中心,在 `APP KEY 管理` 页面复制对应产品的 AppKey;未开通接口时先进入当前接口的购买开通页,已开通或到期续费时进入开发者中心或订单与续费页。建议将 AppKey 保存在服务端环境中,由后端统一调用 API,再向前端或业务系统返回必要结果。不要把 AppKey 写入网页、App 客户端或公开仓库;生产环境建议按系统或业务线拆分 AppKey,并保留调用日志,便于权限控制、审计与问题排查。
### Q: 接口可以用于哪些开发语言?
A: 只要支持 HTTPS 请求的语言和框架均可接入,包括 Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等。推荐由后端统一封装调用逻辑,集中处理鉴权、缓存、限流、重试和错误码映射,让 Web、App、AI Agent、内部系统和自动化任务复用同一套数据能力。
### Q: 接口性能可以保证吗?
A: GuGuData API 按生产环境标准部署,持续关注接口稳定性、响应速度与可用性。实际响应时间会受接口类型、请求参数、数据源更新和网络环境影响;建议生产接入前进行联调与压测,并设置合理的超时、重试、降级和告警策略。批量处理或高并发场景可提前评估 QPS、白名单和专属容量方案。
## 服务协议以及服务免责声明
- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)
## 技术支持
- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7