国内天气预报查询

1. 智能天气实况 API天气实况是天气预报中最基础的数据,主要是对最近天气进行的监测,该接口的更新频率是分钟级。目前行业内,天气实况最大的问题是天气观测现象不准确,APISpace
  • 企业实名用户可用
  • 个人实名用户可用
开通接口
  • 介绍
  • API文档
  • 定价
  • 接入指南

1. 智能天气实况 API

天气实况是天气预报中最基础的数据,主要是对最近天气进行的监测,该接口的更新频率是分钟级。目前行业内,天气实况最大的问题是天气观测现象不准确,APISpace 通过多源交叉验证,并辅以人工智能、图片识别等技术,在实况天气现象的准确性上大幅提高,明显优于行业平均水平。
目前天气实况支持国内3400+个城市以及国际4万个城市的实况数据。

2. 天气逐小时预报 API

天气逐小时预报将预报粒度细化到小时级别,对每个小时的天气情况进行预报。目前行业内大部分天气产品都上线了未来24小时的逐时预报,而 APISpace 则可以提供全球城市长达72小时的逐时预报,包含天气现象、气温、体感温度、风力、风向、相对湿度、云量、1小时降水量等。
目前天气逐小时预报支持国内3400+个城市以及国际4万个城市的预报数据。
注:该预报产品为行业气象预报,不属于公共气象预报。

3. 天气逐3小时预报 API

天气逐3小时预报主要包含天气现象、气温、体感温度、风力、风向、相对湿度、云量、降水量等,国内最长可支持7天。
目前支持国内3400+个城市的预报数据。

4. 15天预报 API

15天预报是最基础核心的天气预报元素,用户获取量最大的数据,对指定城市未来天气以天为颗粒度的预报信息。具体要素包含:将一个自然日区分为白天、黑夜,分别预报出天气现象、最高气温、最低气温、风力、风向等。
随着预报水平的提高,逐天预报时效也越来越长,从最初的3天、7天提高到10天、15天。
除此之外,APISpace 还对逐日预报进行了升级,前15天预报中新增了白天风速、白天风向角度、白天云量、夜间风速、夜间风向角度、夜间云量、最大相对湿度、最小相对湿度、降水概率、气压、能见度、紫外线指数等要素。
目前支持国内3400+个城市以及国际4万个城市的预报数据。
注:7天以上逐日预报为行业气象预报,不属于公众气象预报。

5. 城市搜索(支持国内、国外城市)API

城市搜索可根据城市中文名、英文名或拼音,检索匹配全球的城市信息。该接口支持模糊搜索,可指定搜索范围(中国或全球),设置返回结果数量等。
使用方式:
  1. 用户输入城市中文名、英文名或拼音后,可直接调用本接口,在输入框下方为用户展示匹配到的城市信息,供用户快速选择;
  2. 也可用于接口使用者快速检索,根据城市中文名、英文名或拼音快速匹配对应的areacode信息。
areacode:城市ID 参数说明
该接口支持中国31个省、直辖市、自治区及港澳台地区共3400+个城市的地理信息;支持全球200多个国家和地区共39474个城市的地理信息。
  • 点击查看国内城市_3405站 
  • 点击查看国际城市_39474站
  • 天气状态编码表





 

接口请求方式:

接口地址:https://api-s1.jiekoumao.com/app/weather/v1
返回格式:json
请求方式:GET/POST

请求参数说明:

参数名 类型 示例 必填 说明
ak string 4b2a51b05c380db3c0f6978a9c631fd0 账户ak

JSON返回示例:

{
    "resultcode": "200",
    "reason": "查询成功",
    "result": {
        "Country": "中国",
        "Province": "江苏",
        "City": "苏州",
        "Isp": "联通"
    },
    "error_code": 0
}

国内天气预报查询接口流量包

您可以购买小额流量包进行业务对接测试,并根据您的业务需求自由选择购买大额流量包,更高强度的使用需求可以联系客服为您定制。

流量包购买后有效期为1年,到期后未使用的次数将会自动清空

¥100

1 万次

约¥ 0.01 / 次

¥200

3 万次

约¥ 0.007 / 次

对接步骤

仅需三步,快速帮您接入 API
1
开通/购买 API
选择想要使用的API,对API做开通或购买操作
2
使用 AK 测试 API
使用 AK 填入相应参数,即可对 API 进行测试。AK 在用户中心》API Key下修改
3
编写代码接入 API

示例代码

<?php


$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0",
  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;
}
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
Request request = new Request.Builder()
  .url("https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0")
  .method("GET",null)
  .addHeader("X-APISpace-Token","")
  .build();

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

url = "https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0"

payload = ""

headers = {
}

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

print(response.text)
var data = {

}

$.ajax({
    "url":"https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0",
    "method": "GET",
    "data": data,
    "crossDomain": true
})
    .done(function(response){})
    .fail(function(jqXHR){})
var request = require("request");
var requestInfo={
   method: "GET",
   url: "https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0",
   form: {

   }
};

request(requestInfo, function (error, response, body) {
    if (error) throw new Error(error);
    console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0")

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

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

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

import (
     "bytes"
     "encoding/json"
     "fmt"
     "io/ioutil"
     "net/http"
)

func main() {
     body, err := request()
     if err != nil {
      fmt.Println(err)
      return
     }
     fmt.Println(string(body))
}

func request() ([]byte, error) {
    uri := "https://api-s1.jiekoumao.com/app/weather/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0"

    payload := strings.NewReader("")

    req, _ := http.NewRequest("GET", uri, bytes.NewBuffer(data))

    res, err := http.DefaultClient.Do(req)
    if err != nil {
      return nil, err
    }
    defer res.Body.Close()
    return ioutil.ReadAll(res.Body)
}