天气预报(整合版)

查询国内城市气象数据,同时也支持国外热门城市查询
接口编号: 506接口名称: 天气预报连接应用: 8179个
应用编号: 106012应用标识: weather.realtime服务商: NowAPI

说明

重大天气接口升级,整合大量国内天气功能,真正一个接口搞定所有,含:
1.实时天气,在原有功能基础上新加入风速、能见度、降雨量、气压。
2.未来5-7天预报。
3.未来逐小时预报。
4.PM2.5 aqi。
5.生活指数。

PS: 国外天气无逐小时、AQI、生活指数。

测试示例: http://api.k780.com/?app=weather.realtime&weaId=1&ag=today,futureDay,lifeIndex,futureHour&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json (示例中sign会不定期调整)

更新日志:
2021-03-08 添加通过经纬度定位查询天气数据。

风向ID对照表 wtWindId
风向Id风向-
0无持续风向-
1东北风-
2东风-
3东南风-
4南风-
5西南风-
6西风-
7西北风-
8北风-
风力ID对照表 wtWinpId
风力Id(wtWinpId)风力wtWinpNm-
0小于3级-
13-4级-
24-5级-
35-6级-
46-7级-
57-8级-
68-9级-
79-10级-
810-11级-
911-12级-
PM2.5 AQI对照 wtAqi
AQI指数等级指标需注意事项
-1--该地域暂无AQI数据
0-501级参加户外活动呼吸清新空气
51-1002级可以正常进行室外活动
101-1503级轻度污染敏感人群减少体力消耗大的户外活动
151-2004级中度污染对敏感人群影响较大
201-3005级重度污染所有人应适当减少室外活动
>3006级严重污染尽量不要留在室外
天气图标 . 天气wtId与图标wtIcon对照接口 https://www.nowapi.com/api/weather.wtype . 天气图标打包下载地址: https://static.nowapi.com/apiStatic/weather/weather-icon.zip (晴wtIcon对应编码是00,那么对应睛(白天) https://static.nowapi.com/apiStatic/weather/icon/d/00.png,夜间 https://static.nowapi.com/apiStatic/weather/icon/n/00.png 注意目录d/n的区别。)

调用方式

Get/Post

请求url

 HTTP: http://api.k780.com
HTTPS: https://sapi.k780.com

请求参数

参数 类型 是否必须 备注
app string weather.realtime
weaId number 通过weaId查询,例: 1
城市列表城市列表中weaId
(参数weaId,cityId,cityNm,cityIp,wgs84ll中取1个作为查询条件)
cityId string 通过气象局编号查询,例: 101010100
城市列表城市列表中cityId
cityNm string 通过中文城市名查询,例: 北京
城市列表城市列表中cityNm (带入前urlencode)
cityIp string 通过ip地址查询,例: 202.104.153.201
wgs84ll string 通过经纬度坐标查询,例:116.442708,39.917344
(付费用户可用)
ag string 功能显示参数: today,futureDay,lifeIndex,futureHour
today 显示今日天气节点
futureDay 显示天气预报(未来5-7天)节点
lifeIndex 显示相关节点中生活指数节点
futureHour 显示天气预报(逐小时)节点
多个用逗号隔开,可灵活选择
appkey string 使用API的唯一凭证 获取
sign string md5后的32位密文,登陆用. 获取
format {json|xml} 返回数据格式
jsoncallback string js跨域使用jsonp时可使用此参数

Json请求示例

http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json

Json返回示例

