List Posts from a Subreddit URL
View all Reddit Posts, Comments & Community Data endpoints →Pass a full subreddit URL in url. Choose filter=hot, new, or top; hot is the documented default. Omit cursor for the first request, then use the returned meta.cursor with the same URL and filter when another page is available. The response contains meta.status, meta.total, meta.cursor, and a body array. Observed post rows include id, name, title, author, subreddit, selftext, created_utc, score, ups, num_comments, permalink, and url. created_utc is a Unix timestamp in seconds, and selftext can be empty. A live filter=new request for AskReddit returned 25 posts, including one created seconds before the request. That observation does not establish a fixed page size or delivery-time guarantee, and hot/top sorting was not live-tested. The checked nonexistent subreddit returned meta.status=200, meta.total=0, meta.cursor=null, and body=[]. Handle that clean empty result without displaying unrelated posts or assuming it describes every inaccessible-community case. Cursor listings do not promise a complete historical archive.
API Features
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/reddit/posts API Response (JSON)
{} curl -X GET 'https://api.opendata-api.com/api/project/reddit/posts?key=<API_KEY>&url=https%3A%2F%2Fwww.reddit.com%2Fr%2FAskReddit&filter=hot'
Query Result
Use Cases
- Maintain a deduplicated new-post queue for a chosen public subreddit using filter=new and stored post IDs.
- Build a community reader with selectable hot, new, and top feeds without presenting those modes as independently calculated trend scores.
- Collect successive listing pages into a bounded research corpus while retaining request filters and collection times.
- Source community questions for a content-planning backlog, then select promising post URLs for a separate thread-details request.
Frequently asked questions
Does url take a subreddit page or an individual post?
Use a full subreddit URL such as https://www.reddit.com/r/AskReddit. Individual discussion URLs belong in the post-details endpoint. This listing returns posts, not the complete comments under each post.
Which feed modes are supported and which were checked live?
The documented modes are hot, new, and top, with hot as the default. The live check used new and returned recent AskReddit posts. Hot and top were not tested, and none of the modes promises a fixed refresh interval.
How do I request another page of subreddit posts?
Omit cursor initially. If meta.cursor is nonempty, send that exact value with the same url and filter for the next request. Stop when the cursor is absent or null, or the body is empty. Do not invent cursors, assume a fixed page size, or treat pagination as an exhaustive archive.
What happens when the subreddit does not exist?
The checked nonexistent subreddit returned HTTP 200, meta.status=200, meta.total=0, a null cursor, and an empty body array. Treat this observed shape as an empty listing. Responses for private, restricted, or otherwise inaccessible communities were not established by that check.