crawlbaseДокументация
Войти

Использование API

Добавьте &scraper=reddit-subreddit к запросу Crawling API. URL-кодируйте целевой URL в параметре url.

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

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

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/',
  { scraper: 'reddit-subreddit' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

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

Пример входного URL

URL, передаваемый в параметре url (URL-декодированный для удобства чтения):

https://www.reddit.com/r/programming/

Структура ответа

Тело ответа в формате JSON. Типы полей могут быть null, если исходная страница не содержит значения.

subreddit
string
Название сабреддита (без префикса r/).
url
string
Канонический URL сабреддита.
sort
string
Порядок сортировки списка (например, hot, new, top).
postCount
integer
Количество постов, возвращённых в posts.
pagination
object
Курсор пагинации для следующей и предыдущей страниц.
pagination.next_page_url
string | null
URL следующей страницы постов или null на последней странице.
pagination.previous_page_url
string | null
URL предыдущей страницы постов или null на первой странице.
pagination.has_next
boolean
True, если доступна следующая страница.
posts
array
Посты в списке, в порядке отображения.
posts[].position
integer
Позиция поста в возвращённом списке (начиная с 1).
posts[].id
string
Полное имя (fullname) поста в Reddit (например, t3_...).
posts[].rank
integer
Ранг поста в списке сабреддита.
posts[].title
string
Заголовок поста.
posts[].author
string
Имя пользователя автора поста.
posts[].score
integer
Счёт поста (плюсы минус минусы).
posts[].commentsCount
integer
Количество комментариев к посту.
posts[].createdAt
string
Время создания поста (ISO 8601).
posts[].permalink
string
Permalink на пост в Reddit.
posts[].url
string | null
Внешняя ссылка, на которую указывает пост (null для текстовых постов).
posts[].domain
string | null
Домен внешней ссылки.
posts[].flair
string | null
Текст flair поста, если задан.
posts[].isNsfw
boolean
True, если пост отмечен как NSFW.
posts[].isStickied
boolean
True, если пост закреплён вверху сабреддита.
posts[].thumbnail
string | null
URL миниатюры, если присутствует.

Пример ответа

{
  "subreddit": "programming",
  "url": "https://old.reddit.com/r/programming/",
  "sort": "hot",
  "postCount": 3,
  "pagination": {
    "next_page_url": "https://old.reddit.com/r/programming/?count=25&after=t3_1c8x9aa",
    "previous_page_url": null,
    "has_next": true
  },
  "posts": [
    {
      "position": 1,
      "id": "t3_1c8a1bb",
      "rank": 1,
      "title": "The hidden cost of deep dependency trees",
      "author": "buildmaster",
      "score": 2417,
      "commentsCount": 312,
      "createdAt": "2026-07-14T09:12:44+00:00",
      "permalink": "https://old.reddit.com/r/programming/comments/1c8a1bb/the_hidden_cost_of_deep_dependency_trees/",
      "url": "https://example.com/blog/dependency-trees",
      "domain": "example.com",
      "flair": null,
      "isNsfw": false,
      "isStickied": false,
      "thumbnail": "https://b.thumbs.redditmedia.com/abc.jpg"
    }
  ]
}