Reddit API

Reddit 子版块帖子 API

子版块列表(hot、new 或 top)中的帖子,可设置时间范围。用 after 游标分页。

US$0.38/千次请求,按请求付费,无需订阅。

r/MechanicalKeyboards
reddit.com/r/MechanicalKeyboards/
redditLog InSign Up

r/MechanicalKeyboards

Create PostJoin
HotNewTopRising
5,412

r/MechanicalKeyboards·u/soldernoob· Jun 12, 2024

My first custom build is finally done

218 CommentsShareSave
CommentsShareSave
CommentsShareSave
API 返回的内容posts[0]
{
"id": "t3_1def567",
"title": "My first custom build is finally done",
"author": "soldernoob",
"score": 5412,
"numComments": 218,
"url": "https://www.reddit.com/r/MechanicalKeyboards/comments/1def567/",
"permalink": "/r/MechanicalKeyboards/comments/1def567/",
"createdUtc": 1718180000,
... 还有 7 个字段
}
可用率
99.96%
30d · 100,133 次调用
请求数
100,687
30d · 按周,近 12 周
响应时间
2.0s
中位数 · 30d

价格与服务商

Reddit 子版块帖子 API 价格:一个 API,3 个可互换的服务商

最便宜的服务商优先响应。如果它失败,下一个会在同一次调用中接手。

你需支付
US$3.80
US$0.38/千次请求,只为实际用量付费。没有月度套餐。
有了 US$0.10 的初始余额,你的前 263 次请求免费。

试一试

一个请求获取 Reddit 子版块帖子

requireFieldsarray
可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `isArchived` 或 `selftext`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某条帖子确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。在分页遍历中,它只作用于第一页;后续页面沿用该页选定的数据源,按当时的报价计费。
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。

这个示例展示了 20 个字段中的 13 个。查看全部字段

