BlogResources

Reddit Bot: How to Build One That Follows Reddit's Rules

Build a Reddit bot with PRAW: register a script app, set a User-Agent, and stay under 100 queries a minute.

Aymeric ZhuoAymeric Zhuo6 min read

Summarize with AI

Reddit Bot: How to Build One That Follows Reddit's Rules
On this page

A Reddit bot is a program that reads or posts Reddit content through the Reddit Data API, using a registered app. To build one that follows the rules, authenticate with OAuth (Open Authorization), send a descriptive User-Agent, stay under 100 queries per minute, and get Reddit's approval first (Reddit Data API Wiki, 2026).

Key Takeaways

  • A Reddit bot needs a registered app, an OAuth login and a User-Agent that names the app and your Reddit username.
  • Free access allows 100 queries per minute per OAuth client ID, averaged over 10 minutes.
  • Reddit requires approval before you access data, and written approval for commercial use.
  • Reddit bans vote manipulation, karma manipulation and spam. This guide does not cover them.
  • Start with a read-only bot that watches keywords. It needs no Reddit password.

What is a Reddit bot?

A Reddit bot is a program that connects to Reddit through the Reddit Data API and acts without a person clicking each time. A bot can read posts and comments, send replies, publish posts or help moderators. Reddit treats every bot as an app that must register and identify itself (Reddit Responsible Builder Policy, 2026).

What types of Reddit bots can you build?

You can build four kinds of Reddit bots: monitor bots that read, reply bots that comment, posting bots that publish, and moderation bots that help moderators. Each kind has a different risk. Reddit bans bots that spam or manipulate votes, so the table below marks the rule that applies to each kind.

Bot typeWhat it doesRule to follow
MonitorReads posts and comments and records keyword matchesDelete content that Reddit removes from your stores
ReplyComments on postsNo automated spam, including similar comments across subreddits
PostingPublishes scheduled postsNo identical or similar posts across subreddits
ModerationHelps subreddit moderatorsModerator bots that need more than the free limit can ask Reddit

Source: Reddit Responsible Builder Policy and Reddit Data API Wiki, 2026. The article on Reddit auto-post bots covers the posting type in more detail.

What do you need before you build a Reddit bot?

Before you build a Reddit bot, you need a Reddit account, basic Python knowledge, a client ID and client secret, and a User-Agent string. PRAW (Python Reddit API Wrapper) 8.0.3 supports Python 3.10 and later. Reddit's First Steps guide explains how to create the client ID and secret (PRAW documentation, 2026).

  1. A Reddit account.
  2. Python 3.10 or later.
  3. A client ID and client secret from a registered app.
  4. A User-Agent in the format <platform>:<app ID>:<version string> (by u/<Reddit username>).

What does the Reddit API allow?

The Reddit Data API allows registered, authenticated apps that follow Reddit's policies. Traffic without OAuth or login credentials is blocked, and apps that hide how they use data can lose access. The two technical rules are the rate limit and the User-Agent (Reddit Data API Wiki, 2026).

What is the Reddit API rate limit?

The Reddit API rate limit for free access is 100 queries per minute (QPM) per OAuth client ID. Reddit averages the count over a 10-minute window, so short bursts are allowed. Each response carries three headers, X-Ratelimit-Used, X-Ratelimit-Remaining and X-Ratelimit-Reset, that show how much of the limit is left (Reddit Data API Wiki, 2026).

PRAW reads these headers and waits between requests. Reddit also applies other limits that the headers do not show, such as limits on commenting and editing (PRAW documentation, 2026). The article on API rate limiting explains the general idea.

What User-Agent does Reddit require?

Reddit requires a unique, descriptive User-Agent in the format <platform>:<app ID>:<version string> (by /u/<Reddit username>). An example from Reddit is android:com.example.myredditapp:v1.2.3 (by /u/kemitche). Default agents such as "Python/urllib" are heavily limited, and Reddit says never to lie about your User-Agent (Reddit Data API Wiki, 2026).

How do you create a Reddit bot with PRAW?

To create a Reddit bot with PRAW, register a script app on Reddit, install PRAW with pip install praw, and create a praw.Reddit instance with your client ID, client secret and User-Agent. A script app is the app type for personal bots that run on your own machine (PRAW documentation, 2026).

How do you register a Reddit script app?

To register a Reddit script app, sign in to Reddit, create a new app on the Reddit apps page, and choose the script type. Reddit then gives the app a client ID and a client secret. PRAW needs both values to access the API as a script application (PRAW documentation, 2026).

Keep the client secret out of your code. Store both values in environment variables, as the next section does.

How do you write a read-only Reddit bot with PRAW?

A read-only Reddit bot with PRAW needs three values: client ID, client secret and User-Agent. It needs no Reddit username or password, because a read-only instance only retrieves public information (PRAW documentation, 2026). The bot below prints new posts that contain a keyword.

import os
import praw

reddit = praw.Reddit(
    client_id=os.environ["REDDIT_CLIENT_ID"],
    client_secret=os.environ["REDDIT_CLIENT_SECRET"],
    user_agent="python:com.example.keyword-monitor:v1.0 (by u/your_username)",
)

KEYWORD = "workflow automation"

for post in reddit.subreddit("automation").stream.submissions(skip_existing=True):
    if KEYWORD in post.title.lower():
        print(post.created_utc, post.permalink)

Replace com.example.keyword-monitor and your_username with your own app name and Reddit username. If you store the matches, delete any post that Reddit later removes. Reddit recommends clearing deleted content from your stores within 48 hours (Reddit Data API Wiki, 2026).

Do you need Reddit's approval to run a Reddit bot?

Yes, Reddit requires approval before an app accesses Reddit data. Apps must register, create a developer profile and keep the App label that Reddit assigns. Commercial use needs explicit written approval from Reddit. Using several accounts or repeated requests for the same use case is not allowed (Reddit Responsible Builder Policy, 2026).

What Reddit bots are not allowed?

Reddit does not allow bots that manipulate votes or karma, spam, or evade Reddit's safety tools. Apps must not circumvent user blocking or account bans, and must not post identical or similar content across subreddits. Training AI models on Reddit data without approval is also banned (Reddit Responsible Builder Policy, 2026).

This guide does not explain voting bots, karma bots or mass-posting bots. Reddit enforces these rules, so a bot that breaks them risks losing API access.

How can CodeWords help with a Reddit bot?

On CodeWords, you describe the workflow you want, and Cody builds and connects it. The workflow runs on a schedule, a trigger or a request. A Reddit monitor can send each keyword match to the tools you already use through the 3,000+ integrations listed by CodeWords (CodeWords, 2026).

Browse the workflow templates for starting points. If you need your own Reddit app first, read how to find your Reddit client ID.

Try CodeWords and describe your first Reddit monitoring workflow.

FAQs: Reddit Bot

Is making bot accounts illegal?

Reddit does not forbid bots, so making a bot is not against Reddit's rules when the app is registered, labeled and approved. Bots that spam, manipulate votes or evade bans break the Responsible Builder Policy, and Reddit can remove access. This answer covers Reddit's rules only and is not legal advice (Reddit Responsible Builder Policy, 2026).

Is bot farming illegal on Reddit?

Bot farming breaks Reddit's rules, because the Responsible Builder Policy bans manipulation of votes and karma and automated spam. Reddit can take enforcement action against the apps and accounts involved. Whether bot farming is against the law depends on where you live, and this answer gives no legal advice (Reddit Responsible Builder Policy, 2026).

Get started today

Your first workflow is free to build.

Describe what you need. Cody handles the build, the connections, and the deployment.