公共资源下载

 

城市编码表  下载

提供2565个城市对应的城市编码,以便调用环境云提供的各类数据接口。

天气现象表  下载

提供天气现象一览表,以及对应的天气图标。

预警图片  下载

提供所有预警的图片,包含大图和小图。

常见问题  更多

 
代码示例

 
  • 语言选择

    • C(LibCurl)
    • cURL
    • C#(RestSharp)
    • Go
    • Java

      • OK HTTP
      • Unirest
    • JavaScript

      • Jquery AJAX
      • XHR
    • NodeJS

      • Native
      • Request
      • Unirest
    • Objective-C(NSURL)
    • PHP

      • HttpRequest
      • pecl_http
      • cURL
    • Python

      • http.client(Python 3)
      • Requests
    • Ruby(NET::Http)
    • Shell

      • wget
      • Httpie
      • cURL
    • Swift(NSURL)

GET

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, 接口URL地址);

CURLcode ret = curl_easy_perform(hnd);

POST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, 接口URL地址);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, Json格式请求Body体);

CURLcode ret = curl_easy_perform(hnd);

GET

curl -X GET 接口URL地址

POST

curl -X POST -d 'Json格式请求Body体' 接口URL地址

GET

var client = new RestClient(接口URL地址);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);

POST

var client = new RestClient(接口URL地址);
var request = new RestRequest(Method.POST);
request.AddParameter("undefined", Json格式请求Body体, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

GET

package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := 接口URL地址

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

POST

package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := 接口URL地址

	payload := strings.NewReader(Json格式请求Body体)

	req, _ := http.NewRequest("POST", url, payload)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

GET

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url(接口URL地址)
  .get()
  .build();

Response response = client.newCall(request).execute();

POST

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, Json格式请求Body体);
Request request = new Request.Builder()
  .url(接口URL地址)
  .post(body)
  .build();

Response response = client.newCall(request).execute();

GET

HttpResponse<String> response = Unirest.get(接口URL地址)
  .asString();

POST

HttpResponse<String> response = Unirest.post(接口URL地址)
  .body(Json格式请求Body体)
  .asString();

GET

var settings = {
  "async": true,
  "crossDomain": true,
  "url": 接口URL地址,
  "method": "GET",
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

POST

var settings = {
  "async": true,
  "crossDomain": true,
  "url": 接口URL地址,
  "method": "POST",
  "data": Json格式请求Body体
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET

var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", 接口URL地址);

xhr.send(data);

POST

var data = Json格式请求Body体;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("POST", 接口URL地址);

xhr.send(data);

GET

var http = require("http");

var options = {
  "method": "GET",
  "hostname": "service.envicloud.cn",
  "port": "8082",
  "path": 接口URL地址(从/v2开始),
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();

POST

var http = require("http");

var options = {
  "method": "POST",
  "hostname": "service.envicloud.cn",
  "port": "8082",
  "path": 接口URL地址(从/v2开始)
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(Json格式请求Body体);
req.end();

GET

var request = require("request");

var options = { 
  method: 'GET',
  url: 接口URL地址 
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

POST

var request = require("request");

var options = { 
  method: 'POST',
  url: 接口URL地址,
  body: Json格式请求Body体 
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

GET

var unirest = require("unirest");

var req = unirest("GET", 接口URL地址);

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});

POST

var unirest = require("unirest");

var req = unirest("POST", 接口URL地址);

req.send(Json格式请求Body体);

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});

GET

#import <Foundation/Foundation.h>

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@接口URL地址]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];

POST

#import <Foundation/Foundation.h>

NSData *postData = [[NSData alloc] initWithData:[@Json格式请求Body体 dataUsingEncoding:NSUTF8StringEncoding]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@接口URL地址]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];

GET

<?php

$request = new HttpRequest();
$request->setUrl(接口URL地址);
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

POST

<?php

$request = new HttpRequest();
$request->setUrl(接口URL地址);
$request->setMethod(HTTP_METH_POST);

$request->setBody(Json格式请求Body体);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

GET

<?php

$client = new http\Client;
$request = new http\Client\Request;

$request->setRequestUrl(接口URL地址);
$request->setRequestMethod('GET');

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

POST

<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append(Json格式请求Body体);

$request->setRequestUrl(接口URL地址);
$request->setRequestMethod('POST');
$request->setBody($body);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

GET

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_PORT => "8082",
  CURLOPT_URL => 接口URL地址,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

POST

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_PORT => "8082",
  CURLOPT_URL => 接口URL地址,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => Json格式请求Body体,
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

GET

import http.client

conn = http.client.HTTPConnection("service.envicloud.cn:8082")

payload = ""

headers = {
    'cache-control': "no-cache"
    }
    
