Поиск Reddit
Разбирайте страницу результатов поиска Reddit в структурированный JSON с найденными постами, заголовком каждого, автором, сабреддитом, счётом, количеством комментариев, меткой времени, доменом ссылки, связанными сабреддитами и пагинацией.
Использование API
Добавьте &scraper=reddit-serp к запросу Crawling API. URL-кодируйте целевой URL в параметре url.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.reddit.com/search/?q=web+scraping' \
--data-urlencode 'scraper=reddit-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.reddit.com/search/?q=web+scraping',
{'scraper': 'reddit-serp'}
)
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/search/?q=web+scraping',
{ scraper: 'reddit-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.reddit.com/search/?q=web+scraping', scraper: 'reddit-serp')
data = JSON.parse(res.body)Пример входного URL
URL, передаваемый в параметре url (URL-декодированный для удобства чтения):
https://www.reddit.com/search/?q=web+scrapingСтруктура ответа
Тело ответа в формате JSON. Типы полей могут быть null, если исходная страница не содержит значения.
Поисковый запрос, по которому получены эти результаты.
Порядок сортировки, применённый к поиску (например,
relevance, new, top).Временное окно, применённое к поиску (например,
all, day, week).True, если поиск был ограничен одним сабреддитом.
Количество результатов, возвращённых в
results.Курсор пагинации для следующей и предыдущей страниц.
URL следующей страницы результатов или null на последней странице.
URL предыдущей страницы результатов или null на первой странице.
True, если доступна следующая страница.
Результаты поиска, в ранжированном порядке.
Позиция результата в возвращённом списке (начиная с 1).
Полное имя (fullname) поста в Reddit (например,
t3_...).Заголовок поста.
URL результата в Reddit.
Имя пользователя автора поста.
Сабреддит, которому принадлежит пост (без префикса
r/).Счёт поста (плюсы минус минусы).
Количество комментариев к посту.
Время создания поста (ISO 8601).
Внешняя ссылка, на которую указывает пост.
Домен внешней ссылки.
Связанные сабреддиты, показанные рядом с результатами.
Название сабреддита (без префикса
r/).Канонический URL сабреддита.
Количество подписчиков сабреддита.
Краткое описание сабреддита.
Пример ответа
{
"query": "web scraping",
"sort": "relevance",
"time": "all",
"restrictSubreddit": false,
"resultCount": 2,
"pagination": {
"next_page_url": "https://old.reddit.com/search?q=web+scraping&count=25&after=t3_1c7aaaa",
"previous_page_url": null,
"has_next": true
},
"results": [
{
"position": 1,
"id": "t3_1c7aaaa",
"title": "What is the most reliable way to do web scraping at scale in 2026?",
"url": "https://old.reddit.com/r/webdev/comments/1c7aaaa/what_is_the_most_reliable_way_to_do_web_scraping/",
"author": "datawrangler",
"subreddit": "webdev",
"score": 486,
"commentsCount": 133,
"createdAt": "2026-06-30T14:22:10+00:00",
"linkUrl": "https://old.reddit.com/r/webdev/comments/1c7aaaa/what_is_the_most_reliable_way_to_do_web_scraping/",
"domain": "old.reddit.com"
}
],
"subreddits": [
{
"name": "webscraping",
"url": "https://old.reddit.com/r/webscraping/",
"subscribers": 84210,
"description": "A community for web scraping, crawling and data extraction."
}
]
}