Cheapest Reddit Scraper API avatar

Cheapest Reddit Scraper API

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Cheapest Reddit Scraper API

Cheapest Reddit Scraper API

Scrape Reddit subreddit posts, post details, comments, search results, and user profiles via the public JSON API. Supports pagination, multiple targets per run, and configurable sort orders.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(2)

Developer

ScoutLayer

ScoutLayer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape Reddit posts, comments, search results, and user profiles via the public JSON API. No authentication or API key required — all data is read from publicly accessible Reddit endpoints.

Features

  • Subreddit Posts: Fetch posts from any subreddit with sort control (hot/new/top/rising) and pagination
  • Post Detail: Fetch full metadata for one or more posts by URL or short ID
  • Post Comments: Fetch all comments for a post, flattened from Reddit's nested reply tree
  • Search: Search all of Reddit (or within a subreddit) with multiple sort options
  • User Profile: Fetch public profile data for any Reddit user
  • Pagination: All listing endpoints paginate automatically using Reddit's after cursor token
  • Run Stats: Records per-type success/failure counts and totals in the key-value store

Input

FieldTypeRequiredDefaultDescription
scrapeTypestringYes"subreddit"subreddit / post / comments / search / user
maxPagesintegerNo3Global fallback for max pages when no type-specific limit set

Subreddit Posts

FieldTypeRequiredDefaultDescription
subredditsarrayYesSubreddit names or URLs, e.g. ["programming", "python"]
sortstringNo"hot"Sort order: hot, new, top, rising
maxSubredditPagesintegerNo3Max pages per subreddit. Each page returns up to 100 posts

Post Detail

FieldTypeRequiredDescription
postUrlsarrayYesPost URLs or short IDs, e.g. ["abc123"]

Post Comments

FieldTypeRequiredDescription
commentPostUrlsarrayYesPost URLs or short IDs
FieldTypeRequiredDefaultDescription
searchQueriesarrayYesSearch terms, e.g. ["machine learning"]
searchSortstringNo"relevance"Sort: relevance, new, top, comments
searchSubredditstringNoRestrict search to a specific subreddit
maxSearchPagesintegerNo3Max pages per query. Each page returns up to 100 posts

User Profile

FieldTypeRequiredDescription
usernamesarrayYesReddit usernames, e.g. ["spez"]

Output

Subreddit Posts & Search Dataset

One row per post, ordered by fetch sequence.

{
"subreddit": "programming",
"subredditId": "t5_2fwo",
"postId": "abc123",
"title": "Show HN: I built a thing",
"author": "username",
"score": 1234,
"upvoteRatio": 0.97,
"numComments": 89,
"url": "https://example.com",
"selftext": "",
"isSelf": false,
"isVideo": false,
"isStickied": false,
"thumbnail": "https://...",
"createdAt": "2024-06-01T12:00:00.000Z",
"permalink": "https://www.reddit.com/r/programming/comments/abc123/...",
"flair": "Discussion",
"domain": "example.com",
"scrapedAt": "2024-06-01T00:00:00.000Z"
}

Search results also include:

FieldDescription
searchQueryThe query that returned this post

Post Comments Dataset

One row per comment, flattened from Reddit's nested reply tree.

{
"postId": "abc123",
"postTitle": "Show HN: I built a thing",
"postUrl": "https://www.reddit.com/r/programming/comments/abc123/...",
"commentId": "def456",
"parentId": "t3_abc123",
"author": "commenter",
"body": "Great work!",
"score": 42,
"depth": 0,
"createdAt": "2024-06-01T12:05:00.000Z",
"permalink": "https://www.reddit.com/r/programming/comments/abc123/_/def456/",
"isStickied": false,
"scrapedAt": "2024-06-01T00:00:00.000Z"
}

parentId is in Reddit's fullname format: t3_xxx for top-level comments (direct post replies), t1_xxx for replies to other comments.

User Profile Dataset

One row per user.

{
"username": "spez",
"userId": "4x9y7",
"linkKarma": 125000,
"commentKarma": 98000,
"totalKarma": 223000,
"createdAt": "2005-06-06T00:00:00.000Z",
"isGold": false,
"isMod": false,
"iconImg": "https://...",
"verified": true,
"scrapedAt": "2024-06-01T00:00:00.000Z"
}

Stats (Key-Value Store)

Stored under key stats after each run.

Subreddit Posts:

{ "total": 2, "succeededSubreddits": 2, "failedSubreddits": 0, "totalPosts": 587 }

Post Comments:

{ "total": 1, "succeededPosts": 1, "failedPosts": 0, "totalComments": 312 }

Search:

{ "total": 3, "succeededQueries": 3, "failedQueries": 0, "totalPosts": 900 }

User Profile:

{ "total": 2, "succeededUsers": 2, "failedUsers": 0, "totalUsers": 2 }

Usage Examples

Scrape hot posts from multiple subreddits

{
"scrapeType": "subreddit",
"subreddits": ["programming", "python", "javascript"],
"sort": "hot",
"maxSubredditPages": 2
}

Fetch all comments for a specific post

{
"scrapeType": "comments",
"commentPostUrls": ["https://www.reddit.com/r/programming/comments/abc123/title/"]
}

Search Reddit for a topic

{
"scrapeType": "search",
"searchQueries": ["machine learning", "large language models"],
"searchSort": "top",
"maxSearchPages": 5
}

Search within a specific subreddit

{
"scrapeType": "search",
"searchQueries": ["beginner projects"],
"searchSubreddit": "learnprogramming",
"maxSearchPages": 2
}

Fetch user profiles

{
"scrapeType": "user",
"usernames": ["spez", "kn0thing"]
}

Fetch a post by short ID

{
"scrapeType": "post",
"postUrls": ["abc123", "def456"]
}

Pricing

This actor charges one result event per dataset row successfully saved — one per post, comment, or user profile. Non-result events are not billed.

Skipped inputs, unavailable items, and processing errors are reported in the logs rather than saved as dataset rows.

Limitations

  • Only collects publicly accessible Reddit data. Private, deleted, removed, login-gated, or moderator-only content is not accessible.
  • Reddit may return different fields for different post types, subreddits, or users. Missing fields default to null or 0.
  • Media links are source-hosted URLs. This actor does not download or mirror any Reddit media files to Apify storage.
  • Some subreddits, users, or posts may be unavailable at run time. The actor skips those items and continues processing the rest.

FAQ

Does this actor require a Reddit account or API key? No API key or OAuth credentials are required. The actor reads from Reddit's public JSON endpoints.

Can I scrape comments under posts? Yes — use scrapeType: "comments" with one or more post URLs or IDs to fetch all comments, flattened from Reddit's nested reply tree.

Are skipped or failed items saved as rows? No. The dataset only contains successfully scraped results. Skipped, duplicate, and unavailable items are summarised in the logs and in the stats key-value store entry.

Can I use this actor with the Apify API? Yes. Run it via the Apify Console or API, then export the dataset as JSON, CSV, Excel, XML, RSS, or HTML. You can also schedule runs and connect output to webhooks or integrations.