世界银行发展指标 API
真实开源接口封装(SKU-108):基于世界银行 Open Data 的国家发展指标时间序列 API。无需上游密钥;免费开源;遵守上游频率限制。
提供商: 平台自营
交付形态:API
适用场景
1 / 5场景说明
本数据包「世界银行发展指标 API」适用于以下场景:
1
宏观研究 / 跨境业务的 GDP、人口等指标拉取
2
金融与政策分析原型的跨国可比时间序列
3
教学用开放宏观数据 API 联调(经平台 API Key 鉴权)
不适用于:替代官方统计部门正式公报或突破上游配额的批量爬取。
接入指南
2 / 5订购后通过平台 API Key 调用本商品封装接口(路径见下方与 Schema,非通用 rows 接口)。
-
1
获取凭证
登录 → 购买 → 在 申请 API Key 签发密钥(仅显示一次)
-
2
发起请求
GET /api/v1/worldbank/indicator?country=CHN&indicator=NY.GDP.MKTP.CD&per_page=10,Header:X-API-Key -
3
解析响应
按本商品 Schema / 接口说明解析 JSON 字段(各封装接口返回结构不同)。
-
4
处理错误
401密钥无效 ·403未购买/无权 ·400参数错误 ·429过频 ·502上游失败
接口说明
3 / 5SKU-108 世界银行发展指标 API
- 交付:
GET /api/v1/worldbank/indicator - 鉴权:
X-API-Key - 源:World Bank Open Data API
- 许可:World Bank Open Data terms / CC BY 4.0 for many datasets
字段 Schema
4 / 5{
"auth": "X-API-Key",
"endpoint": "/api/v1/worldbank/indicator",
"fields": [
{
"kind": "string",
"name": "country_id"
},
{
"kind": "string",
"name": "country_name"
},
{
"kind": "string",
"name": "indicator_id"
},
{
"kind": "string",
"name": "indicator_name"
},
{
"kind": "string",
"name": "date"
},
{
"kind": "numeric",
"name": "value"
}
],
"format": "api",
"notes": [
"Free open upstream encapsulation; respect rate limits.",
"source=World Bank Open Data API"
],
"query": [
"country",
"indicator",
"per_page"
]
}
调用示例
5 / 5
以下示例调用本商品平台封装接口
/api/v1/worldbank/indicator
(需先订购并申请 API Key)。完整说明见 API 文档。
curl -H "X-API-Key: ds_你的密钥" \ "https://www.dataocean.zhixxing.cn/api/v1/worldbank/indicator?country=CHN&indicator=NY.GDP.MKTP.CD&per_page=10"
import requests
r = requests.get(
"https://www.dataocean.zhixxing.cn/api/v1/worldbank/indicator",
headers={"X-API-Key": "ds_你的密钥"},
params={ "country": "CHN", "indicator": "NY.GDP.MKTP.CD", "per_page": "10" },
timeout=30,
)
r.raise_for_status()
print(r.json())
const apiKey = "ds_你的密钥";
const url = new URL("https://www.dataocean.zhixxing.cn/api/v1/worldbank/indicator");
url.searchParams.set("country", "CHN");
url.searchParams.set("indicator", "NY.GDP.MKTP.CD");
url.searchParams.set("per_page", "10");
const resp = await fetch(url, {
headers: { "X-API-Key": apiKey },
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const payload = await resp.json();
console.log(payload);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("https://www.dataocean.zhixxing.cn/api/v1/worldbank/indicator?country=CHN&indicator=NY.GDP.MKTP.CD&per_page=10"))
.header("X-API-Key", "ds_你的密钥")
.GET()
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET",
"https://www.dataocean.zhixxing.cn/api/v1/worldbank/indicator?country=CHN&indicator=NY.GDP.MKTP.CD&per_page=10", nil)
req.Header.Set("X-API-Key", "ds_你的密钥")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode, string(body))
}
using System.Net.Http;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "ds_你的密钥");
var json = await client.GetStringAsync("https://www.dataocean.zhixxing.cn/api/v1/worldbank/indicator?country=CHN&indicator=NY.GDP.MKTP.CD&per_page=10");
Console.WriteLine(json);
1 / 5