GlobalPulse API
一套 RESTful API,让你以编程方式访问 GlobalPulse 的全部数据资产——实时新闻、市场行情、AI 叙事与信号。专为量化分析师、第三方应用开发者与高级 PRO 用户设计。
什么是 GlobalPulse API
GlobalPulse API 是我们将客户端展示的所有数据通过标准 HTTP 接口对外提供的服务。这意味着你可以:
- 把我们的【涨跌家数】数据接入你自己的量化策略
- 把我们的【AI 盘后扫描】嵌入到企业内部 Slack / 钉钉机器人
- 用 Python 抓取每日新闻流,做自己的舆情分析
- 构建基于 GlobalPulse 数据的衍生产品
L1核心特征
统一鉴权
所有接口共用一个 API Key,通过 X-API-Key Header 传递。
共享配额
12 个接口共享 10000 次/月配额,灵活分配。
JSON 响应
所有返回均为 JSON,统一 { ok, data } 结构。
3 分钟快速开始
L1第一步:获取 API Key
在 GlobalPulse 客户端 → 【设置】→ 【API 密钥】,点击【创建 Key】即可生成。Key 形如 gpapi_xxxxxxxx_xxxxxxxxxxxx,请妥善保存。
L1第二步:发起第一个请求
测试你的 Key 是否工作。以下命令获取当前 A 股大盘涨跌家数:
curl https://api.global-pulse.net/api/v1/market/limit-stats \ -H "X-API-Key: gpapi_xxxxxxxx_xxxxxxxxxxxx" \ -H "User-Agent: my-app/1.0"
import requests
API_KEY = "gpapi_xxxxxxxx_xxxxxxxxxxxx"
r = requests.get(
"https://api.global-pulse.net/api/v1/market/limit-stats",
headers={
"X-API-Key": API_KEY,
"User-Agent": "my-app/1.0",
},
timeout=10,
)
print(r.json())const API_KEY = "gpapi_xxxxxxxx_xxxxxxxxxxxx";
const res = await fetch(
"https://api.global-pulse.net/api/v1/market/limit-stats",
{
headers: {
"X-API-Key": API_KEY,
"User-Agent": "my-app/1.0",
},
}
);
const data = await res.json();
console.log(data);L1第三步:解析响应
所有接口返回统一结构:
{
"ok": true,
"data": {
"up_count": 2899, // 上涨家数
"down_count": 2199, // 下跌家数
"limit_up_count": 97, // 涨停数
"limit_down_count": 2 // 跌停数
},
"ts": 1778653662616
}
✓ ok: true 表示成功。失败时 ok: false 并带 code + error。详见 错误码。
鉴权机制
L1必需 Header
每次请求必须包含以下两个 Header:
| Header | 类型 | 说明 |
|---|---|---|
| X-API-Key | String | 你的 API Key(必需) |
| User-Agent | String | 客户端标识,如 myapp/1.0(必需) |
L2Key 安全规范
- 不要将 Key 写在前端代码或公开仓库中
- 不要通过 URL 参数传递 Key(防止 server 日志记录)
- 务必使用环境变量或秘钥管理服务存储
- 如果 Key 不慎泄露,立即在客户端【API 密钥】中【禁用】然后【新建】
L3Key 生命周期
API Key 与你的 PRO 订阅深度绑定:
- 每个 PRO 用户在任一时刻最多有 1 个 active key
- PRO 订阅过期时,Key 自动禁用(
disabled_reason: pro_expired) - 禁用后所有请求返回
403 KEY_DISABLED - 续费 PRO 后需手动重新创建新 Key
配额与限流
12 个接口共享一个配额池。每月 1 号 00:00 CST 自动重置。
基于 Redis Token Bucket,按 60 秒滑动窗口计算。
L1叠加包
本月配额用完后,可购买 +10,000 次叠加包(¥99),立即生效,当月有效,不结转下月。联系客服或在客户端【API 密钥】中点【+】图标购买。
L2响应头
每次响应都包含以下 Header,便于你监控用量:
| Header | 示例 | 说明 |
|---|---|---|
| X-RateLimit-Limit | 60 | 每分钟上限 |
| X-RateLimit-Remaining | 52 | 当前窗口剩余 |
| X-Quota-Limit | 10000 | 本月配额 |
| X-Quota-Used | 1242 | 本月已用 |
L3限流策略与重试
触发限流时返回 429 RATE_LIMITED,响应体:
{
"ok": false,
"code": "RATE_LIMITED",
"error": "Rate limit exceeded: 60/min",
"retry_after": 18 // 秒后可重试
}
建议使用指数退避(exponential backoff)策略:首次失败等 1 秒重试,第二次 2 秒,第三次 4 秒,最多 5 次。
10 个接口
所有接口的根路径为 https://api.global-pulse.net/api/v1。下方按业务领域分组。
L1最新新闻流
获取 GlobalPulse 数据引擎抓取的最新财经新闻(中文为主,覆盖国内外财经媒体)。
Query 参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| limit | Int | 50 | 返回条数,1-100 |
响应
{
"ok": true,
"data": [
{
"id": "n_8c9d2f...",
"title": "央行:将继续实施稳健的货币政策...",
"summary": "今日央行召开三季度金融统计数据发布会...",
"url": "https://...",
"source": "新华社",
"sentiment": 0.62, // 情绪分 -1 ~ 1
"category": "macro", // 宏观 / 行业 / 个股 / 公告
"tags": ["央行", "货币政策"],
"published_at": "2026-05-13T10:23:00+08:00"
}
],
"ts": 1778653662616
}
示例(cURL)
curl 'https://api.global-pulse.net/api/v1/news/latest?limit=20' \ -H "X-API-Key: $API_KEY" \ -H "User-Agent: my-app/1.0"
L1搜索新闻
按关键词全文检索历史新闻库。
Query 参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
| q | String | 是 | 搜索关键词(中文 / 英文) |
| limit | Int | 否 | 返回条数,1-50,默认 20 |
示例
curl 'https://api.global-pulse.net/api/v1/news/search?q=人工智能&limit=10' \ -H "X-API-Key: $API_KEY" \ -H "User-Agent: my-app/1.0"
L2主题流
按预定义主题筛选新闻。GlobalPulse 提供 8 个细分主题(覆盖 A 股全行业)+ 4 个兼容别名。
8 个标准主题
| topic 值 | 主题名 | 覆盖内容 | 代表股 |
|---|---|---|---|
ai | AI / 人工智能 | 大模型 / 算力 / GPU / AI 应用 | 中际旭创、寒武纪、海光、科大讯飞 |
chip | 半导体 / 芯片 | 晶圆 / 光刻 / 封测 / SiC / 国产替代 | 中芯国际、北方华创、韦尔股份 |
ev | 新能源车 | 锂电 / 智驾 / 充换电 | 比亚迪、宁德时代、赣锋锂业 |
energy | 新能源 | 光伏 / 风电 / 储能 / 氢能 / 核电 | 隆基绿能、阳光电源、金风科技 |
biotech | 生物医药 | 创新药 / CXO / 减肥药 / 医疗器械 | 恒瑞医药、药明康德、迈瑞医疗 |
realestate | 房地产 | 楼市 / 物业 / 建材 / 装修 | 万科、保利、海螺水泥 |
consumer | 大消费 | 白酒 / 食品 / 家电 / 零售 / 化妆品 | 贵州茅台、美的、伊利 |
finance | 金融 / 宏观 | 银行 / 券商 / 利率 / 政策 / 国际 | 工商银行、招商银行、中信证券 |
4 个兼容别名(向后兼容老客户)
| 别名 | 映射到 |
|---|---|
all | 不筛选(等同 /news/latest) |
concept | ai + chip |
industry | biotech + realestate + consumer |
macro | finance |
匹配机制
- 每个主题预置 30-150 个关键词(中英文 / 公司名 / 技术术语)
- 标题命中权重
×3,正文命中权重×1 - 按相关度排序,同分按时间倒序
- 响应内含
matched_keywords字段,客户可查看为何命中 - 60 秒结果缓存(高频调用 ≤ 1ms 响应)
查询参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| limit | integer | 100 | 返回条数(最大 500) |
示例
curl 'https://api.global-pulse.net/api/v1/news/topic/ai?limit=20' \ -H "X-API-Key: $API_KEY" \ -H "User-Agent: my-app/1.0"
响应示例
{
"ok": true,
"data": {
"topic": "ai",
"topic_resolved": "ai",
"topic_info": {
"name": "AI / 人工智能",
"description": "人工智能、大模型、算力相关新闻",
"keywords_count": 65
},
"count": 18,
"items": [
{
"title": "DeepSeek V3.1 发布,推理性能提升 40%",
"url": "https://...",
"source": "财联社",
"time": "2026-05-17T09:30:00Z",
"summary": "...",
"matched_keywords": ["DeepSeek", "大模型", "推理"]
},
...
],
"cached": false
}
}
列出所有可用主题
无参数。返回完整的 8 主题元数据 + 4 别名映射,方便客户端动态生成 UI 选择器。
curl 'https://api.global-pulse.net/api/v1/news/topics' \ -H "X-API-Key: $API_KEY"
L3全量新闻档案 NEW
访问 GlobalPulse 完整新闻档案(5000+ 条 / 72 小时滚动窗口)。适合投研分析、回测建模、语料训练、行业研究等场景。
查询参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| limit | integer | 1000 | 返回条数(最大 5000) |
| region | string | (全部) | 地区筛选,如 cn / us |
| since | integer | 0 | 起始时间戳(毫秒)。只返回此时间之后的新闻 |
示例
curl 'https://api.global-pulse.net/api/v1/news/archive?limit=500' \ -H "X-API-Key: $API_KEY" \ -H "User-Agent: my-app/1.0"
响应示例
{
"ok": true,
"data": {
"count": 500,
"total_in_archive": 5024,
"oldest": "2026-05-14T03:00:00.000Z",
"newest": "2026-05-17T03:30:00.000Z",
"items": [
{
"id": "xxx_123",
"title": "...",
"source": "财联社",
"region": "cn",
"pubTime": 1778988870752,
"url": "https://...",
"tags": ["AI","大模型"],
"sentiment": "positive",
"heatBase": 80
},
...
]
}
}
使用场景
- 投研报告:拉取 72h 窗口所有金融新闻,做行业事件梳理
- 策略回测:用历史新闻做事件驱动策略的研究
- 语料训练:做行业语料库建设、关键词图谱
- 批量分析:配合
since增量拉取,只取最新增量
由于本接口可返回大量数据(最多 5000 条),按【实际返回数据量】计费,公式:
cost = max(1, ceil(返回条数 / 100))| 返回条数 | 消耗配额 | 说明 |
|---|---|---|
| ≤ 100 | 1 | 跟普通接口一样 |
| 500 | 5 | 中等批量 |
| 1000 | 10 | 大批量 |
| 5000 | 50 | 全量 |
X-Quota-Cost header 和 body 中的 _cost 字段都会告诉你本次实际消耗。
newest 时间戳,下次调用传 since=<上次newest+1>,即可只拿到新增新闻,节省配额。
L1大盘指数
实时获取 A 股、港股、美股、日经、富时等全球主要指数。
响应
{
"ok": true,
"data": [
{
"code": "000001.SS",
"name": "上证指数",
"price": 3245.67,
"change": 12.34,
"change_pct": 0.38,
"volume": 245678900000, // 成交额(元)
"update_at": "2026-05-13T15:00:00+08:00"
}
],
"ts": 1778653662616
}
L2市场情绪
基于新闻情绪、连板梯队、北向流入等多维度计算的综合情绪分(-100 ~ 100)。
响应
{
"ok": true,
"data": {
"score": 38, // -100 ~ 100
"label": "偏乐观", // 极悲观/偏悲观/中性/偏乐观/极乐观
"components": {
"news_sentiment": 0.42,
"limit_ratio": 0.32,
"north_flow": 0.51
},
"update_at": "2026-05-13T15:00:00+08:00"
}
}
L3概念图谱 3D NEW
全市场概念簇 + 个股梯队的结构化图谱,驱动「概念星图 3D」可视化。两种视图:
- 全景视图(默认,不带
code):返回概念簇 + 每簇龙头梯队 + 市场温度判定。消耗 10 次配额。 - 单股视图(带
?code=6位代码):返回该股所属概念 + 在各概念内的梯队位次。消耗 1 次配额。
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| code | string | 可选。6 位股票代码 → 切换单股视图。 |
| top | int | 可选,默认 20。返回概念簇数量,上限 50。 |
| members | int | 可选,默认 10。每簇成员数,上限 30。 |
响应(全景)
{
"ok": true,
"data": {
"regime": "题材活跃·多点开花",
"base_date": "2026-06-12",
"clusters": [
{
"concept": "AI算力",
"limit_up": 6,
"members": [
{ "rank": 1, "code": "300750", "name": "宁德时代",
"chg_pct": 10.0, "zt": true, "dt": false,
"amount": 12800000000, "role": "龙1" }
]
}
]
}
}
示例
curl 'https://api.global-pulse.net/api/v1/market/concept-graph?top=20&members=10' \ -H 'X-API-Key: gp_live_xxx' # 单股视图 curl 'https://api.global-pulse.net/api/v1/market/concept-graph?code=600519' \ -H 'X-API-Key: gp_live_xxx'
· 独立限频 1 次 / 30 秒:超频返回
429 GRAPH_RATE_LIMITED。此限频独立于 60 次/分钟的通用桶。· 加权配额:全景视图扣 10 次、单股视图扣 1 次(2xx 成功才扣)。
· 15 秒服务端缓存:相同视图 15 秒内重复请求命中缓存,不重复计算。
· 零放大:数据仅取自内部内存图谱,任何调用量都不会触达上游行情源。
L1涨跌停统计
实时 A 股市场广度数据:涨跌家数、涨停数、跌停数、连板梯队。
响应
{
"ok": true,
"data": {
"up_count": 2899,
"down_count": 2199,
"flat_count": 145,
"limit_up_count": 97,
"limit_down_count": 2,
"consecutive_2": 45, // 2 连板
"consecutive_3": 18, // 3 连板
"consecutive_4_plus": 12, // 4+ 连板
"update_at": "2026-05-13T15:00:00+08:00"
}
}
L3概念图谱 3D NEW
全市场概念簇 + 个股梯队的结构化图谱,驱动「概念星图 3D」可视化。两种视图:
- 全景视图(默认,不带
code):返回概念簇 + 每簇龙头梯队 + 市场温度判定。消耗 10 次配额。 - 单股视图(带
?code=6位代码):返回该股所属概念 + 在各概念内的梯队位次。消耗 1 次配额。
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| code | string | 可选。6 位股票代码 → 切换单股视图。 |
| top | int | 可选,默认 20。返回概念簇数量,上限 50。 |
| members | int | 可选,默认 10。每簇成员数,上限 30。 |
响应(全景)
{
"ok": true,
"data": {
"regime": "题材活跃·多点开花",
"base_date": "2026-06-12",
"clusters": [
{
"concept": "AI算力",
"limit_up": 6,
"members": [
{ "rank": 1, "code": "300750", "name": "宁德时代",
"chg_pct": 10.0, "zt": true, "dt": false,
"amount": 12800000000, "role": "龙1" }
]
}
]
}
}
示例
curl 'https://api.global-pulse.net/api/v1/market/concept-graph?top=20&members=10' \ -H 'X-API-Key: gp_live_xxx' # 单股视图 curl 'https://api.global-pulse.net/api/v1/market/concept-graph?code=600519' \ -H 'X-API-Key: gp_live_xxx'
· 独立限频 1 次 / 30 秒:超频返回
429 GRAPH_RATE_LIMITED。此限频独立于 60 次/分钟的通用桶。· 加权配额:全景视图扣 10 次、单股视图扣 1 次(2xx 成功才扣)。
· 15 秒服务端缓存:相同视图 15 秒内重复请求命中缓存,不重复计算。
· 零放大:数据仅取自内部内存图谱,任何调用量都不会触达上游行情源。
L2北向资金
沪股通 + 深股通实时净流入。
响应
{
"ok": true,
"data": {
"total_net": 4567.89, // 净流入(百万元)
"shanghai_net": 2340.12, // 沪股通
"shenzhen_net": 2227.77, // 深股通
"update_at": "2026-05-13T15:00:00+08:00"
}
}
L3概念图谱 3D NEW
全市场概念簇 + 个股梯队的结构化图谱,驱动「概念星图 3D」可视化。两种视图:
- 全景视图(默认,不带
code):返回概念簇 + 每簇龙头梯队 + 市场温度判定。消耗 10 次配额。 - 单股视图(带
?code=6位代码):返回该股所属概念 + 在各概念内的梯队位次。消耗 1 次配额。
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| code | string | 可选。6 位股票代码 → 切换单股视图。 |
| top | int | 可选,默认 20。返回概念簇数量,上限 50。 |
| members | int | 可选,默认 10。每簇成员数,上限 30。 |
响应(全景)
{
"ok": true,
"data": {
"regime": "题材活跃·多点开花",
"base_date": "2026-06-12",
"clusters": [
{
"concept": "AI算力",
"limit_up": 6,
"members": [
{ "rank": 1, "code": "300750", "name": "宁德时代",
"chg_pct": 10.0, "zt": true, "dt": false,
"amount": 12800000000, "role": "龙1" }
]
}
]
}
}
示例
curl 'https://api.global-pulse.net/api/v1/market/concept-graph?top=20&members=10' \ -H 'X-API-Key: gp_live_xxx' # 单股视图 curl 'https://api.global-pulse.net/api/v1/market/concept-graph?code=600519' \ -H 'X-API-Key: gp_live_xxx'
· 独立限频 1 次 / 30 秒:超频返回
429 GRAPH_RATE_LIMITED。此限频独立于 60 次/分钟的通用桶。· 加权配额:全景视图扣 10 次、单股视图扣 1 次(2xx 成功才扣)。
· 15 秒服务端缓存:相同视图 15 秒内重复请求命中缓存,不重复计算。
· 零放大:数据仅取自内部内存图谱,任何调用量都不会触达上游行情源。
L1AI 叙事
每日 4 次(开盘前/午盘/下午/收盘后)由 AI 生成的市场叙事,包含利好、利空、关注点。
响应
{
"ok": true,
"data": {
"title": "市场情绪边际改善,结构性机会延续",
"summary": "今日市场...", // 200 字摘要
"bullish": "...", // 利好(80-120 字)
"bearish": "...", // 利空(80-120 字)
"focus": ["AI 芯片", "新能源"],
"session": "afternoon", // pre / morning / afternoon / closed
"generated_at": "2026-05-13T14:30:00+08:00"
}
}
L2信号复盘
AI 对当日重大事件的信号分类(利好/利空),并标注影响行业。每日 2 次。
L3盘后扫描
每个交易日 16:30 自动跑的盘后扫描,包含 5 类股票池(涨停先锋 / 北向集中 / 突破启动 / 资金接力 / 主题龙头)。
响应
{
"ok": true,
"data": {
"date": "2026-05-13",
"pools": {
"limit_up_pioneer": [
{ "code": "300999", "name": "金龙鱼", "reason": "..." }
],
"north_focus": [...],
"breakout_starter": [...],
"capital_relay": [...],
"theme_leader": [...]
},
"generated_at": "2026-05-13T16:35:12+08:00"
}
}
错误码表
所有错误返回 { ok: false, code, error }。HTTP 状态码与业务错误码一一对应。
| HTTP | Code | 含义 | 处理 |
|---|---|---|---|
| 400 | UA_REQUIRED | 缺少 User-Agent Header | 添加 User-Agent |
| 401 | KEY_REQUIRED | 缺少 X-API-Key Header | 添加 Key |
| 401 | KEY_INVALID | Key 不存在或已禁用 | 检查 Key 是否正确 |
| 403 | KEY_DISABLED | Key 已禁用 | 查看 disabled_reason,重建 Key |
| 403 | PRO_EXPIRED | PRO 订阅过期 | 续费 PRO 后重建 Key |
| 404 | NOT_FOUND | 接口路径错误 | 检查 URL |
| 429 | RATE_LIMITED | 60 次/分钟限流 | 等 retry_after 秒后重试 |
| 429 | QUOTA_EXCEEDED | 月度配额用完 | 购买叠加包或下月再试 |
| 500 | INTERNAL_ERROR | 服务器内部错误 | 重试 3 次后联系客服 |
| 503 | UPSTREAM_DOWN | 数据引擎暂时不可用 | 稍后重试 |
L2错误响应示例
{
"ok": false,
"code": "PRO_EXPIRED",
"error": "PRO subscription has expired. API Key has been disabled.",
"details": {
"expired_at": "2026-04-30T00:00:00+08:00",
"action_required": "Please renew PRO subscription and create a new key."
}
}
版本管理
L2兼容性承诺
v1 接口将至少维护至 2027-12-31,所有路径、字段名、返回结构保持向后兼容。我们承诺:
- ✅ 只增不减:新增字段不影响现有代码
- ✅ 数据质量持续优化:算法升级用户无感
- ✅ 非破坏性变更:除非提前 60 天公告,不会下线接口
L3升级路径
未来如果有破坏性变更,将发布 v2:
- v1 与 v2 并存至少 6 个月
- 提前 90 天邮件 + 客户端通知
- 提供完整的 v1 → v2 迁移指南
SDK 与工具
Python SDK
官方 Python 客户端,pip 安装。
pip install gp-api
L3OpenAPI 3.0 规范
使用我们的 openapi.yaml 在 openapi-generator 生成你需要的任意语言 SDK(Go / Rust / Java / Swift / Kotlin)。
常见问题
API 数据多久更新一次?
新闻:分钟级;行情:实时(盘中 3 秒延迟);AI 叙事:每日 4 次;盘后扫描:每交易日 16:30。
能用 API 数据做收费产品吗?
可以,但需要遵守:(1) 不能转售原始数据 (2) 必须标注 "Powered by GlobalPulse" (3) 不能逆向我们的算法。商业大客户请联系 business@global-pulse.net。
API Key 丢了怎么办?
在客户端【API 密钥】中【禁用】当前 Key,再【新建】一个。旧 Key 立即失效。
能锁定 IP 吗?
v1.0 不强制锁定 IP(仅记录最近调用 IP)。如果你的安全场景需要 IP 白名单,请联系商务定制企业版。
支持 Webhook 推送吗?
v1.0 暂不支持,需要轮询。v2 计划支持 Webhook(新闻推送 / 盘后扫描完成等)。
有 SLA 保证吗?
个人 PRO:尽力而为,无 SLA。企业版可签 99.5% SLA。