{
success: "1",
result: {
    weaid: "1",
    cityid: "101010100",
    area_1: "北京",
    area_2: "城区",
    area_3: "",
    realTime: { 
        /*实时天气, 更新小于40分钟*/
        week: "星期三",
        wtId: "3", /*天气编号 天气类型 wtId*/
        wtNm: "阴", /*天气 天气类型 wtNm*/
        wtIcon: "02", /*天气图标 天气类型 wtIcon*/
        wtTemp: "18", /*温度℃*/
        wtHumi: "44", /*湿度%*/
        wtWindId: "2", /*风向ID (见面页上方风向ID对照表)*/
        wtWindNm: "东风", /*风向*/
        wtWinp: "3", /*风力 单位:级 (非风力ID,该值直接为风力级数)*/
        wtWins: "12",/*风速 单位:km/h*/
        wtAqi: "102", /*pm2.5 aqi*/
        wtVisibility: "4.79", /*能见度km*/
        wtRainfall: "0.00", /*降雨量mm*/
        wtPressurel: "997", /*气压hpa*/
    },
    today: {
        /*今日天气*/
        wtBlueSkyId: "1",/*1:可见蓝天 0:无蓝天*/
        wtId1: "1",/*天气编号(白天) 天气类型 wtId*/
        wtId2: "1",/*天气编号(夜间) 天气类型 wtId*/
        wtNm1: "晴",/*天气(白天) 天气类型 wtNm*/
        wtNm2: "晴",/*天气编号(夜间) 天气类型 wtNm*/
        wtIcon1: "00",/*天气图标(白天) 天气类型 icon*/
        wtIcon2: "00",/*天气图标(夜间) 天气类型 icon*/
        wtTemp1: "14",/*温度(白天)*/
        wtTemp2: "1",/*温度(夜间)*/
        wtWindId1: "8",/*风向ID(白天风向 见面页上方风向ID对照表)*/
        wtWindId2: "8",/*风向ID(夜间风向 见面页上方风向ID对照表)*/
        wtWindNm1: "北风",/*风向*/
        wtWindNm2: "北风",/*风向*/
        /*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
        wtWinpId1: "2",/*风力ID (白天风力 见面页上方风力ID对照表)*/
        wtWinpId2: "0",/*风力ID (夜间风力 见面页上方风力ID对照表)*/
        wtWinpNm1: "4-5级",/*风力 (白天)*/
        wtWinpNm2: "小于3级",/*风力 (夜间)*/
        wtSunr: "06:16",/*日出时间*/
        wtSuns: "18:26",/*日落时间(24小时制)*/
        lifeIndex: { /*指数(含以下5种)*/
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "最弱",
                liDese: "辐射弱,涂擦SPF8-12防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "不易波动",
                liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "不宜",
                liDese: "有雨,雨水和泥水会弄脏爱车。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "良",
                liDese: "气象条件有利于空气污染物扩散。"
            }
        }
    },
    futureDay: [ 
    /*
      未来5-7天气预报,更新每天3次 
      相关栏位当前时段为夜间时会与白天栏位相同
    */
    {
        dateYmd: "2019-03-21",
        week: "星期四",
        wtBlueSkyId: "1",/*1:可见蓝天 0:无蓝天*/
        wtId1: "1",/*天气编号(白天) 天气类型 wtId*/
        wtId2: "1",/*天气编号(夜间) 天气类型 wtId*/
        wtNm1: "晴",/*天气(白天) 天气类型 wtNm*/
        wtNm2: "晴",/*天气编号(夜间) 天气类型 wtNm*/
        wtIcon1: "00",/*天气图标(白天) 天气类型 icon*/
        wtIcon2: "00",/*天气图标(夜间) 天气类型 icon*/
        wtTemp1: "14",/*温度(白天)*/
        wtTemp2: "1",/*温度(夜间)*/
        wtWindId1: "8",/*风向Id(白天)*/
        wtWindId2: "8",/*风向Id(夜间)*/
        wtWindNm1: "北风",/*风向*/
        wtWindNm2: "北风",/*风向*/
        /*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
        wtWinpId1: "2",/*风力Id(白天)*/
        wtWinpId2: "0",/*风力Id(夜间)*/
        wtWinpNm1: "4-5级",/*风力(白天)*/
        wtWinpNm2: "小于3级",/*风力(夜间)*/
        wtSunr: "06:16",/*日出时间*/
        wtSuns: "18:26",/*日落时间(24小时制)*/
        lifeIndex: {
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "中等",
                liDese: "涂擦SPF大于15、PA+防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "易波动",
                liDese: "气温多变,血糖易波动,请注意监测。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "较不宜",
                liDese: "风力较大,洗车后会蒙上灰尘。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "良",
                liDese: "气象条件有利于空气污染物扩散。"
            }
        }
    },
    {
        dateYmd: "2019-03-22",
        week: "星期五",
        wtBlueSkyId: "1",
        wtId1: "1",
        wtId2: "1",
        wtNm1: "晴",
        wtNm2: "晴",
        wtIcon1: "00",
        wtIcon2: "00",
        wtTemp1: "15",
        wtTemp2: "3",
        wtWindId1: "7",
        wtWindId2: "7",
        wtWindNm1: "西北风",
        wtWindNm2: "西北风",
        wtWinpId1: "1",
        wtWinpId2: "1",
        wtWinpNm1: "3-4级",
        wtWinpNm2: "3-4级",
        wtSunr: "06:15",
        wtSuns: "18:27",
        lifeIndex: {
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "中等",
                liDese: "涂擦SPF大于15、PA+防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "不易波动",
                liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "较适宜",
                liDese: "无雨且风力较小,易保持清洁度。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "良",
                liDese: "气象条件有利于空气污染物扩散。"
            }
        }
    },
    {
        dateYmd: "2019-03-23",
        week: "星期六",
        wtBlueSkyId: "1",
        wtId1: "1",
        wtId2: "1",
        wtNm1: "晴",
        wtNm2: "晴",
        wtIcon1: "00",
        wtIcon2: "00",
        wtTemp1: "13",
        wtTemp2: "4",
        wtWindId1: "8",
        wtWindId2: "5",
        wtWindNm1: "北风",
        wtWindNm2: "西南风",
        wtWinpId1: "1",
        wtWinpId2: "1",
        wtWinpNm1: "3-4级",
        wtWinpNm2: "3-4级",
        wtSunr: "06:13",
        wtSuns: "18:28",
        lifeIndex: {
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "中等",
                liDese: "涂擦SPF大于15、PA+防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "不易波动",
                liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "较适宜",
                liDese: "无雨且风力较小,易保持清洁度。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "中",
                liDese: "易感人群应适当减少室外活动。"
            }
        }
    },
    ......
    ],
    futureHour: [
    /*逐小时天气预报(最多会有未来24个小时段) 字段说明与realTime节点相同*/
    {
         dateYmdh: "2019-03-20 14:00:00",
         wtId: "3", /*天气编号 天气类型 wtId*/
         wtNm: "阴", /*天气 天气类型 wtNm*/
         wtIcon: "02", /*天气图标 天气类型 wtIcon*/
         wtTemp: "19", /*温度℃*/
         wtWindId: "7", /*风向ID*/
         wtWindNm: "西北风", /*风向*/
        /*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
         wtWinpId: "0", /*风力Id*/
         wtWinpNm: "小于3级" /*风力*/
    },
    {
         dateYmdh: "2019-03-20 15:00:00",
         wtId: "8",
         wtNm: "小雨",
         wtIcon: "07",
         wtTemp: "19",
         wtWindId: "6",
         wtWindNm: "西风",
         wtWinpId: "0",
         wtWinpNm: "小于3级"
    },
    {
         dateYmdh: "2019-03-20 16:00:00",
         wtId: "8",
         wtNm: "小雨",
         wtIcon: "07",
         wtTemp: "18",
         wtWindId: "6",
         wtWindNm: "西风",
         wtWinpId: "0",
         wtWinpNm: "小于3级"
    },
    {
         dateYmdh: "2019-03-20 17:00:00",
         wtId: "8",
         wtNm: "小雨",
         wtIcon: "07",
         wtTemp: "17",
         wtWindId: "7",
         wtWindNm: "西北风",
         wtWinpId: "0",
         wtWinpNm: "小于3级"
     },
    ......
    ]
}

