> For the complete documentation index, see [llms.txt](https://docscn.jkidata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docscn.jkidata.com/xin-wen-shu-ju.md).

# 新闻数据

JKiData 新闻 API 提供全球财经、股票、商业、科技、政治及突发事件等新闻数据，支持按国家、语言、分类和关键词进行筛选。

接口可以返回新闻标题、摘要、正文、来源、发布时间、图片、视频、情绪分析以及分页信息，适用于财经资讯、股票行情、市场监控和新闻聚合等场景。

### API 基础地址

```
http://156.239.245.244:2004/api
```

### 接口地址

```
GET /latest
```

完整请求格式：

```
http://156.239.245.244:2004/api/latest?key=YOUR_API_KEY
```

### 身份验证

所有请求都必须通过 `key` 参数传入有效的 API Key。

```
key=YOUR_API_KEY
```

请妥善保管 API Key，不要将真实密钥写入前端代码、客户端应用或公共代码仓库。

### 主要功能

| 功能    | 参数             | 说明                    |
| ----- | -------------- | --------------------- |
| 新闻分类  | `category`     | 筛选商业、科技、体育、政治等新闻      |
| 关键词搜索 | `q`            | 根据股票、交易所、公司或主题搜索新闻    |
| 国家筛选  | `country`      | 获取指定国家或地区的新闻          |
| 语言筛选  | `language`     | 获取指定语言的新闻             |
| 完整正文  | `full_content` | 请求完整新闻正文              |
| 图片数据  | `image`        | 请求新闻图片或媒体信息           |
| 分页查询  | `page`         | 使用 `nextPage` 获取下一页数据 |

### 基础请求示例

获取最新英文商业新闻：

```
GET /latest?language=en&category=business&key=YOUR_API_KEY
```

获取美国股票新闻：

```
GET /latest?language=en&country=us&category=business&q=stock&key=YOUR_API_KEY
```

获取 NASDAQ 相关新闻：

```
GET /latest?language=en&category=business&q=NASDAQ&key=YOUR_API_KEY
```

获取中国中文股票新闻：

```
GET /latest?language=zh&country=cn&category=business&q=股票&key=YOUR_API_KEY
```

### 股票新闻推荐策略

获取股票市场新闻时，建议使用：

```
category=business
```

并配合 `q` 关键词缩小检索范围。

| 检索目标      | 推荐关键词      |
| --------- | ---------- |
| 综合股票新闻    | `stock`    |
| 股市及股份新闻   | `share`    |
| 证券交易所新闻   | `exchange` |
| NASDAQ 新闻 | `NASDAQ`   |
| NYSE 新闻   | `NYSE`     |
| 印度 NSE 新闻 | `NSE`      |
| 印度 BSE 新闻 | `BSE`      |

例如：

```
GET /latest?language=en&category=business&q=NASDAQ&key=YOUR_API_KEY
```

{% hint style="info" %}\
建议先通过 `category=business` 限定财经新闻，再使用交易所、公司名称或产品代码作为 `q` 关键词，可以减少与股票市场无关的新闻。\
{% endhint %}

### 返回结构

接口返回 JSON 数据，通用结构如下：

```
{
  "status": "success",
  "totalResults": 100,
  "results": [],
  "nextPage": "NEXT_PAGE_TOKEN"
}
```

| 字段             | 类型            | 说明        |
| -------------- | ------------- | --------- |
| `status`       | string        | 请求状态      |
| `totalResults` | number        | 符合条件的新闻总数 |
| `results`      | array         | 新闻数据列表    |
| `nextPage`     | string / null | 下一页分页标识   |

### 分页说明

当响应中包含 `nextPage` 时，将该值作为下一次请求的 `page` 参数：

```
GET /latest?language=en&category=business&q=stock&page=NEXT_PAGE_TOKEN&key=YOUR_API_KEY
```

不要自行修改或解析 `nextPage`，应完整传回接口。

### 更新频率建议

新闻数据客户端建议每隔 **5–10 分钟**更新一次：

| 使用场景   | 建议刷新间隔  |
| ------ | ------- |
| 普通新闻页面 | 10 分钟   |
| 股票行情页面 | 5 分钟    |
| 后台新闻同步 | 5–10 分钟 |
| 非交易时段  | 可适当延长   |

> 该时间属于客户端推荐策略，并非服务器强制限制。

为避免重复展示新闻，建议使用以下字段进行去重：

* `article_id`
* `link`
* `pubDate`

### 使用注意事项

* 所有新闻接口统一使用 HTTP `GET` 方法。
* 参数名称和值应按照文档要求填写。
* `country` 和 `language` 建议使用小写代码。
* `results` 可能为空，客户端应兼容无数据情况。
* `content`、`image_url` 和 `video_url` 可能为空或返回 `null`。
* `full_content=1` 用于请求完整正文，但正文是否可用取决于新闻来源。
* 新闻可能同时属于多个国家或分类，相关字段可能返回数组。
* 不同关键词可能返回重复新闻，客户端应进行去重。
* 请求失败时，应同时检查 HTTP 状态和响应中的业务错误信息。
