crawlbase文档
登录

API 用法

Crawling API 请求中添加 &scraper=reddit-post。在 url 参数中对目标 URL 进行 URL 编码。

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://www.reddit.com/r/programming/comments/1c8a1bb/' \
  --data-urlencode 'scraper=reddit-post' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://www.reddit.com/r/programming/comments/1c8a1bb/',
    {'scraper': 'reddit-post'}
)

import json
data = json.loads(res['body'])
const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });

const res = await api.get(
  'https://www.reddit.com/r/programming/comments/1c8a1bb/',
  { scraper: 'reddit-post' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://www.reddit.com/r/programming/comments/1c8a1bb/', scraper: 'reddit-post')
data = JSON.parse(res.body)

示例输入 URL

传入 url 参数的 URL(为便于阅读已 URL 解码):

https://www.reddit.com/r/programming/comments/1c8a1bb/

响应结构

JSON 响应体。当源页面省略对应值时,字段类型可能为 null

post
object
帖子本身。
post.id
string
帖子的 Reddit 全名(例如 t3_...)。
post.title
string
帖子标题。
post.author
string
帖子作者的用户名。
post.subreddit
string
帖子所属的子版块(不含 r/ 前缀)。
post.score
integer
帖子得分(顶数减去踩数)。
post.upvoteRatio
number | null
顶票占全部投票的比例(0 到 1)。
post.commentsCount
integer
帖子的评论总数。
post.createdAt
string
帖子创建时间(ISO 8601)。
post.url
string | null
帖子指向的外部链接(文本帖为 null)。
post.domain
string | null
外部链接的域名。
post.permalink
string
帖子在 Reddit 上的永久链接。
post.flair
string | null
帖子的 flair 文本(如已设置)。
post.isNsfw
boolean
当帖子被标记为 NSFW 时为 true。
post.selfText
string
自帖(文本帖)的正文;链接帖时为空。
commentCount
integer
comments 中返回的顶层评论数量。
comments
array
顶层评论,每条都带有嵌套的 replies 树。
comments[].id
string
评论的 Reddit 全名(例如 t1_...)。
comments[].author
string
评论作者的用户名。
comments[].score
integer
评论得分(顶数减去踩数)。
comments[].createdAt
string
评论创建时间(ISO 8601)。
comments[].body
string
评论文本。
comments[].permalink
string
评论在 Reddit 上的永久链接。
comments[].isSubmitter
boolean
当评论作者即为帖子作者(OP)时为 true。
comments[].replies
array
嵌套回复,每条与评论具有相同的结构。

示例响应

{
  "post": {
    "id": "t3_1c8a1bb",
    "title": "The hidden cost of deep dependency trees",
    "author": "buildmaster",
    "subreddit": "programming",
    "score": 2417,
    "upvoteRatio": 0.96,
    "commentsCount": 312,
    "createdAt": "2026-07-14T09:12:44+00:00",
    "url": "https://example.com/blog/dependency-trees",
    "domain": "example.com",
    "permalink": "https://old.reddit.com/r/programming/comments/1c8a1bb/the_hidden_cost_of_deep_dependency_trees/",
    "flair": null,
    "isNsfw": false,
    "selfText": ""
  },
  "commentCount": 3,
  "comments": [
    {
      "id": "t1_l0aa111",
      "author": "perftuner",
      "score": 184,
      "createdAt": "2026-07-14T09:31:07+00:00",
      "body": "This matches what we saw. Flattening the tree cut our cold install time in half.",
      "permalink": "https://old.reddit.com/r/programming/comments/1c8a1bb/the_hidden_cost_of_deep_dependency_trees/l0aa111/",
      "isSubmitter": false,
      "replies": [
        {
          "id": "t1_l0aa222",
          "author": "buildmaster",
          "score": 71,
          "createdAt": "2026-07-14T09:44:52+00:00",
          "body": "Yep. The transitive fan-out is where most of the time goes.",
          "permalink": "https://old.reddit.com/r/programming/comments/1c8a1bb/the_hidden_cost_of_deep_dependency_trees/l0aa222/",
          "isSubmitter": true,
          "replies": []
        }
      ]
    }
  ]
}