尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

墨迹天气 API 最小可运行示例:实况、预报与生活指数一次搞定

墨迹天气 API 最小可运行示例:实况、预报与生活指数一次搞定
📅 发布时间:2026/7/28 8:06:47

适用场景与接口定位

墨迹天气 API 面向需要实时或历史天气数据的应用场景,例如智能家居面板、户外活动提醒、农业辅助决策(非专业级)、个人天气助手等。它一次调用即可返回实况、未来 7 天逐日预报、24 小时逐时趋势、AQI、9 项生活指数、气象预警及农历信息,极大减少客户端对接口的并发请求次数。

接口能力边界

能力项说明
城市覆盖全国 3 万+ 城市及区县
查询模式城市名模糊(city)、城市 ID 直查(id)、城市搜索(op=search)、历史天气(op=history)
实况数据温度、体感温度、天气现象、湿度、气压、紫外线、风向风力等
预报数据未来 7 天逐日预报(含 AQI)、24 小时逐时预报
生活指数穿衣、限行、防晒、运动等 9 项指数
历史天气支持单日或整月查询(范围:当前月到过去几个月,建议 40 天内)
QPS 限制5 请求/秒
缓存策略实况 5 分钟;当月历史 30 分钟;历史月 24 小时
数据说明由墨迹天气提供,仅供参考,不可用于农业、保险、航运、防灾等专业决策

请求参数与鉴权

接口地址:https://v1.apizero.cn/api/moji-weather
请求方法:GET

Query 参数详解

参数必填类型说明示例
city否(与 id 二选一)string城市中文名,支持模糊匹配(匹配第一个结果)大化
id否(与 city 二选一)number城市 internal_id,通过 op=search 获取,直查更快1205
op否string查询模式:空=实况,search=搜索城市,history=历史天气history
keyword否string当 op=search 时必填,支持中文、拼音、拼音首字母大化
limit否number当 op=search 时生效,返回条数 1-50,默认 205
day否string当 op=history 时必填(单日查询),格式 YYYY-MM-DD 或 MM-DD(配合 month)2026-05-12
month否string当 op=history 时可选(整月查询),格式 YYYYMM202604

Header 鉴权

需要在 HTTP Header 中携带 API Key:
X-API-Key: <your_api_key>

💡 若未提供 API Key,服务端可能会返回 401 或限制访问。实际使用时请在 apizero.cn 准备获取。

最小可运行示例:Curl 命令

以下三个示例覆盖最主要的使用场景,你可以直接复制到终端运行(替换$APIZERO_API_KEY为你的真实 Key)。

1. 按城市名查实况

curl -sS -X GET \ -H "X-API-Key: $APIZERO_API_KEY" \ "https://v1.apizero.cn/api/moji-weather?city=杭州"

返回当前杭州的实况天气、AQI、逐时预报、未来 7 天、生活指数等所有数据。

2. 先搜索城市 ID,再直查(更高效)

# 第一步:搜索“大化”拿到 id curl -sS -X GET \ -H "X-API-Key: $APIZERO_API_KEY" \ "https://v1.apizero.cn/api/moji-weather?op=search&keyword=大化&limit=3" # 第二步:用 id=1205 直查(跳过模糊匹配,响应更快) curl -sS -X GET \ -H "X-API-Key: $APIZERO_API_KEY" \ "https://v1.apizero.cn/api/moji-weather?id=1205"

3. 查询历史天气(单日)

curl -sS -X GET \ -H "X-API-Key: $APIZERO_API_KEY" \ "https://v1.apizero.cn/api/moji-weather?op=history&city=北京&day=2026-05-12"

注意:历史数据范围受缓存策略影响。当月数据可查询到昨天,历史月份可查询完整月。建议查询 40 天以内的日期,更早月份可能无数据。

响应结构与字段解读

成功响应为 JSON 格式,外层code为 0 表示成功,data包含所有天气信息。以下拆解核心字段:

