Discover/Reddit API
live

Reddit APIreddit.com

Access Reddit posts, full comment threads, and subreddit search results. Retrieve scores, authors, depth-aware threading, and feed categories via 3 endpoints.

Endpoint health
verified 3d ago
search_posts
get_post_comments
list_posts
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Reddit API?

The Reddit API provides 3 endpoints that cover subreddit feeds, full comment trees, and keyword search across any subreddit. The get_post_comments endpoint returns a flattened comment array with depth indicators, parent_id for thread reconstruction, score, author, and body — everything needed to reproduce a discussion thread. The search_posts and list_posts endpoints expose post metadata including upvote_ratio, flair, and cursor-based pagination.

Try it
Comment sort order
Max number of top-level comments to fetch (up to 500)
Reddit post ID (the alphanumeric code from the URL, e.g. '198xzca')
Subreddit name (without r/ prefix)
api.parse.bot/scraper/5c1e1643-5ce6-4086-9883-3886b0c0e506/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/5c1e1643-5ce6-4086-9883-3886b0c0e506/get_post_comments?sort=top&limit=50&post_id=1u2lifp&subreddit=AskReddit' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace reddit-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Reddit Subreddit Scraper — browse feeds, search, and drill into comments."""
from parse_apis.reddit_subreddit_scraper import (
    Reddit, Category, TimeFilter, SearchSort, CommentSort, SubredditNotFound
)

client = Reddit()

# Browse top posts from a subreddit this year, capped at 5 items.
for post in client.subreddit("smallbusiness").list(category=Category.TOP, time_filter=TimeFilter.YEAR, limit=5):
    print(post.title, post.score, post.num_comments)

# Search a subreddit for posts matching a keyword.
result = client.subreddit("AskReddit").search(query="career advice", sort=SearchSort.RELEVANCE, limit=1).first()
if result:
    print(result.title, result.author, result.score)

# Drill into a post's full comment tree.
if result:
    detail = result.comments()
    print(detail.total_comments_fetched, detail.more_comments_available)
    for comment in detail.comments[:3]:
        print(comment.author, comment.score, comment.body[:80])

# Typed error handling for a non-existent subreddit.
try:
    for post in client.subreddit("thissubredditdoesnotexist999").list(category=Category.HOT, limit=1):
        print(post.title)
except SubredditNotFound as exc:
    print(f"Subreddit not found: {exc.subreddit}")

print("exercised: subreddit.list / subreddit.search / post.comments / SubredditNotFound")
All endpoints · 3 totalmissing one? ·

Retrieve a Reddit post and its full comment tree, flattened with depth indicators. Comments are sorted server-side; each carries score, author, body, and parent_id for threading reconstruction. The limit caps top-level comments fetched; nested replies within those top-level threads are always included. Returns the post metadata alongside the comment array.

Input
ParamTypeDescription
sortstringComment sort order
limitintegerMax number of top-level comments to fetch (up to 500)
post_idrequiredstringReddit post ID (the alphanumeric code from the URL, e.g. '198xzca')
subredditrequiredstringSubreddit name (without r/ prefix)
Response
{
  "type": "object",
  "fields": {
    "post": "object with id, title, author, selftext, score, upvote_ratio, num_comments, created_utc, url, permalink, subreddit, link_flair_text, is_self",
    "comments": "array of comment objects with id, author, body, score, created_utc, depth, parent_id, permalink, is_submitter",
    "total_comments_fetched": "integer count of comments returned",
    "more_comments_available": "integer count of additional comments not fetched"
  }
}

About the Reddit API

Endpoints and Data Shape

The list_posts endpoint fetches a subreddit feed by category: hot, new, top, or rising. Each post object includes id, title, author, selftext, score, upvote_ratio, num_comments, created_utc, url, permalink, and link_flair_text. The time_filter parameter (hour, day, week, month, year, all) applies only when category is top. Both list_posts and search_posts return an after cursor for paginating through results up to 100 posts per page.

Searching Within a Subreddit

search_posts runs a full-text query against post titles and body text within a named subreddit. Required inputs are query and subreddit (without the r/ prefix). Optional inputs include sort, time_filter, limit (max 100), and the after pagination cursor. The response echoes back the query and subreddit used, along with a count and the posts array. This makes it straightforward to page through all matching posts by chaining after values.