示例代码

<?php
header("Content-Type:text/html;charset=UTF-8");
function nowapi_call($a_parm){
    if(!is_array($a_parm)){
        return false;
    }
    //combinations
    $a_parm['format']=empty($a_parm['format'])?'json':$a_parm['format'];
    $apiurl=empty($a_parm['apiurl'])?'http://api.k780.com/?':$a_parm['apiurl'].'/?';
    unset($a_parm['apiurl']);
    foreach($a_parm as $k=>$v){
        $apiurl.=$k.'='.$v.'&';
    }
    $apiurl=substr($apiurl,0,-1);
    if(!$callapi=file_get_contents($apiurl)){
        return false;
    }
    //format
    if($a_parm['format']=='base64'){
        $a_cdata=unserialize(base64_decode($callapi));
    }elseif($a_parm['format']=='json'){
        if(!$a_cdata=json_decode($callapi,true)){
            return false;
        }
    }else{
        return false;
    }
    //array
    if($a_cdata['success']!='1'){
        echo $a_cdata['msgid'].' '.$a_cdata['msg'];
        return false;
    }
    return $a_cdata['result'];
}

$nowapi_parm['app']='weather.realtime';
$nowapi_parm['weaid']='1';
$nowapi_parm['ag']='today,futureDay,lifeIndex,futureHour';
$nowapi_parm['appkey']='APPKEY';
$nowapi_parm['sign']='SIGN';
$nowapi_parm['format']='json';
$result=nowapi_call($nowapi_parm);
var_dump($result);
print_r($result);

