← Back to blog

使用 SereneReader API 构建自动化工作流

为什么要自动化你的阅读?

RSS 已经将来自多个来源的内容汇聚到一处。SereneReader API 让你能够将这些内容引入脚本、定时任务以及其他工具中。

认证方式很简单,只需一个 API 密钥:创建后,在每次 HTTP 请求中携带它,即可获得 JSON 格式的响应。该 API 为只读模式,不支持 webhook,因此脚本需要按计划轮询。

快速开始

API 访问权限包含在 Pro 版(网页端每月 $5)和 Team 版中。

创建 API 密钥

在 SereneReader 中,打开「设置」并选择「API」标签页。创建一个密钥,为其取一个便于识别的名称,并将其妥善保存;密钥只会显示一次。Pro 账户最多可创建 5 个密钥,Team 账户最多可创建 10 个。

认证

每次请求都需要将你的密钥作为 Bearer 令牌放在 Authorization 请求头中。无需客户端 ID、刷新令牌或权限范围。设置中的「API」标签页列出了基础 URL、各端点及请求示例。

请求频率限制

API 每个账户每分钟允许 30 次请求,由该账户下的所有密钥共享。对于按计划运行的脚本来说,这已完全足够。每条响应都包含 X-RateLimit-Remaining 请求头。如果超出限制,API 将返回 429 状态码,并附带 Retry-After 请求头;请等待其指定的秒数后再重试。

你可以做什么

API 为你提供对文章和订阅源的读取权限:

  • GET /api/v1/articles 返回你订阅源中的文章,按最新顺序排列。你可以按订阅源、文件夹或发布日期筛选,并分页浏览结果(默认每次返回 50 条,最多 200 条)。每篇文章包含标题、URL、订阅源名称、作者、发布日期、摘要,以及已读或已加星标的状态。
  • GET /api/v1/feeds 列出你的所有订阅,包含未读数量和所属文件夹。
  • GET /api/v1/usage 显示当前所用密钥在过去 1 小时、8 小时和 24 小时内的请求次数。

设置中的「API」标签页提供了完整的参数列表和响应字段说明。

使用场景

每日摘要邮件

编写一个脚本,每天早上 7 点运行,获取前一天的文章,并向你发送摘要邮件。按日期筛选,通过 jq 处理 JSON 以提取标题和 URL,再用你习惯的邮件或通知工具发送结果。

静默订阅源检查

订阅源可能会失效:域名到期、路径变更、服务器宕机。API 不会报告抓取错误或订阅源最后发布的时间,但每周运行一次的脚本仍然可以发现已停止更新的订阅源。列出你的所有订阅源,使用 feedId 和 since 参数请求每个订阅源的近期文章,并标记出在过去几周内没有任何发布内容的订阅源。如果你订阅了大量来源,请适当控制请求频率,以免超出限制。

静默的订阅源不一定是失效的,但这份列表能告诉你哪些博客值得去看看。

导出到其他工具

将文章导入本地数据库、Notion 页面、Obsidian 知识库或电子表格。API 返回结构化的 JSON 数据,因此转换处理通常只需几行 jq 或简短的 Python 脚本即可完成。

与 AI 代理结合使用

该 API 支持与能够发起 HTTP 请求的 AI 工具配合使用。如果你使用 OpenClaw 等助手,可以将其指向 SereneReader,让它处理你的订阅源。我们为此专门写了一篇文章:如何将 RSS 订阅源连接到 AI 代理。

更多想法

以下是一些只需几行代码即可实现的功能:创建一个定时任务,将某个文件夹当天的文章通过邮件发送给你;创建一个 shell 别名,汇总 /api/v1/feeds 返回的所有未读数量;或者编写一个轮询脚本,将某个订阅源的新文章发送到 Slack 频道。

这些都不需要任何框架。curl 和 jq 可以覆盖大多数场景,其余情况用任何支持 HTTP 客户端的语言均可实现。

在设置的「API」标签页中创建你的密钥。

在 SereneReader 中阅读你的订阅源

同一账户可在浏览器及 iPhone、iPad、Mac、Apple Watch 上使用。免费计划包含 150 个订阅源,无需绑定信用卡。

开始阅读获取应用
← Back to blog