Comment Thread Retrieval

get_post_comments takes a post_id (the alphanumeric code from a Reddit URL, e.g. 198xzca) and a subreddit name. Comments are returned as a flat array sorted server-side according to the sort parameter (confidence, top, new, controversial, old, qa). Each comment carries depth and parent_id so you can reconstruct the original tree structure client-side. The is_submitter flag identifies the original poster's replies. The response also returns more_comments_available — a count of comments that exist beyond the limit cap (max 500 top-level comments).

Reliability & maintenanceVerified

The Reddit API is a managed, monitored endpoint for reddit.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when reddit.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official reddit.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate community sentiment on a topic by collecting score and body from comment threads in relevant subreddits
  • Monitor a subreddit's new feed for posts mentioning specific keywords using search_posts with time-based filtering
  • Reconstruct threaded discussions offline by using depth and parent_id from get_post_comments
  • Track trending content by comparing score and upvote_ratio across posts from the hot and rising feeds
  • Identify active contributors in a subreddit by collecting author fields across multiple posts and comments
  • Surface posts with specific link_flair_text values from a subreddit feed for category-based content filtering
  • Build a time-series of community activity by paginating top posts with different time_filter windows
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Reddit have an official developer API?+
Yes. Reddit offers an official REST API documented at https://www.reddit.com/dev/api/. It requires app registration and OAuth2 authentication, and enforces its own rate limits and terms of service.
What does `get_post_comments` return for deeply nested threads?+
It returns all comments within the fetched top-level threads as a flat array. Each object includes a depth integer (0 for top-level, 1 for direct replies, and so on) and a parent_id that points to the parent comment or post. You reconstruct hierarchy client-side. The more_comments_available field tells you how many additional comments exist beyond the limit cap.
Does `search_posts` search across multiple subreddits at once?+
Not currently. The search_posts endpoint requires a single subreddit parameter and searches within that subreddit only. You can fork the API on Parse and revise it to add a cross-subreddit or site-wide search endpoint.
Is data from private or quarantined subreddits available?+
No. The API returns data from publicly accessible subreddits only. Private subreddits require membership and are not covered. You can fork the API on Parse and revise it if you have a specific access pattern in mind, though private subreddit content would remain out of scope.
Can I retrieve a user's post or comment history?+
Not currently. The three endpoints cover subreddit feeds, post comment trees, and subreddit-scoped search. User profile history is not exposed. You can fork the API on Parse and revise it to add a user history endpoint.
Page content last updated . Spec covers 3 endpoints from reddit.com.
Related APIs in Social MediaSee all →
news.ycombinator.com API
Browse Hacker News top/new/best/ask/show stories and job posts, search stories by keyword and timeframe, fetch user profiles, retrieve comment threads for a post, and compute basic engagement stats and trending stories.
threads.com API
Search for posts and users on Threads by keyword to discover content, view engagement metrics like likes and replies, and explore user profiles with their media. Find trending discussions and connect with creators all in one search experience.
superuser.com API
Access questions, answers, and comments from Super User to find solutions to technical problems, search for specific topics, and explore trending discussions across the community. View user profiles, track site activity, and discover the hottest questions trending across the Stack Exchange network.
pikabu.ru API
Access trending and fresh content from Pikabu's Russian community platform, including hot posts, best posts, and community-specific stories with their full comment threads. Build applications powered by user profiles and detailed post data from one of Russia's most popular social communities.
thelayoff.com API
Monitor and search forum discussions about company layoffs, accessing post titles, content, author information, dates, and community reactions across TheLayoff.com. Browse through paginated results and dive into individual posts to read full reply threads and conversation details.
metacritic.com API
Search for games, movies, and TV shows, then retrieve detailed metadata, critic and user reviews, and ranked lists from Metacritic. Access comprehensive rating information and review data to discover top-rated entertainment content across all media types.
kaskus.co.id API
Search and browse Kaskus forum discussions across communities, discover trending threads, and read full post content from Indonesia's largest online forum. Find hot topics, explore community-specific conversations, and access popular communities all in one place.
craigslist.org API
Search and retrieve Craigslist listings for apartments, vehicles, jobs, services, and other categories across all regional sites to find exactly what you're looking for. Get detailed information about specific listings, browse by location and category, and compare options all in one place.