#python
import json,urllib
from urllib import urlencode

url = 'http://api.k780.com'
params = {
  'app' : 'weather.realtime',
  'weaid' : '1',
  'ag' : 'today,futureDay,lifeIndex,futureHour',
  'appkey' : 'APPKEY',
  'sign' : 'SIGN',
  'format' : 'json',
}
params = urlencode(params)

f = urllib.urlopen('%s?%s' % (url, params))
nowapi_call = f.read()
#print content
a_result = json.loads(nowapi_call)
if a_result:
  if a_result['success'] != '0':
    print a_result['result'];
  else:
    print a_result['msgid']+' '+a_result['msg']
else:
  print 'Request nowapi fail.';

import java.net.*;
import java.io.*;

public class test{
    public static void main(String args[]) throws Exception {
        URL u=new URL("http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json");
        InputStream in=u.openStream();
        ByteArrayOutputStream out=new ByteArrayOutputStream();
        try {
            byte buf[]=new byte[1024];
            int read = 0;
            while ((read = in.read(buf)) > 0) {
                out.write(buf, 0, read);
            }
        }  finally {
            if (in != null) {
                in.close();
            }
        }
        byte b[]=out.toByteArray( );
        System.out.println(new String(b,"utf-8"));
    }
}

curl "http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json"

包月套餐说明:

适合调用量比较平均的高频应用场景;有配额限制,超出配额会被暂停调用1小时,请留意购买足够配额.

规格套餐名称价格描述
1022000 次配额/每小时87 元/月省¥ 9 享9.8折
1033000 次配额/每小时130 元/月省¥ 14 享9.5折
1045000 次配额/每小时218 元/月省¥ 22 享9折
10510000 次配额/每小时439 元/月省¥ 41 享8.5折
10620000 次配额/每小时883 元/月省¥ 77 享8折
10730000 次配额/每小时1332 元/月省¥ 108 享7.5折
10840000 次配额/每小时1786 元/月省¥ 134 享7折
10950000 次配额/每小时2244 元/月省¥ 156 享6.5折
110100000 次配额/每小时4800 元/月-
立即开通

流量包套餐说明:

买多少用多少,多买有优惠,10元起买,适合大多数应用场景.

规格套餐名称价格描述
201流量包 15000 次10 元-
202流量包 157500 次100 元含 7500 次赠送流量
203流量包 318000 次200 元含 18000 次赠送流量
204流量包 481500 次300 元含 31500 次赠送流量
205流量包 817500 次500 元含 67500 次赠送流量
206流量包 1650000 次1000 元含 150000 次赠送流量
207流量包 3330000 次2000 元含 330000 次赠送流量
208流量包 5040000 次3000 元含 540000 次赠送流量
209流量包 8625000 次5000 元含 1125000 次赠送流量
210流量包 18000000 次10000 元含 3000000 次赠送流量
立即开通

免费试用套餐说明:

商用请选择付费套餐。 (系统繁忙或极端情况下,优先保证付费用户使用).

规格套餐名称价格描述
0免费套餐 200 次配额/每小时0 元/月可免费试用套餐3个月.
立即开通

客户服务

客服QQ: 1486133340 
QQ群8: 204490433

客服微信:

数据定制

定制接口、定制数据格式、采集等;联系请提供数据样式范本。1486133340 

意见反馈