Reddit Scraping API: Get Posts and Comments Without Apify
Pull Reddit posts, comments and keyword search results with one key and no Reddit app, billed per call, and see what each response really contains.

Get the newest posts from a subreddit and the comments on the busiest one, in one prompt. Paste this into your agent:
Set up https://monid.ai/SKILL.md, and then use Monid to get the newest posts from r/webscraping, then the comments on the post with the most comments, and give me a table with title, score, comment count and author for the posts, plus the comment text.
One prompt reads a subreddit and a thread. 1 min setup · 10-24 hrs saved.
You want Reddit posts and comments as data: a subreddit's newest threads, the replies under one post, or every post that mentions your keyword. This guide shows the quick route, one call per job from your agent, what each response contains (we ran the calls live on 2026-10-16), and why a keyword search returns posts you did not ask for. It runs through Monid, the OpenRouter for agent tools: one key, one balance, every tool priced per call.
What is the easiest Reddit scraping API to use?
Monid. Install it once, add a key, and your agent calls a Reddit endpoint with a subreddit name, a post id or a search query and gets the data back as JSON, with no Reddit app to register and no scraper to host.
- Pay per call. Each Reddit call is billed on its own, at $0.001 for a subreddit feed (Verified 2026-10-16 on the Reddit tools page). Buy calls as you need them: no monthly plan and no minimum top-up. Discovery and inspection are free; only a run bills.
- One install, every API. The same key and the same balance call the Reddit endpoints and every other tool on Monid. When the same project needs LinkedIn or TikTok data, as in the best social media scraping APIs, it is another call on the same balance, not another vendor account.
- Lives inside your agent. Install the CLI, add your key, run the prompt above, and the tool is there whenever your agent needs it, with nothing to keep running. Your agent reads
SKILL.mdand learns the rest, so setup is about a minute.
Reading a subreddit feed, a thread's comments and a keyword search once each cost three calls: $0.003 (Verified 2026-10-16).
How do you scrape Reddit posts and comments without Apify?
Pick the endpoint for the thing you are reading: a feed for a subreddit, a comment call for one post, a search call for a keyword. Each is one request and one price, and they chain, because the feed hands you the post ids the comment call needs.
| Route | What you get | Cost shape | Fits |
|---|---|---|---|
| Reddit's own API | Posts and comments through an app you register | Credentials and OAuth to maintain | One integration inside your own app |
| Run an Apify actor yourself | Full comment threads from a scraper actor | Per result plus a flat fee per run | A one-off deep read of a single thread |
| Write a scraper | Whatever your parser covers | Your hours | A fixed subreddit you will maintain |
| Monid Reddit endpoints | A feed, a thread or a search as JSON | Pay per call, buy flexibly | Monitoring loops, keyword research, agents |
Monid fits a loop because the work is the same call repeated: polling one subreddit costs the same whether it is busy or quiet, and you pay for the polls and nothing between runs. Reddit API access in 2026 covers the licensed route next to a public-page scraper.
For agents
Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:
set up https://monid.ai/SKILL.md
It learns the whole discover, inspect, run workflow itself. More in the agent quickstart.
For humans
npm install -g @monid-ai/cli
monid keys add -k <your-api-key> -l main
monid discover -q "reddit posts comments"
discover and inspect are free, so comparing the routes before spending costs nothing.
Inspect, then run one
monid inspect -p tikhub -e /api/v1/reddit/app/fetch_subreddit_feed
monid run -p tikhub -e /api/v1/reddit/app/fetch_subreddit_feed --query '{"subreddit_name":"webscraping","sort":"NEW"}' -w
Read the comments on one post
The feed returns post ids in the form t3_.... Pass one to the comment endpoint:
monid run -p tikhub -e /api/v1/reddit/app/fetch_post_comments --query '{"post_id":"t3_1x7hkja"}' -w
Or hand the whole job to an agent
Give this to your agent![]()
Set up https://monid.ai/SKILL.md, and then use Monid to pull the newest posts from r/webscraping, keep the ones with at least five comments, read the comments on each, and give me one table with title, score, comment count and the top comment.Can you scrape Reddit yourself with Python?
Yes, and for one subreddit it is an afternoon. You request the pages, parse the posts out of the response, follow the pagination cursor and write rows to a file. Libraries and open-source scrapers exist for it, and the searches for "reddit scraper python" and "reddit scraper github" show how many people start there.
The cost is everything around the parser. Reddit changes what a logged-out request can read, so the fetch layer needs upkeep. A post in r/webscraping from 2026-10-11 describes an open-source scraper whose author says Reddit now requires a session cookie from a logged-in account for the JSON endpoints, and that the project uses a disposable account as a temporary workaround that can break at any moment. Add proxies, retries, comment trees that load in pieces, and a repair each time the layout moves. The first working version takes hours and the upkeep does not stop.
The Monid route is the choice for anything you will run more than once. The fetch layer is maintained for you, the output is JSON instead of HTML you parse, and a feed, a thread or a search is $0.001 a call (Verified 2026-10-16). A hand-written scraper is quicker for a single throwaway pull on a page you already have open.
What does Reddit data look like, and what can you build with it?
A Reddit pull comes back in three shapes, one per endpoint, and each carries different fields. We ran each on 2026-10-16, so the fields below are what came back.
The subreddit feed
The feed call for webscraping sorted by NEW returned Reddit's own app feed. It held nine elements: a sort control, six posts, one ad and one "Related communities" carousel. Each post carries its id in the form t3_1x7hkja, the creation time, the author as u/name, the title, a comment count, a score and a share count. Self posts add a text preview, link posts add the linked domain, and some posts add a flair label. The preview of one post ended mid-sentence, so it is a snippet, not the body. The feed cells carry no permalink; the post id is the key you take to the next call.
The comments on a post
The comment call for a post with one reply returned a comment forest with one tree. The comment had its id, creation time, author name, score, the text as markdown, a permalink, isRemoved and isLocked flags, a depth of 0 and a childCount of 0. The page info said commentCount 1 and hasNextPage false, so you know when to stop paging.
The keyword search
The search call with need_format set to true returned children and pageInfo. Each of the seven posts had the title, the full body as markdown, score, comment count, upvoteRatio, permalink, the subreddit with its subscriber count, the author, a flair and the creation time. This is the endpoint to use when you need the body and the link, not only the title.
What you can build with it
- A question bank. On Reddit the title is usually the question, in the asker's own words. Search a keyword, keep titles and permalinks, and you have the phrasing people use. The search endpoint returns both in one call.
- A subreddit monitor. Poll the feed for a community on a schedule, compare the post ids to the last run, and alert on new threads. Reddit user information by API shows the same approach for one account's history.
- A thread reader. Fetch the comments only for posts that pass a filter such as a minimum comment count, so you pay for discussions and skip empty posts, the same pattern as automating TikTok comment collection.
Why does a Reddit scraper return irrelevant posts?
Because the keyword search matches loosely, and the scraper passes your query straight to it. We ran a search for reddit AND scraper AND api, sorted by top over the past month, and got seven posts back. One of them, "Open-source Reddit scraper for posts and comments", was what the query meant.
What did the other six posts have in common with the query?
Each shared words with it and nothing else. A moderation update on r/Nuvio is about stream scrapers for a video app. A tool that predicts when games reach a subscription service mentions a scraper on GitHub and an API for game data. A Belgian company-data site describes a scraper that took down a server and the REST API it added. Two posts in r/redditstock concern lawsuits over scraping. A sixth was an image post in r/WhitePeopleTwitter. The words matched, the topic did not. A term like "scraper" or "API" is not specific on a site that covers every subject at once.
How do you get fewer wrong posts?
Three changes remove most of them, and the search endpoint supports all three:
monid run -p tikhub -e /api/v1/reddit/app/fetch_dynamic_search --query '{"query":"title:\"reddit scraper\" subreddit:webscraping","sort":"NEW","need_format":true}' -w
- Search inside a subreddit.
subreddit:webscrapingturns a site-wide search into a search of a community where the words mean one thing. - Search the title.
title:"reddit scraper"as a phrase requires the words together in the title instead of anywhere in a long body. - Filter after retrieval. Pull more than you need, then keep the rows that pass your own rule: the required terms in the title, a minimum comment count, a date. Retrieval costs $0.001 a call (Verified 2026-10-16); judgement stays with you.
The endpoint's own description says post searches may match only some of the terms and to use AND when all are required. Our run shows that even with AND, matching on three common words still returns off-topic posts. The same lesson, measured on two providers, is in why two Reddit scrapers returned different posts.
Which endpoint should I use for which job?
| Job | Endpoint | What it returns | Billing | Price (Verified 2026-10-16) |
|---|---|---|---|---|
| Monitor a subreddit | tikhub /api/v1/reddit/app/fetch_subreddit_feed | A feed of posts with id, title, score, comment count | Per call | $0.001 |
| Read one post's comments | tikhub /api/v1/reddit/app/fetch_post_comments | The comment tree with text, score, permalink | Per call | $0.001 |
| Search by keyword | tikhub /api/v1/reddit/app/fetch_dynamic_search | Posts with body, score, comments, permalink | Per call | $0.001 |
| Deep-read a full thread | apify /crawlerbros/reddit-comment-scraper | Full comment threads | Per result plus a flat fee per run | see monid inspect |
| Subreddit listing or search, chosen by route | anyapi /reddit.subreddit_posts, anyapi /reddit.search | Posts, with a route (bison, badger, giraffe) you pick | Per call, by route | see monid inspect |
Prices Verified 2026-10-16 with monid inspect. The three tikhub rows are the ones we ran, and each billed one unit. The per-call shape suits a schedule: polling a subreddit hourly costs the same whether it is busy or quiet. The per-result shape suits a burst: one deep read of a big thread, capped by a limit you set on purpose. Inspect an endpoint for free before you run it, and spend one call on a small input before you size a batch.
When is another route a better fit?
Your volume is low and you can hold credentials. Reddit has an official Data API that needs a registered app and OAuth. If you are building one integration for your own app and are happy to manage credentials, use it.
You need a full thread with every reply. The comment call returns a comment forest and a flag for whether there is another page. A scraper built for deep reads, such as the Apify comment scraper, pulls whole discussions in one run and bills per result, which suits one big thread.
You need years of history. The endpoints read what Reddit serves now. An archive built for history is a different product.
You are doing research with a review board. Use the route that comes with the paperwork your board will want.
And the disclosure: we resell these endpoints. The habit worth keeping is free whoever you buy from: filter after retrieval, and never treat a matching word as a matching topic.
Conclusion
The easiest Reddit scraping API for an agent is one call per job through Monid: a feed, a thread or a search at $0.001 a call (Verified 2026-10-16), one key for this and every other tool, about a minute to set up and ready inside your agent whenever you need it. Writing your own scraper works for one subreddit and costs hours of parsing and upkeep; Monid keeps the fetch layer maintained.
Two things matter more than which endpoint you pick. A keyword match is not a topic match: our search for three plain words returned seven posts and one was on topic, so search inside a subreddit, search titles as phrases, and filter what comes back. And the feed is a feed: it held an ad and a carousel next to the six posts, so keep the rows that have a post id and drop the rest.
How we estimated the time saved: building and running your own Reddit scraper is roughly 6 to 12 hours for the fetch layer and parsers for posts, comments and search, plus 4 to 12 hours for the first month of upkeep as Reddit changes. That is 10 to 24 hours. The 1 minute is the install, key and first call once you already have a Monid key.
Free next step: run monid discover -q "reddit" and monid inspect -p tikhub -e /api/v1/reddit/app/fetch_subreddit_feed, then make one call on a subreddit you know and compare the rows with what you see on the site. Start at monid.ai.
FAQ
Is there a Reddit scraping API?
Yes. Monid exposes Reddit endpoints for a subreddit feed, the comments on a post and a keyword search, each billed per call, and your agent calls them with a subreddit name, a post id or a query. Reddit also has its own official API, which needs a registered app and credentials.
How do I scrape Reddit without the Reddit API?
Call a Reddit endpoint on Monid instead of registering a Reddit app. Install the CLI, add your key, and run the feed, comment or search call from the commands above. There is no Reddit OAuth step on your side.
Is there a free Reddit scraper API?
Not free, but close for small jobs: through Monid a feed, a thread or a search costs $0.001 a call (Verified 2026-10-16), with no monthly plan and no minimum, and discovery and inspection cost nothing. Reddit's own API is free at low volume if you register an app.
How do I get the comments on a Reddit post?
Take the post id from a feed or search result, in the form t3_..., and pass it to /api/v1/reddit/app/fetch_post_comments on tikhub. It returns the comments as a tree with text, score and permalink, plus a flag for whether another page exists.
Why does my Reddit scraper return irrelevant posts?
Because Reddit's keyword search matches posts that share words with your query, not posts on your topic. A search for three plain words returned seven posts and one was on topic. Search inside a subreddit, search titles as phrases, and filter the rows after you retrieve them.
Published August 2026.