{ "code": 0, "msg": "成功", "data": { "_cached": false, "city": { "id": 1205, "name": "大化瑶族自治县", "parent": "广西壮族自治区", "pinyin": "dahuayaozuzizhixian", "timezone": 8 }, "condition": { "condition": "多云", "temperature": 32, "real_feel": 36, "humidity": 62, "pressure": 999, "wind_dir": "南风", "wind_level": 3, "sun_rise": 1778706000000, "sun_set": 1778757660000, "lunar_date": "丙午年三月廿八", "tips": "防暑||中午外出请注意防暑降温。", "uvi": "中等" }, "aqi": { "value": 29, "description": "优", "level": 1, "updatetime": 1778756400000 }, "forecast_day": [ { "predict_date": 1778601630000, "condition_day": "多云", "condition_night": "多云", "temp_day": 32, "temp_night": 21, "wind_dir_day": "南风", "wind_level_day": 3, "aqi_value": 29, "aqi_desc": "优" } ], "forecast_hour": [ { "predict_hour": 1778752800000, "temperature": 32, "condition": "多云", "humidity": 62, "wind_dir": "南风", "wind_level": "3", "aqi_value": 29 } ], "index": [ { "name": "限行", "status": "不限行" }, { "name": "穿衣", "status": "炎热" }, { "name": "紫外线", "status": "中等" } // ... 共 9 项 ], "summary": "大化瑶族自治县,多云,32℃,南风3级,空气优。" } }

字段要点说明

  • condition中的temperature为当前温度(℃),real_feel为体感温度。
  • 时间戳均为 Unix 毫秒(UTC+8),如sun_rise: 1778706000000对应 2026‑05‑12 06:00:00 CST。
  • forecast_day数组长度固定为 7(未来 7 天),forecast_hour为 24 个条目。
  • aqi的updatetime是 AQI 的更新时间戳,不为实时数据。
  • index数组具体项目与数量可能随城市和季节变化,建议代码中做动态渲染。
  • 当查询op=history时,返回结构略有不同,data下会多出history字段,包含date、condition等历史数据。实际响应结构以官方文档为准。

常见错误与排查

错误表现可能原因排查方案
HTTP 401Header 中未传或传错X-API-Key检查 Key 是否正确,是否已过期
HTTP 400必填参数缺失或格式错误(如day不是有效日期)对照 Query 参数表检查必填项和格式
code ≠ 0 且 msg 含“城市不可识别”城市名不在数据库中(或拼音不完全匹配)先用op=search找到准确的城市名和 id
历史查询返回空数据日期太早超出记录范围,或查询未来日期仅查询过去 40 天内的有效日期
QPS 超限每秒请求超过 5 次添加本地限流或重试策略,减少并发
返回_cached: true走服务端缓存,数据可能滞后根据业务容忍度决定是否强制刷新(当前不支持主动清除缓存)

工程化注意事项

  1. 优先使用 city_id 直查:城市搜索返回的id是稳定的数值标识,用id参数查询可避开模糊匹配的耗时,并减少重复计算。建议在本地建立城市ID映射表。
  2. 合理使用缓存:实况数据缓存 5 分钟,历史月数据缓存 24 小时。如果业务需要更实时,可缩短轮询间隔,但不宜低于 5 分钟。
  3. 异常重试策略:对于网络波动或临时限流,建议指数退避重试(如 1s、2s、4s),最多 3 次。避免重试时冲爆 QPS。
  4. 数据准确性说明:接口数据仅供一般参考,不应直接用于专业决策。如果需要用于农业灌溉、保险理赔、航运调度等场景,请务必与官方气象局数据交叉验证。
  5. timezone 字段:city.timezone为 UTC 偏移小时数(中国为 8),若用户终端与北京时间不同,需做时区转换。
  6. 农历和 tips 处理:condition.tips为字符串,用||分隔标题与内容,建议解析为结构化显示。
  7. JSON 解析时注意字段类型:wind_level在 forecast_hour 中是字符串"3",在其他位置可能是数字3,需统一处理。

参考文档

  • 官方文档:https://apizero.cn/aidocs/moji-weather
  • 原始 Markdown:https://apizero.cn/aidocs/moji-weather/raw.md
  • 接口调试地址:https://v1.apizero.cn/api/moji-weather(需携带 API Key)

相关新闻

  • 医院智慧后勤系统架构与核心技术解析
  • Arduino入门实战:1602液晶与PWM调光LED的嵌入式核心技能
  • 全国布局生产基地的建材企业 - 中媒介

最新新闻

  • LocalAI:开源AI引擎的终极指南——在本地硬件上运行任何模型
  • Links for llama-cpp-python whl安装包下载地址
  • RimWorld模组管理终极指南:如何用RimSort彻底解决模组冲突问题
  • 内网渗透实战:利用mimikatz提取Windows RDP缓存凭据的原理与操作指南
  • Zephyr RTOS设备树实战:STM32F103C8T6 GPIO控制LED详解
  • 物联网安全芯片SE050与PIC18F4610的硬件集成与优化

日新闻

  • 力旷智能:伺服驱动系统在制药收瓶设备中的应用解析
  • 2026 网安入门避坑指南,零基础如何避开无效学习直接上手实战
  • 揭秘CFC项目:如何通过手机摄像头实现850kbps无网络文件传输

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号