conn.request("GET", 接口URL地址(从/V2开始), payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

POST

import http.client

conn = http.client.HTTPConnection("service.envicloud.cn:8082")

payload = Json格式请求Body体

headers = {
    'cache-control': "no-cache",
    }

conn.request("POST", 接口URL地址(从/V2开始), payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

GET

import requests

url = 接口URL地址

payload = ""
headers = {
    'cache-control': "no-cache"
    }

response = requests.request("GET", url, data=payload, headers=headers)

print(response.text)

POST

import requests

url = 接口URL地址

payload = Json格式请求Body体
headers = {
    'cache-control': "no-cache",
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)

GET

require 'uri'
require 'net/http'

url = URI(接口URL地址)

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body

POST

require 'uri'
require 'net/http'

url = URI(接口URL地址)

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request.body = Json格式请求Body体

response = http.request(request)
puts response.read_body

GET

wget --quiet \
  --method GET \
  --output-document \
  - 接口URL地址

POST

wget --quiet \
  --method POST \
  --body-data Json格式请求Body体 \
  --output-document \
  - 接口URL地址

GET

http GET 接口URL地址

POST

echo Json格式请求Body体 |  \
  http POST 接口URL地址

GET

curl --request GET \
  --url 接口URL地址

POST

curl --request POST \
  --url 接口URL地址 \
  --data Json格式请求Body体

GET

import Foundation

let request = NSMutableURLRequest(url: NSURL(string: 接口URL地址)! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

POST

import Foundation

let postData = NSData(data: Json格式请求Body体.data(using: String.Encoding.utf8)!)

let request = NSMutableURLRequest(url: NSURL(string: 接口URL地址)! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
 
API Version 2.0 文档(Current)

 
基础URL http://service.envicloud.cn:8082
 
结果码 含义
200 成功
201 内部错误
202 结果集为空
203 参数错误
 
天气预报查询

 
城市天气预报
 
接口说明
根据城市编码查询指定城市7天天气预报和生活指数
 
GET
/v2/weatherforecast/{accesskey}/{citycode}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
cityname String 城市名称
forecast List 天气预报
date String 预报日期
astro Object 天文数据
mr String 月升时间
ms String 月落时间
sr String 日出时间
ss String 日落时间
cond Object 天气现象
cond_d String 白天天气现象
cond_n String 夜间天气现象
tmp Object 气温
max String 最高气温(℃)
min String 最低气温(℃)
hum String 相对湿度(%)
pop String 降水概率(%)
pcpn String 降水量(mm)
pres String 气压(hPa)
vis String 能见度(km)
uv String 紫外线级别
wind Object 风力风向数据
deg String 风向(360°)
dir String 风向
sc String 风力
spd String 风速(m/s)
suggestion Object 生活指数
air Object 空气质量指数
comf Object 舒适度指数
cw Object 洗车指数
drs Object 穿衣指数
flu Object 感冒指数
sport Object 运动指数
trav Object 旅游指数
uv Object 紫外线指数
brf String 生活指数简述
txt String 生活指数详情

响应示例

{
	"citycode":"101190101",
	"rdesc":"Success",
	"forecast":
	[{
		"wind":{
			"dir":"东风",
			"deg":"74",
			"sc":"3-4",
			"spd":"11"
		},
		"hum":"94",
		"astro":{
			"mr":"19:57",
			"sr":"06:35",
			"ms":"09:07",
			"ss":"17:04"
		},
		"pcpn":"11.0",
		"uv":"2",
		"tmp":{
			"min":"14",
			"max":"16"
		},
		"pop":"100",
		"pres":"1020",
		"date":"2016-11-17",
		"cond":{
			"cond_n":"小雨",
			"cond_d":"阴"
		},
		"vis":"2"
	},{
		"wind":{
			"dir":"西南风",
			"deg":"272",
			"sc":"3-4",
			"spd":"12"
		},
		"hum":"93",
		"astro":{
			"mr":"20:58",
			"sr":"06:36",
			"ms":"10:06",
			"ss":"17:03"
		},
		"pcpn":"8.0",
		"uv":"2",
		"tmp":{
			"min":"16",
			"max":"19"
		},
		"pop":"79",
		"pres":"1015",
		"date":"2016-11-18",
		"cond":{
			"cond_n":"小雨",
			"cond_d":"小雨"
		},
		"vis":"10"
	},{
		"wind":{
			"dir":"北风",
			"deg":"331",
			"sc":"微风",
			"spd":"3"
		},
		"hum":"88",
		"astro":{
			"mr":"21:59",
			"sr":"06:37",
			"ms":"10:59",
			"ss":"17:03"
		},
		"pcpn":"0.1",
		"uv":"3",
		"tmp":{
			"min":"15",
			"max":"20"
		},
		"pop":"4",
		"pres":"1016",
		"date":"2016-11-19",
		"cond":{
			"cond_n":"阴",
			"cond_d":"阴"
		},
		"vis":"10"
	},{
		"wind":{
			"dir":"东北风",
			"deg":"75",
			"sc":"4-5",
			"spd":"17"
		},
		"hum":"93",
		"astro":{
			"mr":"22:59",
			"sr":"06:38",
			"ms":"11:46",
			"ss":"17:02"
		},
		"pcpn":"4.4",
		"uv":"1",
		"tmp":{
			"min":"14",
			"max":"17"
		},
		"pop":"82",
		"pres":"1020",
		"date":"2016-11-20",
		"cond":{
			"cond_n":"小雨",
			"cond_d":"小雨"
		},
		"vis":"2"
	},{
		"wind":{
			"dir":"东风",
			"deg":"90",
			"sc":"4-5",
			"spd":"24"
		},
		"hum":"93",
		"astro":{
			"mr":"23:57",
			"sr":"06:39",
			"ms":"12:27",
			"ss":"17:02"
		},
		"pcpn":"24.2",
		"uv":"N/A",
		"tmp":{
			"min":"12",
			"max":"16"
		},
		"pop":"81",
		"pres":"1018",
		"date":"2016-11-21",
		"cond":{
			"cond_n":"小雨",
			"cond_d":"小雨"
		},
		"vis":"2"
	},{
		"wind":{
			"dir":"北风",
			"deg":"28",
			"sc":"5-6",
			"spd":"29"
		},
		"hum":"91",
		"astro":{
			"mr":"null",
			"sr":"06:40",
			"ms":"13:05",
			"ss":"17:02"
		},
		"pcpn":"10.7",
		"uv":"N/A",
		"tmp":{
			"min":"5",
			"max":"16"
		},
		"pop":"83",
		"pres":"1025",
		"date":"2016-11-22",
		"cond":{
			"cond_n":"小雨",
			"cond_d":"阴"
		},
		"vis":"9"
	},{
		"wind":{
			"dir":"北风",
			"deg":"27",
			"sc":"4-5",
			"spd":"24"
		},
		"hum":"86",
		"astro":{
			"mr":"00:53",
			"sr":"06:41",
			"ms":"13:40",
			"ss":"17:01"
		},
		"pcpn":"8.8",
		"uv":"N/A",
		"tmp":{
			"min":"3",
			"max":"12"
		},
		"pop":"82",
		"pres":"1032",
		"date":"2016-11-23",
		"cond":{
			"cond_n":"小雨",
			"cond_d":"小雨"
		},
		"vis":"10"
	}],
	"rcode":200,
	"suggestion":{
		"trav":{
			"brf":"适宜",
			"txt":"天气较好,风稍大,但温度适宜,总体来说还是好天气。
                                这样的天气适宜旅游,您可以尽情享受大自然的风光。"
		},
		"uv":{
			"brf":"最弱",
			"txt":"属弱紫外线辐射天气,无需特别防护。若长期在户外,
                                建议涂擦SPF在8-12之间的防晒护肤品。"
		},
		"flu":{
			"brf":"少发",
			"txt":"各项气象条件适宜,无明显降温过程,发生感冒机率较低。"
		},
		"comf":{
			"brf":"舒适",
			"txt":"白天不太热也不太冷,风力不大,相信您在这样的天气条件下,
                                应会感到比较清爽和舒适。"
		},
		"sport":{
			"brf":"较适宜",
			"txt":"阴天,较适宜进行各种户内外运动。"
		},
		"air":{
			"brf":"良",
			"txt":"气象条件有利于空气污染物稀释、扩散和清除,可在室外正常活动。"
		},
		"cw":{
			"brf":"较适宜",
			"txt":"较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"
		},
		"drs":{
			"brf":"较舒适",
			"txt":"建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,
                                宜着夹克衫、薄毛衣等。"
		}
	}
	,"cityname":"南京"
}

POST
/v2/weatherforecast

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycodes 必填 请求的城市编号列表,最多支持50个城市

请求示例

{
  "accesskey":"您的Accesskey",
  "citycodes":[
    "101190101"
  ]
}

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
info List 结果信息
citycode String 城市编码
cityname String 城市名称
forecast List 天气预报
date String 预报日期
astro Object 天文数据
mr String 月升时间
ms String 月落时间
sr String 日出时间
ss String 日落时间
cond Object 天气现象
cond_d String 白天天气现象
cond_n String 夜间天气现象
tmp Object 气温
max String 最高气温(℃)
min String 最低气温(℃)
hum String 相对湿度(%)
pop String 降水概率(%)
pcpn String 降水量(mm)
pres String 气压(hPa)
vis String 能见度(km)
uv String 紫外线级别
wind Object 风力风向数据
deg String 风向(360°)
dir String 风向
sc String 风力
spd String 风速(m/s)
suggestion Object 生活指数
air Object 空气质量指数
comf Object 舒适度指数
cw Object 洗车指数
drs Object 穿衣指数
flu Object 感冒指数
sport Object 运动指数
trav Object 旅游指数
uv Object 紫外线指数
brf String 生活指数简述
txt String 生活指数详情

响应示例

{
	"rdesc":"Success",
	"rcode":200,
	"info":
	[{
		"citycode":"101190101",
		"forecast":
		[{
			"wind":{
				"dir":"东风",
				"deg":"74",
				"sc":"3-4",
				"spd":"11"
			},
			"hum":"94",
			"astro":{
				"mr":"19:57",
				"sr":"06:35",
				"ms":"09:07",
				"ss":"17:04"
			},
			"pcpn":"11.0",
			"uv":"2",
			"tmp":{
				"min":"14",
				"max":"16"
			},
			"pop":"100",
			"pres":"1020",
			"date":"2016-11-17",
			"cond":{
				"cond_n":"小雨",
				"cond_d":"阴"
			},
			"vis":"2"
		},{
			"wind":{
				"dir":"西南风",
				"deg":"272",
				"sc":"3-4",
				"spd":"12"
			},
			"hum":"93",
			"astro":{
				"mr":"20:58",
				"sr":"06:36",
				"ms":"10:06",
				"ss":"17:03"
			},
			"pcpn":"8.0",
			"uv":"2",
			"tmp":{
				"min":"16",
				"max":"19"
			},
			"pop":"79",
			"pres":"1015",
			"date":"2016-11-18",
			"cond":{
				"cond_n":"小雨",
				"cond_d":"小雨"
			},
			"vis":"10"
		},{
			"wind":{
				"dir":"北风",
				"deg":"331",
				"sc":"微风",
				"spd":"3"
			},
			"hum":"88",
			"astro":{
				"mr":"21:59",
				"sr":"06:37",
				"ms":"10:59",
				"ss":"17:03"
			},
			"pcpn":"0.1",
			"uv":"3",
			"tmp":{
				"min":"15",
				"max":"20"
			},
			"pop":"4",
			"pres":"1016",
			"date":"2016-11-19",
			"cond":{
				"cond_n":"阴",
				"cond_d":"阴"
			},
			"vis":"10"
		},{
			"wind":{
				"dir":"东北风",
				"deg":"75",
				"sc":"4-5",
				"spd":"17"
			},
			"hum":"93",
			"astro":{
				"mr":"22:59",
				"sr":"06:38",
				"ms":"11:46",
				"ss":"17:02"
			},
			"pcpn":"4.4",
			"uv":"1",
			"tmp":{
				"min":"14",
				"max":"17"
			},
			"pop":"82",
			"pres":"1020",
			"date":"2016-11-20",
			"cond":{
				"cond_n":"小雨",
				"cond_d":"小雨"
			},
			"vis":"2"
		},{
			"wind":{
				"dir":"东风",
				"deg":"90",
				"sc":"4-5",
				"spd":"24"
			},
			"hum":"93",
			"astro":{
				"mr":"23:57",
				"sr":"06:39",
				"ms":"12:27",
				"ss":"17:02"
			},
			"pcpn":"24.2",
			"uv":"N/A",
			"tmp":{
				"min":"12",
				"max":"16"
			},
			"pop":"81",
			"pres":"1018",
			"date":"2016-11-21",
			"cond":{
				"cond_n":"小雨",
				"cond_d":"小雨"
			},
			"vis":"2"
		},{
			"wind":{
				"dir":"北风",
				"deg":"28",
				"sc":"5-6",
				"spd":"29"
			},
			"hum":"91",
			"astro":{
				"mr":"null",
				"sr":"06:40",
				"ms":"13:05",
				"ss":"17:02"
			},
			"pcpn":"10.7",
			"uv":"N/A",
			"tmp":{
				"min":"5",
				"max":"16"
			},
			"pop":"83",
			"pres":"1025",
			"date":"2016-11-22",
			"cond":{
				"cond_n":"小雨",
				"cond_d":"阴"
			},
			"vis":"9"
		},{
			"wind":{
				"dir":"北风",
				"deg":"27",
				"sc":"4-5",
				"spd":"24"
			},
			"hum":"86",
			"astro":{
				"mr":"00:53",
				"sr":"06:41",
				"ms":"13:40",
				"ss":"17:01"
			},
			"pcpn":"8.8",
			"uv":"N/A",
			"tmp":{
				"min":"3",
				"max":"12"
			},
			"pop":"82",
			"pres":"1032",
			"date":"2016-11-23",
			"cond":{
				"cond_n":"小雨",
				"cond_d":"小雨"
			},
			"vis":"10"
		}],
		"suggestion":{
			"trav":{
				"brf":"适宜",
				"txt":"天气较好,风稍大,但温度适宜,总体来说还是好天气。
                                    这样的天气适宜旅游,您可以尽情享受大自然的风光。"
			},
			"uv":{
				"brf":"最弱",
				"txt":"属弱紫外线辐射天气,无需特别防护。若长期在户外,
                                    建议涂擦SPF在8-12之间的防晒护肤品。"
			},
			"flu":{
				"brf":"少发",
				"txt":"各项气象条件适宜,无明显降温过程,发生感冒机率较低。"
			},
			"comf":{
				"brf":"舒适",
				"txt":"白天不太热也不太冷,风力不大,相信您在这样的天气条件下,
                                    应会感到比较清爽和舒适。"
			},
			"sport":{
				"brf":"较适宜",
				"txt":"阴天,较适宜进行各种户内外运动。"
			},
			"air":{
				"brf":"良",
				"txt":"气象条件有利于空气污染物稀释、扩散和清除,可在室外正常活动。"
			},
			"cw":{
				"brf":"较适宜",
				"txt":"较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"
			},
			"drs":{
				"brf":"较舒适",
				"txt":"建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,
                                        宜着夹克衫、薄毛衣等。"
			}
		}
		,"cityname":"南京"
	}]
}
 
海区天气预报
 
接口说明
查询全国海区天气预报
 
GET
/v2/marineforecast/{accesskey}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
count Int 结果计数
forecast List 预报列表
station String 站点名称
lng String 站点经度(东经)
lat String 站点纬度(北纬)
type String 站点类型(沿海、近海、远海)
time String 预报时间(格式:yyyy_MM_dd_HH)
vis1 String 白天能见度(km)
vis2 String 夜间能见度(km)
wdir1 String 白天风向
wdir2 String 夜间风向
wpow1 String 白天风力(级)
wpow2 String 夜间风力(级)
weather1 String 白天天气现象
weather2 String 夜间天气现象

响应示例

{
	"rdesc":"Success",
	"count":73,
	"forecast":
	[{
		"station":"浙江北部沿岸",
		"vis1":"12",
		"lng":"122.83",
		"vis2":"12",
		"type":"沿海",
		"wpow1":"2",
		"time":"2016_09_09_08",
		"wdir1":"东北东",
		"wpow2":"3",
		"wdir2":"东北东",
		"weather1":"多云",
		"weather2":"多云",
		"lat":"30.18"
	},
	……,
	{
		"station":"东海北部",
		"vis1":"10",
		"lng":"125.77",
		"vis2":"10",
		"type":"近海",
		"wpow1":"2",
		"time":"2016_09_09_08",
		"wdir1":"西北风",
		"wpow2":"1",
		"wdir2":"北风",
		"weather1":"小雨",
		"weather2":"小雨",
		"lat":"30.78"
	},
	……,
	{
		"station":"马六甲海峡",
		"vis1":"8",
		"lng":"98.8",
		"vis2":"6",
		"type":"远海",
		"wpow1":"2",
		"time":"2016_09_09_08",
		"wdir1":"西风",
		"wpow2":"2",
		"wdir2":"西南风",
		"weather1":"中雨",
		"weather2":"大雨",
		"lat":"5.8"
	}],
	"rcode":200
}
 
历史天气查询

 
24小时历史天气
 
接口说明
查询指定城市过去24小时的历史天气
 
GET
/v2/weatherhistory/{accesskey}/{citycode}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
history List 历史天气列表
updatetime String 更新时间
phenomena String 天气现象
temperature String 气温(℃)
feelst String 体感温度(℃)
airpressure String 气压(hPa)
humidity String 相对湿度(%)
rain String 降雨量(mm)
winddirect String 风向
windpower String 风力
windspeed String 风速(m/s)

响应示例

{
	"history":
	[{
		"windspeed":"0.3",
		"airpressure":"1004.0",
		"phenomena":"晴",
		"humidity":"62.0",
		"updatetime":"2016-09-08 10:05",
		"windpower":"微风",
		"feelst":"24.7",
		"winddirect":"东北风",
		"rain":"0.0",
		"temperature":"24.4"
	},{
		"windspeed":"1.9",
		"airpressure":"1004.0",
		"phenomena":"晴",
		"humidity":"49.0",
		"updatetime":"2016-09-08 11:05",
		"windpower":"微风",
		"feelst":"24.5",
		"winddirect":"西北风",
		"rain":"0.0",
		"temperature":"26.5"
	},
	……,
	{
		"windspeed":"3.1",
		"airpressure":"1005.0",
		"phenomena":"晴",
		"humidity":"36.0",
		"updatetime":"2016-09-09 09:05",
		"windpower":"微风",
		"feelst":"23.1",
		"winddirect":"西北风",
		"rain":"0.0",
		"temperature":"26.1"
	}],
	"rdesc":"Success",
	"rcode":200
}
 
指定日期历史天气
 
接口说明
查询指定城市指定日期的历史天气
 
GET
/v2/weatherhistory/{accesskey}/{citycode}/{date}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
date 必填 请求日期(yyyyMMdd)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
date String 日期
sunny_percent Int 晴好天气比率(%)
rain_percent Int 降水天气比率(%)
rain_full String 总降水量(mm)
pressure_avg String 平均气压(hPa)
hum_avg String 平均湿度(%)
tem_max String 日最高气温(℃)
tem_min String 日最低气温(℃)
wdir_most String 最常见风向
wspd_avg String 平均风速

响应示例

{
	"hum_avg":"63.67",
	"citycode":"101010100",
	"rain_percent":0,
	"tem_max":"31.0",
	"rdesc":"Success",
	"rain_full":"0.0",
	"tem_min":"16.8",
	"rcode":200,
	"date":"20160908",
	"wdir_most":"西南风",
	"pressure_avg":"1002.88",
	"sunny_percent":100,
	"wspd_avg":"1.56m/s"
}
 
指定小时历史天气
 
接口说明
查询指定城市指定小时的历史天气
 
GET
/v2/weatherhistory/{accesskey}/{citycode}/{date}/{hour}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
date 必填 请求日期(yyyyMMdd)
hour 必填 请求小时(HH)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
updatetime String 更新时间
phenomena String 天气现象
temperature String 气温(℃)
feelst String 体感温度(℃)
airpressure String 气压(hPa)
humidity String 相对湿度(%)
rain String 降雨量(mm)
winddirect String 风向
windpower String 风力
windspeed String 风速(m/s)

响应示例

{
	"windspeed":"1.9",
	"airpressure":"1005.0",
	"phenomena":"晴",
	"rdesc":"Success",
	"humidity":"55.0",
	"updatetime":"2016-09-09 08:05",
	"windpower":"微风",
	"feelst":"23.0",
	"winddirect":"东北风",
	"rcode":200,
	"rain":"0.0",
	"temperature":"23.1"
}
 
月度历史天气
 
接口说明
查询指定城市指定年份12个月的月度历史天气
 
GET
/v2/monthlymete/{accesskey}/{citycode}/{year}/{type}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
year 必填 查询年份(1996-2015)
type 可选 查询类型(仅支持pre、avg、max和min,大小写不敏感)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
info List 信息列表
year Int 年份
month Int 月份
pre String 降水量(mm)
tem_max String 最高气温(℃)
tem_min String 最低气温(℃)
tem_avg String 平均气温(℃)

响应示例

{
	"citycode":"101010100",
	"rdesc":"Success",
	"rcode":200,
	"info":
	[{
		"tem_max":"5.0",
		"pre":"0.7",
		"tem_min":"-13.0",
		"month":1,
		"year":2015,
		"tem_avg":"-3.5"
	},{
		"tem_max":"7.1",
		"pre":"8.2",
		"tem_min":"-11.8",
		"month":2,
		"year":2015,
		"tem_avg":"-1.3"
	},{
		"tem_max":"15.4",
		"pre":"1.6",
		"tem_min":"-5.6",
		"month":3,
		"year":2015,
		"tem_avg":"6.3"
	},{
		"tem_max":"22.0",
		"pre":"35.2",
		"tem_min":"2.0",
		"month":4,
		"year":2015,
		"tem_avg":"13.5"
	},{
		"tem_max":"27.5",
		"pre":"44.3",
		"tem_min":"7.6",
		"month":5,
		"year":2015,
		"tem_avg":"19.3"
	},{
		"tem_max":"30.8",
		"pre":"65.9",
		"tem_min":"12.4",
		"month":6,
		"year":2015,
		"tem_avg":"22.5"
	},{
		"tem_max":"32.1",
		"pre":"160.3",
		"tem_min":"15.3",
		"month":7,
		"year":2015,
		"tem_avg":"24.8"
	},{
		"tem_max":"31.8",
		"pre":"77.1",
		"tem_min":"14.0",
		"month":8,
		"year":2015,
		"tem_avg":"24.1"
	},{
		"tem_max":"26.3",
		"pre":"117.8",
		"tem_min":"9.4",
		"month":9,
		"year":2015,
		"tem_avg":"18.4"
	},{
		"tem_max":"20.3",
		"pre":"14.2",
		"tem_min":"2.5",
		"month":10,
		"year":2015,
		"tem_avg":"12.0"
	},{
		"tem_max":"6.9",
		"pre":"45.8",
		"tem_min":"-5.7",
		"month":11,
		"year":2015,
		"tem_avg":"1.4"
	},{
		"tem_max":"4.4",
		"pre":"2.0",
		"tem_min":"-11.1",
		"month":12,
		"year":2015,
		"tem_avg":"-2.5"
	}]
}
 
年度历史天气
 
接口说明
查询指定城市指定时段的年度历史天气
 
GET
/v2/yearlymete/{accesskey}/{citycode}/{start_year}/{end_year}/{type}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
start_year 必填 起始年份(1996-2015)
end_year 必填 结束年份(1996-2015,不早于起始年份)
type 可选 查询类型(仅支持jan、july和pre,大小写不敏感

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
info List 信息列表
year Int 年份
pre_full String 年降水量(mm)
tem_jan String 一月平均气温(℃)
tem_july String 七月平均气温(℃)

响应示例

{
	"citycode":"101010100",
	"rdesc":"Success",
	"rcode":200,
	"info":
	[{
		"tem_jan":"-3.2",
		"pre_full":"456.0",
		"year":2014,
		"tem_july":"26.1"
	},{
		"tem_jan":"-3.5",
		"pre_full":"573.1",
		"year":2015,
		"tem_july":"24.8"
	}]
}
 
天气实况查询

 
城市天气实况
 
接口说明
查询指定城市的天气实况
 
GET
/v2/weatherlive/{accesskey}/{citycode}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
updatetime String 更新时间
phenomena String 天气现象
temperature String 气温(℃)
feelst String 体感温度(℃)
airpressure String 气压(hPa)
humidity String 相对湿度(%)
rain String 降雨量(mm)
winddirect String 风向
windpower String 风力
windspeed String 风速(m/s)

响应示例

{
	"windspeed":"1.9",
	"airpressure":"1005.0",
	"phenomena":"晴",
	"rdesc":"Success",
	"humidity":"55.0",
	"updatetime":"2016-09-09 08:05",
	"windpower":"微风",
	"feelst":"23.0",
	"winddirect":"东北风",
	"rcode":200,
	"rain":"0.0",
	"temperature":"23.1"
}

POST
/v2/weatherlive

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycodes 必填 请求的城市编号列表,最多支持50个城市

请求示例

{
  "accesskey":"您的Accesskey",
  "citycodes":[
    "101190101",
    "101010100"
  ]
}

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
updatetime String 更新时间
phenomena String 天气现象
temperature String 气温(℃)
feelst String 体感温度(℃)
airpressure String 气压(hPa)
humidity String 相对湿度(%)
rain String 降雨量(mm)
winddirect String 风向
windpower String 风力
windspeed String 风速(m/s)

响应示例

{
	"rdesc":"Success",
	"rcode":200,
	"info":
	[{
		"windspeed":"2.3",
		"citycode":"101010100",
		"phenomena":"晴",
		"airpressure":"1002.0",
		"humidity":"28.0",
		"updatetime":"2016-09-08 14:05",
		"windpower":"微风",
		"feelst":"27.3",
		"winddirect":"西北风",
		"weekofday":"4",
		"rain":"0.0",
		"temperature":"30.6"
	},{
		"windspeed":"2.3",
		"citycode":"101190101",
		"phenomena":"多云",
		"airpressure":"1005.0",
		"humidity":"49.0",
		"updatetime":"2016-09-08 14:15",
		"windpower":"微风",
		"feelst":"28.2",
		"winddirect":"东南风",
		"weekofday":"4",
		"rain":"0.0",
		"temperature":"30.0"
	}]
}
 
水体环境查询

 
水质周报
 
接口说明
查询指定年份和周数的全国主要水体的水质周报
 
GET
/v2/waterquality/{accesskey}/{year}/{week}/{filter}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
year 必填 请求年份(2004-今年)
week 必填 请求周数(1-52)
filter 可选 过滤条件,支持模糊匹配

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
count Int 结果集大小
info List 水质周报
drainage String 流域
river String 河流或湖泊名称
section String 断面
point String 点位
PH String PH值
DO String 溶解氧
NH3N String 氨氮
CODMn String 高锰酸钾化学需氧量
pollution String 主要污染指标
prevweek String 上周水质
thisweek String 本周水质

响应示例

{
	"rdesc":"Success",
	"count":68,
	"rcode":200,
	"info":
	[{
		"point":"上海青浦急水港",
		"DO":"7.68",
		"PH":"7.36",
		"thisweek":"劣Ⅴ",
		"drainage":"太湖流域",
		"NH3N":"5.03",
		"pollution":"氨氮",
		"CODMn":"5.50",
		"prevweek":"劣Ⅴ",
		"section":"急水港(苏-沪省界)",
		"river":"急水港河"
	},
	……,
	{
		"point":"甘肃兰州新城桥",
		"DO":"11.60",
		"PH":"7.81",
		"thisweek":"Ⅱ",
		"drainage":"黄河流域",
		"NH3N":"0.28",
		"pollution":"无",
		"CODMn":"2.10",
		"prevweek":"Ⅱ",
		"section":"干流",
		"river":"海拉尔河"
	}]
}
 
空气质量查询

 
空气质量实况
 
接口说明
查询指定城市的空气质量实况
 
GET
/v2/cityairlive/{accesskey}/{citycode}/{type}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
type 可选 查询指标(仅支持AQI、PM25、PM10、CO、SO2、NO2和O3,大小写不敏感)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
time String 时间(yyyyMMddHH)
AQI String 空气质量指数
PM25 String PM2.5浓度(μg/m3)
PM10 String PM10浓度(μg/m3)
CO String 一氧化碳浓度(mg/m3)
SO2 String 二氧化硫浓度(μg/m3)
NO2 String 二氧化氮浓度(μg/m3)
o3 String 臭氧浓度(μg/m3)
primary String 首要污染物

响应示例

{
	"citycode":"101010100",
	"PM25":"9",
	"time":"2016090913",
	"rdesc":"Success",
	"PM10":"13",
	"SO2":"3.75",
	"o3":"55.17",
	"NO2":"15.75",
	"primary":"无",
	"rcode":200,
	"CO":"0.38",
	"AQI":"21"
}
 
城市24小时空气质量
 
接口说明
查询指定城市过去24小时的空气质量
 
GET
/v2/cityairhistory/{accesskey}/{citycode}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
history List 空气质量历史
citycode String 城市编码
time String 时间(yyyyMMddHH)
AQI String 空气质量指数
PM25 String PM2.5浓度(μg/m3)
PM10 String PM10浓度(μg/m3)
CO String 一氧化碳浓度(mg/m3)
SO2 String 二氧化硫浓度(μg/m3)
NO2 String 二氧化氮浓度(μg/m3)
o3 String 臭氧浓度(μg/m3)
primary String 首要污染物

响应示例

{
	"history":
	[{
		"citycode":"101010100",
		"PM25":"13",
		"time":"2016090815",
		"PM10":"4",
		"SO2":"2.60",
		"o3":"77.60",
		"NO2":"13.00",
		"primary":"无",
		"CO":"0.35",
		"AQI":"28"
	},{
		"citycode":"101010100",
		"PM25":"12",
		"time":"2016090817",
		"PM10":"27",
		"SO2":"2.67",
		"o3":"77.83",
		"NO2":"15.67",
		"primary":"颗粒物(PM10)",
		"CO":"0.31",
		"AQI":"37"
	},
	……,
	{
		"citycode":"101010100",
		"PM25":"10",
		"time":"2016090914",
		"PM10":"12",
		"SO2":"3.08",
		"o3":"60.00",
		"NO2":"14.00",
		"primary":"无",
		"CO":"0.34",
		"AQI":"22"
	}],
	"rdesc":"Success",
	"rcode":200
}
 
指定日期城市空气质量
 
接口说明
查询指定城市指定日期的空气质量
 
GET
/v2/citydailyair/{accesskey}/{citycode}/{date}/{type}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
date 必填 查询日期(yyyyMMdd)
type 可选 查询指标(仅支持AQI、PM25、PM10、CO、SO2、NO2和O3,大小写不敏感)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
date String 日期(yyyyMMdd)
AQI_max String 最高空气质量指数
AQI_min String 最低空气质量指数
AQI_avg String 平均空气质量指数
PM25_max String 最高PM2.5浓度(μg/m3)
PM25_min String 最低PM2.5浓度(μg/m3)
PM25_avg String 平均PM2.5浓度(μg/m3)
PM10_max String 最高PM10浓度(μg/m3)
PM10_min String 最低PM10浓度(μg/m3)
PM10_avg String 平均PM10浓度(μg/m3)
CO_max String 最高一氧化碳浓度(mg/m3)
CO_min String 最低一氧化碳浓度(mg/m3)
CO_avg String 平均一氧化碳浓度(mg/m3)
SO2_max String 最高二氧化硫浓度(μg/m3)
SO2_min String 最低二氧化硫浓度(μg/m3)
SO2_avg String 平均二氧化硫浓度(μg/m3)
NO2_max String 最高二氧化氮浓度(μg/m3)
NO2_min String 最低二氧化氮浓度(μg/m3)
NO2_avg String 平均二氧化氮浓度(μg/m3)
o3_max String 最高臭氧浓度(μg/m3)
o3_min String 最低臭氧浓度(μg/m3)
o3_avg String 平均臭氧浓度(μg/m3)

响应示例

{
	"rcode":200,
	"rdesc":"Success",
	"citycode":"101010100",
	"date":"20160908",
	"o3_avg":"40.74",
	"o3_min":"0.00",
	"NO2_avg":"40.40",
	"PM10_avg":"28",
	"PM10_max":"135",
	"o3_max":"47.00",
	"NO2_max":"117.00",
	"PM25_avg":"20",
	"NO2_min":"0.00",
	"PM10_min":"0",
	"AQI_avg":"39",
	"CO_max":"1.30",
	"SO2_avg":"2.50",
	"CO_min":"0.00",
	"PM25_max":"44",
	"SO2_min":"0.00",
	"AQI_max":"93",
	"PM25_min":"5",
	"SO2_max":"26.00",
	"AQI_min":"0",
	"CO_avg":"0.57"
}
 
指定小时城市空气质量
 
接口说明
查询指定城市指定小时的空气质量
 
GET
/v2/cityhourlyair/{accesskey}/{citycode}/{time}/{type}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码
time 必填 查询时间(yyyyMMddHH)
type 可选 查询指标(仅支持AQI、PM25、PM10、CO、SO2、NO2和O3,大小写不敏感)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
time String 时间(yyyyMMddHH)
AQI String 空气质量指数
PM25 String PM2.5浓度(μg/m3)
PM10 String PM10浓度(μg/m3)
CO String 一氧化碳浓度(mg/m3)
SO2 String 二氧化硫浓度(μg/m3)
NO2 String 二氧化氮浓度(μg/m3)
o3 String 臭氧浓度(μg/m3)
primary String 首要污染物

响应示例

{
	"rcode":200,
	"rdesc":"Success",
	"citycode":"101010100",
	"time":"2016090908",
	"PM25":"19",
	"PM10":"44",
	"SO2":"3.33",
	"o3":"8.58",
	"NO2":"49.67",
	"primary":"无",
	"CO":"0.56",
	"AQI":"43"
}
 
污染排放查询

 
年度污染排放
 
接口说明
查询指定年份的全国污染排放
 
GET
/v2/discharge/{accesskey}/{year}/{filter}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
year 必填 查询年份(2004-2014)
filter 可选 过滤条件,支持模糊匹配

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
year String 年份
count Int 结果集大小
info List 污染排放列表
province String 省份名称
category String 指标种类
index String 具体指标
value String 排放量

响应示例

{
	"rdesc":"Success",
	"count":32,
	"rcode":200,
	"year":"2004",
	"info":
	[{
		"index":"六价铬",
		"category":"空气污染物排放",
		"value":"15.748 吨",
		"province":"江苏"
	},
	……,
	{
		"index":"生活及其他烟尘",
		"category":"空气污染物排放",
		"value":"1.7 万吨",
		"province":"江苏"
	}]
}
 
省级历史污染排放
 
接口说明
查询指定省份指定时段的历史污染排放年报
 
GET
/v2/periodicdischarge/{accesskey}/{start_year}/{end_year}/{province}/{filter}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
start_year 必填 起始年份(2004-2014)
end_year 必填 结束年份(2004-2014,不早于起始年份)
province 必填 查询省份
filter 可选 过滤条件,支持模糊匹配

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
province String 省份名称
count Int 结果集大小
info List 污染排放列表
year String 年份
category String 指标种类
index String 具体指标
value String 排放量

响应示例

{
	"rcode":200,
	"rdesc":"Success",
	"count":2,
	"province":"江苏",
	"info":
	[{
		"index":"工业烟尘",
		"category":"空气污染物排放",
		"value":"39.8 万吨",
		"year":"2004"
	},{
		"index":"工业烟尘",
		"category":"空气污染物排放",
		"value":"42.6 万吨",
		"year":"2005"
	}]
}
城市辐射查询

 
城市大气辐射
 
接口说明
查询从2011年3月12日到2015年12月20日的全国每日辐射环境数据
 
GET
/v2/radiation/{accesskey}/{date}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
date 必填 查询日期(yyyyMMdd,范围:20110312~20151220)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
datasource String 数据来源
info List 辐射数据列表
time String 监测时段,起始时间_结束时间,精确到小时
range String 监测范围值
conclusion String 监测结论
place String 监测城市
reference String 参考范围值(周边原野监测值)
average String 监测平均值

响应示例

{
    {
    "rcode":200,                 
    "rdesc":"Success",           
    "datasource":"湖南省环境保护厅",   
    "info":
    [{
        "time":"2015120308_0315",    
        "range":"90.9-91.2",          
        "conclusion":"正常水平",       
        "place":"上海市",              
        "reference":"54.9-108.2",    
        "average":"91.1"            
    },{
        ……                            
    },
    ……
    ]
}
 
空气质量预报

 
城市空气质量预报
 
接口说明
查询指定城市未来5天的空气质量预报
 
GET
/v2/cityairforecast/{accesskey}/{citycode}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 请求的城市编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
cityname String 城市名称
publishdate String 发布日期(yyyy-MM-dd)
forecast List 空气质量预报
date String 预报日期
aqi_avg String 平均空气质量指数
pm25_max String 最高PM2.5浓度(μg/m3)
pm25_min String 最低PM2.5浓度(μg/m3)
pm10_max String 最高PM10浓度(μg/m3)
pm10_min String 最低PM10浓度(μg/m3)
co_max String 最高一氧化碳浓度(mg/m3)
co_min String 最低一氧化碳浓度(mg/m3)
so2_max String 最高二氧化硫浓度(μg/m3)
so2_min String 最低二氧化硫浓度(μg/m3)
no2_max String 最高二氧化氮浓度(μg/m3)
no2_min String 最低二氧化氮浓度(μg/m3)
o3_max String 最高臭氧浓度(μg/m3)
o3_min String 最低臭氧浓度(μg/m3)
o3_8h_max String 最高臭氧8小时浓度(μg/m3)
o3_8h_min String 最低臭氧8小时浓度(μg/m3)

响应示例

{
	"citycode":"101010100",
	"rdesc":"Success",
	"forecast":
	[{
		"no2_max":"117.97",
		"o3_8h_max":"90.01",
		"no2_min":"6.30",
		"o3_min":"41.89",
		"aqi_avg":"65",
		"co_max":".61",
		"date":"2016-09-09",
		"o3_max":"94.64",
		"co_min":".14",
		"pm10_max":"31.22",
		"so2_max":"32.36",
		"so2_min":"18.36",
		"pm25_min":"3.02",
		"pm25_max":"26.66",
		"o3_8h_min":"42.10",
		"pm10_min":"3.83"
	},
	……,
	{
		"no2_max":"80.20",
		"o3_8h_max":"91.49",
		"no2_min":"4.85",
		"o3_min":"40.77",
		"aqi_avg":"56",
		"co_max":".75",
		"date":"2016-09-13",
		"o3_max":"71.52",
		"co_min":".13",
		"pm10_max":"46.80",
		"so2_max":"30.65",
		"so2_min":"15.29",
		"pm25_min":"1.58",
		"pm25_max":"43.46",
		"o3_8h_min":"49.06",
		"pm10_min":"2.05"
	}],
	"rcode":200,
	"cityname":"北京",
	"publishdate":"2016-09-09"
}
 
地震查询

 
最近一次地震
 
接口说明
查询全球发生的最近一次地震
 
GET
/v2/recentearthquake/{accesskey}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
time String 地震发生时间
update String 数据更新时间
mag String 震级(里氏)
longitude String 震源经度
latitude String 震源纬度
place String 震源位置
depth String 震源深度(km)

响应示例

{
	"rcode":200,
	"rdesc":"Success",
	"time":"2016-09-09 16:04:16",
	"updated":"2016-09-09 16:05:54",
	"mag":"1.08",
	"longitude":"-118.8816681",
	"latitude":"37.6331673",
	"place":"8km ESE of Mammoth Lakes, California",
	"depth":"6.58"
}
 
指定日期地震
 
接口说明
查询指定日期发生的全球地震
 
GET
/v2/dailyearthquake/{accesskey}/{date}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
date 必填 查询日期(yyyyMMdd)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
count Int 结果集大小
earthquakes List 地震列表
time String 地震发生时间
update String 数据更新时间
mag String 震级(里氏)
longitude String 震源经度
latitude String 震源纬度
place String 震源位置
depth String 震源深度(km)

响应示例

{
	"rdesc":"Success",
	"count":151,
	"rcode":200,
	"earthquakes":
	[{
		"time":"2016-09-08 00:12:11",
		"updated":"2016-09-08 00:15:56",
		"mag":"0.44",
		"longitude":"-116.6545",
		"latitude":"33.5645",
		"place":"2km ENE of Anza, CA",
		"depth":"9.28"
	},
	……,
	{
		"time":"2016-09-08 23:56:44",
		"updated":"2016-09-09 00:02:30",
		"mag":"1.3",
		"longitude":"-150.9587",
		"latitude":"63.1828",
		"place":"103km WSW of Cantwell, Alaska",
		"depth":"155.8"
	}]
}
 
指定城市地震
 
接口说明
查询指定城市受影响的地震
 
GET
/v2/cityearthquake/{accesskey}/{citycode}/{count}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 城市编码
count 可选 查询条目数

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
count Int 结果集大小
earthquakes List 地震列表
time String 地震发生时间
update String 数据更新时间
mag String 震级(里氏)
longitude String 震源经度
latitude String 震源纬度
place String 震源位置
depth String 震源深度(km)
distance String 城市到震源的距离

响应示例

{
	"rdesc":"Success",
	"count":2,
	"rcode":200,
	"earthquakes":
	[{
		"distance":"243.507km",
		"time":"2016-09-09 08:30:01",
		"updated":"2016-09-09 09:14:09",
		"mag":"5.3",
		"longitude":"128.9744",
		"latitude":"41.2982",
		"place":"15km ENE of Sungjibaegam, North Korea",
		"depth":"0.0"
	},{
		"distance":"746.417km",
		"time":"2016-09-07 12:28:49",
		"updated":"2016-09-07 13:11:49",
		"mag":"4.9",
		"longitude":"140.0558",
		"latitude":"36.1851",
		"place":"4km WSW of Tsukuba, Japan",
		"depth":"47.6"
	}]
}
 
指定时段地震
 
接口说明
查询指定时段全球发生的地震
 
GET
/v2/periodicearthquake/{accesskey}/{start_date}/{end_date}/{min_mag}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
start_date 必填 起始日期(yyyyMMdd)
end_date 必填 结束日期(yyyyMMdd,不早于起始日期)
min_mag 可选 最小展示震级

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
count Int 结果集大小
earthquakes List 地震列表
time String 地震发生时间
update String 数据更新时间
mag String 震级(里氏)
longitude String 震源经度
latitude String 震源纬度
place String 震源位置
depth String 震源深度(km)

响应示例

{
	"rdesc":"Success",
	"count":79,
	"rcode":200,
	"earthquakes":
	[{
		"time":"2016-09-07 00:35:59",
		"updated":"2016-09-07 00:47:11",
		"mag":"2.12",
		"longitude":"-116.039",
		"latitude":"33.1741667",
		"place":"9km ENE of Ocotillo Wells, CA",
		"depth":"2.05"
	},
	……,
	{
		"time":"2016-09-08 23:21:35",
		"updated":"2016-09-08 23:33:29",
		"mag":"2.0",
		"longitude":"-152.5901",
		"latitude":"59.412",
		"place":"59km SW of Anchor Point, Alaska",
		"depth":"81.8"
	}]
}
台风查询

 
台风概要
 
接口说明
查询2002到2015年指定年份的台风概要信息
 
GET
/v2/typhoon/{accesskey}/{year}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
year 必填 查询年份(2002~2015)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
info List 当年所有台风概要信息列表(仅包含台风英文名)

响应示例

{
    "rcode":200,       
    "rdesc":"Success", 
    "info":                 
    [
        "PAKHAR",          
        "SANVU",
        "MAWAR",
        "GUCHOL",
        "TALIM",
        "DOKSURI",
        "KHANUN",
        "VICENTE",
        "SAOLA",
        "DAMREY",
        "HAIKUI",
        "KIROGI",
        "KAI-TAK",
        "TEMBIN",
        "BOLAVEN",
        "SANBA",
        "JELAWAT",
        "EWINIAR",
        "MALIKSI",
        "GAEMI",
        "PRAPIROON",
        "MARIA",
        "SON-TINH",
        "BOPHA",
        "WUKONG"
    ]
}
台风详情
 
接口说明
查询2002到2015年指定台风的具体路径信息
 
GET
/v2/typhoon/{accesskey}/{year}/{name}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
year 必填 查询年份(2002~2015)
name 必填 台风英文名称(参见台风概要)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
info Object 台风详情
id String 台风编号
name_cn String 台风中文名称
name_en String 台风英文名称
year String 年份
path List 台风路径列表
time String 时间
type String 类型(1:热带低压,2:热带风暴,3:强热带风暴,4:台风,5:强台风,6:超强台风)
cwspd String 台风中心风速(m/s)
cwsc String 台风中心风力
cpres String 台风中心气压(hPa)
cr7 String 7级风力半径(km)
cr10 String 10级风力半径(km)
lng String 台风中心经度
lat String 台风中心纬度

响应示例

{
    "resultCode":"0",
    "resultDesc":"Success",
    "info":
    {
        "id":"25",             
        "name_cn":"悟空",               
        "name_en":"WUKONG",            
        "year":"2012",                   
        "path":                      
        [{
            "time":"2012-12-25_08:00", 
            "type":"2",
            "cwspd":"18",     
            "cwsc":"",       
            "cpres":"1000",    
            "cr7":"150",          
            "cr10":"",            
            "lat":"10.3",                 
            "lng":"128.6"                 
        }]
    }
}
灾害预警查询

 
实时预警
 
接口说明
查询全国、指定省份或城市的实时灾害预警数据
 
GET
/v2/alert/{accesskey}/{filter}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
filter 可选 城市或省份过滤条件,支持模糊查询,UTF-8编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
info List 预警信息列表
time String 预警发布或解除时间
type String 预警类型
color String 预警级别(蓝色、黄色、橙色、红色)
status String 预警状态(0-发布,1-解除)
description String 预警详情
province String 省份
city String 城市("N/A"表示无特定城市)
x String 经度
y String 纬度
imagename String 预警图片名称(可在公共资源下载)
datasource 数据源

响应示例

{
    "rcode":200,                     
    "rdesc":"Success",                
    "info":
    [{
        "time":"2016-05-20_06:23:00",      
        "type":"暴雨",                     
        "color":"蓝色",                    
        "status":"0",                      
        "description":"三明市气象台5月20日6时23分继续发布暴雨
                    蓝色预警信号:预计未来12小时我市中北部有大
                    雨到暴雨。请注意防范山洪、滑坡、泥石流等次
                    生灾害!",             
        "province":"福建省",               
        "city":"三明市",                   
        "x":"117.65",                      
        "y":"26.27",                      
        "imagename":"s0002004.jpg",        
        "datasource":"中央气象台"           
    }]
}
 
城市位置查询

 
城市地理位置
 
接口说明
查询指定城市的地理位置坐标
 
GET
/v2/location/{accesskey}/{citycode}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
citycode 必填 城市编码

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
info Object 地理位置信息
citycode String 城市编码
countyname_cn String 县市中文名
countyname_en String 县市英文名
cityname_cn String 所属城市中文名
cityname_en String 所属城市英文名
provincename_cn String 所属省份中文名
provincename_en String 所属省份英文名
nationname_cn String 所属国家中文名
nationname_en String 所属国家英文名
citylevel String 城市级别
zipcode String 邮政编码
areanumber String 电话区号
uptime String 更新时间
longitude String 城市经度
latitude String 城市纬度
altitude String 城市海拔(m)

响应示例

{
	"rdesc":"Success",
	"rcode":200,
	"info":
	{
		"citylevel":"1",
		"countyname_cn":"北京",
		"countyname_en":"beijing",
		"altitude":"33",
		"zipcode":"100000",
		"uptime":"201509141100",
		"cityname_cn":"北京",
		"citycode":"101010100",
		"cityname_en":"beijing",
		"provincename_cn":"北京",
		"nationname_en":"china",
		"nationname_cn":"中国",
		"longitude":"116.391000",
		"provincename_en":"beijing",
		"latitude":"39.904000",
		"areanumber":"010"
	}
}
 
坐标范围查询

 
范围覆盖城市
 
接口说明
查询指定坐标范围内覆盖的城市列表
 
GET
/v2/area/{accesskey}/{start_lng}/{start_lat}/{end_lng}/{end_lat}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
start_lng 必填 起始坐标经度(东经)
start_lat 必填 起始坐标纬度(北纬)
end_lng 必填 结束坐标经度(东经)
end_lat 必填 结束坐标纬度(北纬)

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
count Int 结果集大小
cities List 城市列表
citycode String 城市编码
cityname String 城市名称
longitude String 城市经度
latitude String 城市纬度

响应示例

{
	"rdesc":"Success",
	"count":7,
	"cities":
	[{
		"citycode":"101190501",
		"longitude":"120.840000",
		"latitude":"32.016000",
		"cityname":"南通"
	},{
		"citycode":"101190502",
		"longitude":"120.270000",
		"latitude":"32.320000",
		"cityname":"海安"
	},{
		"citycode":"101190503",
		"longitude":"120.586000",
		"latitude":"32.245000",
		"cityname":"如皋"
	},{
		"citycode":"101190707",
		"longitude":"120.508000",
		"latitude":"32.794000",
		"cityname":"东台"
	},{
		"citycode":"101191203",
		"longitude":"120.092000",
		"latitude":"32.188000",
		"cityname":"泰兴"
	},{
		"citycode":"101191204",
		"longitude":"120.090000",
		"latitude":"32.310000",
		"cityname":"姜堰"
	},{
		"citycode":"101191205",
		"longitude":"120.282000",
		"latitude":"32.038000",
		"cityname":"靖江"
	}],
	"rcode":200
}
 
城市编码查询

 
所有城市编码
 
接口说明
查询所有支持城市的城市编码
 
GET
/v2/citycode/{accesskey}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
info List 城市编码列表
citycode String 城市编码
cityname String 城市名称

响应示例

{
	"rdesc":"Success",
	"rcode":200,
	"info":
	[{
		"citycode":"101010100",
		"cityname":"北京"
	},{
		"citycode":"101010200",
		"cityname":"海淀"
	},
	……,
	{
		"citycode":"101340406",
		"cityname":"云林"
	}]
}
 
指定城市编码
 
接口说明
查询指定城市的城市编码
 
GET
/v2/citycode/{accesskey}/{cityname}

请求参数说明

参数名称 类型 参数含义
accesskey 必填 用户私钥
cityname 必填 城市名称

响应参数说明

参数名称 类型 参数含义
rcode Int 结果码
rdesc String 结果描述
citycode String 城市编码
cityname String 城市名称

响应示例

{
	"citycode":"101190101",
	"rdesc":"Success",
	"rcode":200,
	"cityname":"南京"
}
 
 
版权所有 © 2015-2016 南京云创大数据科技股份有限公司(股票代码:835305)(苏ICP备11060547号-13)