Primary color
primaryColor
Optional
Reddit Scraper - Posts, Comments, Search + AI Analysis ✅
Pricing
from $1.50 / 1,000 reddit posts
Scrape any subreddit, search across all of Reddit, and pull complete comment threads with every reply intact. Also grabs video transcripts and subreddit profiles. Optional AI sentiment and pain-point analysis with your own key. No Reddit account, no login, no cookies, no run-start fee.
Pricing
from $1.50 / 1,000 reddit posts
Rating
5.0
(3)
Developer
Unseen User
Maintained by CommunityActor stats
4
Bookmarked
17
Total users
7
Monthly active users
17 days ago
Last modified
Categories
Share
Record type
_recordType
Required
Which kind of record this row is. comment replaced the legacy post_with_comments wrapper in v2.0 - comments are now one row each.
Source mode
_sourceMode
Optional
Which input mode produced this row.
Post ID
postId
Optional
Reddit's base36 post ID.
URL
url
Optional
Best public URL for this post (external if link/media post, else permalink).
Permalink
permalink
Optional
Reddit permalink to the post.
Title
title
Optional
Post title.
Body
selftext
Optional
Body text for self posts. Empty string for image/link/video posts.
Subreddit
subreddit
Optional
Subreddit display name without the r/ prefix.
Subreddit ID
subredditId
Optional
Reddit fullname for the subreddit (e.g. t5_xxxxx).
Posted at
postedAt
Optional
Post creation time in ISO 8601 UTC.
Upvotes
scoreUpvotes
Optional
Net upvote score.
Upvote ratio
upvoteRatio
Optional
Fraction of votes that were upvotes (0 to 1).
Comments
commentCount
Optional
Total comments on the post (Reddit's count, not the count returned by this run).
Flair
flair
Optional
Post flair text, if any.
Stickied
isStickied
Optional
Locked
isLocked
Optional
NSFW
isNsfw
Optional
Spoiler
isSpoiler
Optional
Media type
mediaType
Optional
How the post renders.
Media URLs
mediaUrls
Optional
All media URLs found on the post.
Domain
domain
Optional
Reddit's domain attribution (e.g. self.SaaS, i.redd.it, youtube.com).
External URL
sourceUrl
Optional
Set when the post points off-permalink (image / video / link / gallery / crosspost).
Crosspost parent ID
crossPostOf
Optional
Search query
searchQuery
Optional
Set on rows produced by reddit_search and subreddit_search.
Search subreddit
searchSubreddit
Optional
Set on reddit_search rows when scope was 'in_subreddit'.
Comment ID
commentId
Optional
Reddit's base36 comment ID.
Parent comment ID
parentCommentId
Optional
Null for a top-level comment. Combine with depth to rebuild the thread tree.
Reply depth
depth
Optional
0 = top-level reply to the post.
Direct replies
replyCount
Optional
How many direct replies this comment received.
Comment text
text
Optional
Comment body. [deleted] or [removed] when the content is gone - see isDeleted / isRemoved.
Is OP
isOP
Optional
True when the comment author is the post author.
Deleted by user
isDeleted
Optional
Removed by a moderator
isRemoved
Optional
Parent post title
postTitle
Optional
Denormalised onto every comment row so CSV exports stand alone.
Ad post URL
postUrl
Optional
Awards
awards
Optional
Raw award objects from Reddit.
Description
description
Optional
Full subreddit description (subreddit_info rows).
Post
post
Optional
Legacy: embedded post object on pre-v2.0 post_with_comments rows.
Subreddit display name
displayName
Optional
Public description
publicDescription
Optional
Subscribers
subscriberCount
Optional
Active users
activeUserCount
Optional
Private
isPrivate
Optional
Over 18
isOver18
Optional
Quarantined
isQuarantined
Optional
Icon URL
iconUrl
Optional
Primary color
primaryColor
Optional
Rules
rules
Optional
Created at
createdAt
Optional
Ad copy
body
Optional
Scraped at
scrapedAt
Required
When this row was written by the Actor.
Rules (markdown)
rulesText
Optional
Subreddit rules as published, a markdown string rather than a structured list.
Weekly contributions
weeklyContributions
Optional
Advertiser category
advertiserCategory
Optional
Submit text
submitText
Optional
Replies truncated
repliesTruncated
Optional
True when this comment has replies that were not returned, because Reddit held them behind a cursor or the depth limit cut the thread here.
Comments returned
commentsReturned
Optional
How many comment rows accompanied this post row.
Thread truncated
commentsTruncated
Optional
True when the full thread was not returned.
Controversiality
controversiality
Optional
Edited
isEdited
Optional
Edited at
editedAt
Optional
Original content (OC)
isOriginalContent
Optional
Poll
pollData
Optional
Options and vote counts on poll posts.
Flair (structured)
flairRich
Optional
Richtext flair with colours and template id, not just the text label.
Moderator removal
removal
Optional
Who removed the post and why, when Reddit publishes it.
Crosspost parent
crossPostParent
Optional
The full parent post a crosspost came from.
Awards received
awardCount
Optional
Gildings
gilded
Optional
Video transcript
transcript
Optional
Plain-text transcript from the post's caption track.
Transcript available
transcriptAvailable
Optional
False when Reddit publishes no caption track for the video.
Transcript language
language
Optional
Sentiment
sentiment
Optional
AI: label, score from -1 to 1, and a one-word emotion.
Intent
intent
Optional
AI: question, complaint, recommendation, announcement, discussion, comparison or other, with a confidence.
Pain points
painPoints
Optional
AI: verbatim spans describing a problem, each with a category and severity. Quotes are checked against the source text before being kept.
Feature requests
featureRequests
Optional
AI: verbatim spans asking for something, each with a category.
Buying intent
buyingIntent
Optional
AI: post-level purchase-intent score and the signals behind it. Describes the post, never the person.
Enriched at
enrichedAt
Optional
Set only on rows the model actually returned data for. Rows without it were not enriched and were not billed for enrichment.
Comments
comments
Optional
Legacy: nested comment tree on pre-v2.0 post_with_comments rows. v2.0 emits one comment row instead; the nested tree is still written to the key-value store under thread-.