接口说明

Reddit Comments API 获取 Reddit 评论数据,支持接口列出的分页、排序或筛选参数。

使用 Pangolinfo API Key 调用,返回结构化 JSON 数据。

请求URL

POST https://scrapeapi.pangolinfo.com/api/v1/social/reddit-comments

请求头

参数名参数值类型说明
Content-Typeapplication/jsonstring数据格式
AuthorizationBearer xxxstring认证凭证

采集最长约75秒,客户端超时建议设为90秒。

请求参数

参数必填类型说明
targetYesstring帖子链接; 也可直接传帖子 id (如 z1c9z 或 t3_z1c9z)
optionsNoobject仅处理下列开放参数;未列出的字段忽略,内部参数不可覆盖。

options 参数说明

参数必填类型说明
maxPagesNointeger本次请求翻几页,默认 1,最大 5,按实际返回条数计费,更多数据用返回的游标续取
默认值: 1
最小值: 1
最大值: 5
cursorNostring | null续取顶层评论: 上次输出的 pagination.comments.cursor; 回复模式: 上次输出的 pagination.cursor; 缺省从头
sortNostring评论排序: confidence (默认) / top / new / controversial / old / qa; 回复模式: 同评论
commentIdNostring回复模式: 主评论 id (评论输出的 id, t1_xxx 或 xxx)

仅处理本页列出的请求参数,其他字段忽略。分页游标原样传回,不编码、解码或转换格式。

每次默认1页,最多5页;页数必须为正整数,超过5按5处理。

提供非空commentId进入独立回复模式,按返回的直接回复计费;Facebook同时计入返回的嵌套回复。按本页cursor说明续取。

普通模式最多附带一层回复,不额外展开折叠线程。独立回复模式沿用回复接口的默认层级。

响应值

返回值类型说明
codeinteger状态码,0 表示成功
messagestring响应信息,成功时为 ok
pointCostnumber本次请求实际消耗的积点
dataobject返回数据,结构见下表
metaobject请求标识及耗时(毫秒)
billingobject计费条数、单价及规则版本

返回参数 data 说明

返回值类型说明
typestringcomments = 评论模式; replies = 回复模式 (传了 options.commentId)
可用值: [“comments”, “replies”]
commentsCountnumber | null评论模式: 评论总数
commentsobject[]评论模式: 评论, 与 reddit-post 同形
commentIdstring回复模式: 父评论 id (t1_)
repliesobject[]回复模式: 直接回复 (depth 为绝对层级), 与评论 replys[] 同形
paginationobject评论模式: {comments: {cursor, hasMore}}; 回复模式: {cursor, hasMore}

data.comments[] 字段说明

返回值类型说明
timeobject | null评论时间 (text 为 ISO)
contentstring | null评论内容 (纯文本)
scorenumber | null得分
avatarnull恒为 null (匿名拿不到)
nicknamestring | null评论者用户名
profileUrlstring | null评论者主页
idstring评论 id (t1_); 回复模式传 options.commentId 用它
parentIdstring | null父级 id: 顶层评论为帖子 id (t3_), 回复为父评论 id (t1_)
depthnumber层级: 0 顶层, 1 一级回复, 2 …
replyCountnumber回复总数 (含未展开的)
urlstring | null评论链接
replysobject[]页内附带的回复,按层嵌套;普通模式最多一层回复,独立回复模式沿用回复接口的层级。

data.comments[].time 字段说明

返回值类型说明
textstring | null上游原始时间文本
valuenumber | null解析后的毫秒时间戳; 解析失败为 null

data.comments[].replys[] 字段说明

返回值类型说明
timeobject | null评论时间 (text 为 ISO)
contentstring | null评论内容 (纯文本)
scorenumber | null得分
avatarnull恒为 null (匿名拿不到)
nicknamestring | null评论者用户名
profileUrlstring | null评论者主页
idstring评论 id (t1_); 回复模式传 options.commentId 用它
parentIdstring | null父级 id: 顶层评论为帖子 id (t3_), 回复为父评论 id (t1_)
depthnumber层级: 0 顶层, 1 一级回复, 2 …
replyCountnumber回复总数 (含未展开的)
urlstring | null评论链接
replysobject[]下一层回复

data.replies[] 字段说明

返回值类型说明
timeobject | null评论时间 (text 为 ISO)
contentstring | null评论内容 (纯文本)
scorenumber | null得分
avatarnull恒为 null (匿名拿不到)
nicknamestring | null评论者用户名
profileUrlstring | null评论者主页
idstring评论 id (t1_); 回复模式传 options.commentId 用它
parentIdstring | null父级 id: 顶层评论为帖子 id (t3_), 回复为父评论 id (t1_)
depthnumber层级: 0 顶层, 1 一级回复, 2 …
replyCountnumber回复总数 (含未展开的)
urlstring | null评论链接
replysobject[]下一层回复

请求示例

curl --request POST \
  --url https://scrapeapi.pangolinfo.com/api/v1/social/reddit-comments \
  --header 'Authorization: Bearer YOUR_PANGOLINFO_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "target": "https://www.reddit.com/r/IAmA/comments/z1c9z/i_am_barack_obama_president_of_the_united_states/"
}'

返回示例

下例截取实际响应中的首条列表记录,长文本与链接作了缩写;pointCost 为该次完整响应的实际费用。完整字段结构可在在线调试页查看。

{
  "code": 0,
  "message": "ok",
  "pointCost": 3.2,
  "data": {
    "type": "comments",
    "commentsCount": 22716,
    "comments": [
      {
        "time": {
          "text": "2012-08-29T20:05:19.000Z",
          "value": 1346270719000
        },
        "content": "How do you balance family life and hobbies with, well, being the POTUS?",
        "score": 1556,
        "avatar": null,
        "nickname": "gobearss",
        "profileUrl": "https://www.reddit.com/user/gobearss/",
        "replys": [
          {
            "time": {
              "text": "2012-08-29T21:04:58.000Z",
              "value": 1346274298000
            },
            "content": "It's hard - truthfully the main thing other than work is just making sure that I'm spending enough time with michelle and the girls. The big advantage I have...",
            "score": 2951,
            "avatar": null,
            "nickname": "PresidentObama",
            "profileUrl": "https://www.reddit.com/user/PresidentObama/",
            "replys": [],
            "id": "t1_c60nmtc",
            "parentId": "t1_c60mmaf",
            "depth": 1,
            "replyCount": 319,
            "url": "https://www.reddit.com/r/IAmA/comments/z1c9z/comment/c60nmtc/"
          }
        ],
        "id": "t1_c60mmaf",
        "parentId": "t3_z1c9z",
        "depth": 0,
        "replyCount": 328,
        "url": "https://www.reddit.com/r/IAmA/comments/z1c9z/comment/c60mmaf/"
      }
    ],
    "pagination": {
      "comments": {
        "cursor": null,
        "hasMore": true
      }
    }
  },
  "meta": {
    "requestId": "pg-audit-r1-reddit-comments-1793954295660519500",
    "durationMs": 4059
  },
  "billing": {
    "unitPrice": 0.8,
    "ruleVersion": "social-primary-v2",
    "billedCount": 4,
    "pointCost": 3.2
  }
}

积点消耗说明

每条一级评论消耗 0.8 积点,附带回复免费。支持独立回复模式的接口按返回的直接回复条数计费,每条0.8积点,回复附带的下一层免费。

空结果、失败响应不扣费。同一响应中相同 ID 只计一次,独立调用和续页分别计费。详见 社媒评论 API 计费说明。

在线调试