{
  "found": true,
  "data": {
    "posts": [
      {
        "id": "t3_1def567",
        "title": "My first custom build is finally done",
        "author": "soldernoob",
        "score": 5412,
        "numComments": 218,
        "url": "https://www.reddit.com/r/MechanicalKeyboards/comments/1def567/",
        "permalink": "/r/MechanicalKeyboards/comments/1def567/",
        "createdUtc": 1718180000,
        "subreddit": "MechanicalKeyboards"
      }
    ],
    "nextCursor": "t3_1def567"
  }
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

一个请求,一种响应结构。

你发送的每个字段和收到的每个字段,都附有真实示例。

最近验证于 2026-11-14 · 可用率和延迟按 30d 统计

请求体

JSON,POST 到这个接口。

  • subredditstring

    MechanicalKeyboards

    子版块名称,不带开头的 r/(例如 "golang")。

  • afterstring

    旧版分页别名。请优先使用 `cursor`;获取第一页时两个字段都省略。

  • cursorstring

    来自上一次响应 `nextCursor` 的不透明分页游标;获取第一页时省略。

  • limitinteger

    Page size to ask for (up to 100). Some sources honor it; others always return their whole page of about 25 posts. A page is never trimmed after the call, so pass nextCursor back as cursor to continue exactly where this response ended.

  • requireFieldsarray

    可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `isArchived` 或 `selftext`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某条帖子确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。在分页遍历中,它只作用于第一页;后续页面沿用该页选定的数据源,按当时的报价计费。

  • sortenum

    hot

    列表排序方式。

  • timeframeenum

    时间范围,在 sort 为 "top" 时生效(例如 "year" 表示一年内得票最高的帖子)。hot/new 时忽略。省略时,top 默认使用当天。

你发送。 一个简短的 JSON 请求体。显示的值只是示例,请换成你自己的。

响应

JSON,每个字段一个示例值。

datadata
  • nextCursorstring

    t3_1def567

    Cursor for the next page of results; pass it back as the `cursor` input to fetch the following page. Null when there are no more results.

each postdata.posts[]

Populated whenever the provider has data for the entity.

  • authorstring

    soldernoob

    Author username, without the u/ prefix. Populated whenever the provider has data for the entity.

  • authorIdstring

    Reddit account ID of the author, without the t2_ prefix.

  • createdUtcnumber

    1718180000

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.

  • idstring

    t3_1def567

    Reddit post ID (base-36, without the t3_ prefix). Populated whenever the provider has data for the entity.

  • isArchivedboolean可设为必填

    True when Reddit has archived the thread, which blocks new comments and votes. Archiving is a per-community setting, so an old thread is not necessarily archived. Absent when the source that served this request does not report it, which means unknown rather than false.

  • isLockedboolean可设为必填

    True when a moderator has locked the thread, which blocks new comments. Absent when the source that served this request does not report it, which means unknown rather than false.

  • nsfwboolean

    Whether the post is marked not-safe-for-work.

  • numCommentsinteger

    218

    Total number of comments on the post.

  • permalinkstring

    /r/MechanicalKeyboards/comments/1def567/

    Canonical reddit.com thread path for the post (e.g. "/r/golang/comments/abc123/..."). Differs from url, which is the destination link. Empty if the upstream omits it. Populated whenever the provider has data for the entity.

  • scoreinteger

    5412

    Net score (upvotes minus downvotes) at fetch time.

  • selftextstring可设为必填

    Body text of a self post, as Markdown. Empty on a link post, which has no body.

  • subredditstring

    MechanicalKeyboards

    Subreddit name, without the r/ prefix. Populated whenever the provider has data for the entity.

  • titlestring

    My first custom build is finally done

    Post title. Populated whenever the provider has data for the entity.

  • upvoteRationumber

    Share of votes on the post that are upvotes, between 0 and 1.

  • urlstring

    https://www.reddit.com/r/MechanicalKeyboards/comments/1def567/

    The post's destination link: the external URL for a link post, the media URL for an image, gallery or video post, or the thread URL for a text post. A text post that also carries an image may give either its thread URL or the image URL. Populated whenever the provider has data for the entity.

top level
  • foundboolean

    true

  • reason"not_found" | "banned" | "private"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. `banned`: the platform has banned the community. `private`: the community is private, so only its approved members can see it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

你收到。 字段有名称、有类型,无论哪个数据源响应,结构都一样。

你在出售这个 API?查看你的接口必须返回的完整数据结构。

常见问题

关于 Reddit 子版块帖子 API

AnyAPI 的 Reddit 子版块帖子 API 只需一次 POST 请求 /v1/run/reddit.subreddit_posts,就以统一格式的 JSON 返回 Reddit 数据。子版块列表(hot、new 或 top)中的帖子,可设置时间范围。用 after 游标分页。AnyAPI 会在 3 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$0.38 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 Reddit 子版块帖子 API 调用中有 100.0% 成功,响应时间中位数为 2.0 秒,共测量 100,133 次调用。

费用:每千次请求 US$0.38 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

子版块列表(hot、new 或 top)中的帖子,可设置时间范围。用 after 游标分页。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 Reddit 子版块帖子 API 调用中有 100.0% 成功,响应时间中位数为 2.0 秒,共测量 100,133 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,足够调用 263 次 Reddit 子版块帖子,每次 US$0.00038。

AnyAPI 会在同一个请求中依次尝试它的 3 个数据源,从最便宜的开始,所以一个数据源宕机不会让你的调用失败。

向 https://api.getanyapi.com/v1/run/reddit.subreddit_posts 发送 POST 请求,在 “Authorization: Bearer” 请求头中放入你的 AnyAPI 密钥,并以 JSON 请求体传入参数。同一个密钥和同一个钱包适用于所有 AnyAPI 接口。

不需要。你向一个预付费的 AnyAPI 余额充值美元,每个请求从中扣费。没有月度套餐,也没有最低消费,同一个余额可用于所有 AnyAPI 接口。

有。TypeScript 用 npm 安装 @getanyapi/sdk,Python 用 pip 安装 getanyapi。两者都用同一个密钥调用所有 AnyAPI 接口,任何 HTTP 客户端也都可以。

可以。智能体可以连接 https://api.getanyapi.com/mcp 上的 AnyAPI MCP 服务器,或者向 https://api.getanyapi.com/agent/signup 发送一次无需认证的 POST 来创建自己的免费试用密钥,再通过 HTTP 调用这个接口。