API 接口文档
全网热点开放 API,提供热点数据查询服务,支持开发者快速接入全网热点数据
请求域名: https://api.allhot.top/api/open/v1
接口限制
测试阶段,为了保证服务的稳定性,API 接口设置了以下限制:
| 限制项 | 说明 |
|---|---|
| 日调用限额 | 每个 API Key 每日最多可调用 2000 次 |
| 频率限制 | 每秒最多 10 次请求 |
| 单次返回数量 | 每页最多返回 100 条数据 |
提示:日调用限额每日 00:00 自动重置。如需提高限额,请联系管理员。
接口列表
GET
/sources
获取所有启用的订阅源列表,支持分页查询,每页返回 100 条数据。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | 否 | 页码,默认 1 |
响应示例
{
"code": 200,
"message": "success",
"data": {
"list": [
{
"id": 1,
"title": "知乎热榜"
}
],
"total": 50,
"page": 1,
"page_size": 100
}
}
GET
/sources/search
根据关键字模糊搜索订阅源标题,返回匹配的订阅源列表。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keyword | string | 是 | 搜索关键字,模糊匹配标题 |
响应示例
{
"code": 200,
"message": "success",
"data": {
"list": [
{
"id": 1,
"title": "知乎热榜"
}
],
"total": 1
}
}
GET
/sources/data
获取指定订阅源的榜单数据。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | integer | 是 | 订阅源 ID |
| date | string | 否 | 日期,格式 YYYY-MM-DD,不传则默认今天 |
| page | integer | 否 | 页码,默认 1,每页 100 条 |
响应示例
{
"code": 200,
"message": "success",
"data": {
"list": [
{
"title": "热榜标题示例",
"image_url": "https://example.com/image.jpg",
"jump_url": "https://example.com/detail"
}
],
"total": 50,
"data_type": 1
}
}
错误码说明
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 401 | API Key 无效或缺失 |
| 429 | 请求过于频繁,超出日调用限额 |
| 500 | 服务器内部错误 |
调用示例
cURL 示例
# 获取订阅源列表 curl -X GET "https://api.allhot.top/api/open/v1/sources?page=1" \\ -H "X-API-Key: your-api-key-here" # 搜索订阅源 curl -X GET "https://api.allhot.top/api/open/v1/sources/search?keyword=知乎" \\ -H "X-API-Key: your-api-key-here" # 获取榜单数据(今天) curl -X GET "https://api.allhot.top/api/open/v1/sources/data?id=1&page=1" \\ -H "X-API-Key: your-api-key-here" # 获取榜单数据(指定日期) curl -X GET "https://api.allhot.top/api/open/v1/sources/data?id=1&date=2024-01-15&page=1" \\ -H "X-API-Key: your-api-key-here"
JavaScript 示例
const apiKey = 'your-api-key-here'; const baseUrl = 'https://api.allhot.top/api/open/v1'; async function getSources() { const response = await fetch(`${baseUrl}/sources?page=1`, { headers: { 'X-API-Key': apiKey } }); const data = await response.json(); return data; }