API 文档

通过面向 MCP 的聚合接口或底层 REST 接口查询监控任务与采集结果。

认证方式

在请求头中携带 API Token。你可以在仪表盘设置中找到你的 Token。

HTTP Header
x-api-key: YOUR_API_TOKEN

你也可以使用 Bearer 方式:

HTTP Header
Authorization: Bearer YOUR_API_TOKEN

MCP 查询接口

推荐

适合需要筛选、标准化字段和游标分页的智能助手与集成应用,无需自行拼接多个 REST 响应。

GET/api/mcp/monitors
按文本和状态查找监控任务,并返回可用于后续读取的稳定 ref。
名称类型默认值说明
querystring-匹配任务名称、public ID、URL、类型名称或关键词。
enabledboolean-仅返回启用或停用的监控任务。
has_updatesboolean-按未读更新状态筛选。
limitinteger 1-5020最多返回的监控任务数量。
cursorstring-使用相同接口在筛选条件不变时返回的 nextCursor。

请求示例

bash
curl "https://pointyarrow.net/api/mcp/monitors?query=AI&enabled=true&limit=10" \
  -H "x-api-key: YOUR_API_TOKEN"
GET/api/mcp/monitors/:ref
读取一个监控任务及其最新匹配结果;ref 支持数字 ID 或 public ID。
名称类型默认值说明
item_querystring-匹配结果标题、正文、作者、来源或 external ID。
published_afterISO 8601-仅包含在该时间点或之后发布的结果。
published_beforeISO 8601-仅包含在该时间点或之前发布的结果。
content_modeomit | preview | fullpreview省略正文、返回 500 字符预览,或返回完整正文。
include_metadatabooleanfalse在每条结果中包含来源特定的 metadata。
limitinteger 1-5020最多返回的匹配结果数量。
cursorstring-使用相同接口在筛选条件不变时返回的 nextCursor。

请求示例

bash
curl "https://pointyarrow.net/api/mcp/monitors/MONITOR_REF?item_query=release&published_after=2026-07-13T00%3A00%3A00Z&content_mode=preview&limit=20" \
  -H "x-api-key: YOUR_API_TOKEN"

底层 REST 接口

为已经自行处理固定分页和任务结果关联的客户端保留这些接口。

GET/api/web-monitor-tasks
分页列出所有监控任务。

查询参数:page(正整数,默认 1)。每个任务都包含 taskTypeName。

taskType 映射

taskType
25: autoBot
2: bilibili
11: bilibiliHot
12: bilibiliRanking
3: v2ex
10: v2exLatest
4: hackernews
13: hackernewsBest
14: googleNews
15: googleTrends
16: hupuHot
17: imdbTrending
18: redditHot
19: redditPopular
20: stackoverflowHot
21: steamTopSellers
22: toutiaoHot
23: twitterTrending
24: twitterTweets
5: weibo
6: xueqiu
7: doubanMovie
8: webLink
9: youtubeChannel
GET/api/web-monitor-tasks/:id
根据任务 publicId 获取详情,同时兼容数据库数字 ID。
GET/api/web-monitor-items/:taskPublicId
列出某个任务下的监控结果(内容条目);每次成功请求都会累计该任务的 API 调用次数。

路径参数:任务 publicId。查询参数:page(正整数,默认 1)。

响应格式

所有成功响应均遵循以下 JSON 结构:

json
{
  "code": 0,
  "message": "ok",
  "data": {
    "monitors": [],
    "pageInfo": {
      "returned": 0,
      "scanned": 0,
      "total": 0,
      "hasMore": false,
      "nextCursor": null
    }
  }
}