Posting to Reddit automatically: two rulebooks, not one
The API terms are the easy half. Each subreddit has its own rules and its moderators ban faster than Reddit does.
On this page
- What we'll cover
- Two rulebooks
- What the platform rules cover
- What subreddits actually enforce
- Identifying your bot honestly
- Building it with CodeWords
- Access tiers and rate limits
- The ratio that keeps you welcome
- Detecting removal, which is silent
- Scheduling that does not look automated
- Making it survive
- Limits worth knowing about
- What to build first
- Frequently asked questions
- Related reading
Most guidance about automating Reddit covers the API: register an application, authenticate, respect the rate limits, do not spam. That is accurate and it is the half that rarely causes trouble.
The half that does is that every subreddit is governed separately. Moderators set their own rules about self-promotion, link posts, account age, flair and bots, they enforce them at their discretion, and they act far faster than Reddit itself. An automation can be entirely within the API terms and banned from the twelve communities you cared about by Tuesday.
What we'll cover
- Two rulebooks
- What the platform rules cover
- What subreddits actually enforce
- Identifying your bot honestly
- Building it with CodeWords
- Access tiers and rate limits
- The ratio that keeps you welcome
- Detecting removal, which is silent
- Scheduling that does not look automated
- Making it survive
- Limits worth knowing about
- What to build first
- Frequently asked questions
Two rulebooks
Reddit's own rules and API terms apply everywhere. They permit bots, prohibit spam and vote manipulation, and set the technical constraints. Breaching them can cost the application or the account.
Each subreddit's rules apply only there, are written by its moderators, and vary enormously. Some ban all self-promotion. Some require a minimum account age or karma. Some prohibit link posts entirely. Some require flair on every submission. Some ban known bots on sight.
The second rulebook is the one that bites, for three reasons: there are as many of them as there are communities, they are enforced by people with a low tolerance for automated posting, and removal is frequently silent.
So the work is mostly per-community rather than technical. Reading the sidebar and the wiki for each subreddit you intend to post to is the actual preparation, and it is what nearly everybody skips.
What the platform rules cover
Straightforward and worth stating.
Bots are permitted. Reddit has a long history of them and many are valued.
Spam is not, and the definition is behavioural: repetitive posting, the same content across many communities, and anything primarily promotional.
Vote manipulation is prohibited absolutely, including voting from multiple accounts and anything organising votes.
Rate limits apply, and exceeding them is both a technical failure and a signal.
Identify your client properly, covered below.
Almost nobody gets into trouble here by accident. The accidental trouble is entirely in the second rulebook.
What subreddits actually enforce
The patterns recur across communities, so knowing them is most of the battle.
Self-promotion ratios. Many communities expect participation well beyond your own links, commonly stated as some proportion of contributions that are not yours.
Account age and karma floors. New accounts are filtered automatically, which means a fresh account created for a bot will have its posts removed without a human seeing them.
Post type restrictions. Text-only communities, communities where links require accompanying discussion, and communities where certain days permit certain types.
Flair requirements, enforced by automated moderation that removes anything without it.
Explicit bot policies. Some communities require bots to be pre-approved by moderators, which is a message rather than a technical step.
Frequency limits, sometimes one post per user per week or month.
The reliable approach is to ask. Moderators respond well to somebody who describes what they intend to post and asks whether it is welcome, and badly to discovering it afterwards.
Identifying your bot honestly
A small thing that materially affects how you are treated.
Set a descriptive user agent naming the application, its version and the account operating it. Reddit asks for this and it is how your traffic is distinguished from anonymous scraping.
Beyond the technical requirement, make the account itself honest. A bot account with a name that says what it is, a description saying who operates it and why, and a way to contact somebody, is treated very differently from an account that looks like a person and behaves like a script. Moderators notice both.
Where a bot replies to people, say that it is a bot in the reply. Communities tolerate useful bots and react badly to being deceived by one.
Building it with CodeWords
CodeWords connects to more than 3,000 integrations, and the connection is made once and reused.
- Open CodeWords and start a new automation.
- Describe what should happen in plain language to Cody, the automation builder: which communities, what content, at what frequency, and what needs your approval first.
- Authorize the connections to your Reddit application and wherever the content comes from.
- Describe the exceptions: a post removed, a rate limit, a community that has changed its rules, anything you want to review before it goes.
- Check after posting whether the submission actually survived, since removal is silent and the API will report a successful post either way.
You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows; details are on the pricing page.
Access tiers and rate limits
Reddit's API access changed materially in 2023, moving to a tiered model with paid access above a free allowance.
Three practical consequences. Check the current terms rather than following a tutorial written before the change, since a good deal of published guidance predates it. Budget for access if your volume is meaningful. And respect the documented rate limits rather than discovering them, because sustained limit-hitting is a behavioural signal as much as a technical one.
Back off properly when limited rather than retrying immediately. A client that hammers a rate limit looks like exactly the thing the limits exist to stop.
The ratio that keeps you welcome
The single most useful principle, and it is cultural rather than technical.
Reddit communities are hostile to accounts that only ever post their own things, and the hostility arrives from other members as much as from moderators. An account that participates genuinely and occasionally shares something of its own is treated as a member. One that only broadcasts is treated as spam regardless of the quality of what it posts.
This is awkward for automation, because participation is the part that cannot be automated. A comment generated to satisfy a ratio is worse than no comment and reads as such immediately.
The honest conclusion is that a purely automated posting account does not work well on Reddit. What works is a person who participates, with automation handling the scheduling and the mechanics of their own submissions. That is a smaller claim than most guidance makes and it is the one that survives contact with the platform.
Detecting removal, which is silent
A technical detail with outsized consequences.
When automated moderation removes a submission, the API generally reports the post as created and the author frequently still sees it. From your side everything succeeded. It is simply not visible to anybody else.
So a pipeline that posts and reports success can run for weeks while nothing reaches a single reader. The fix is to verify: fetch the submission after a short delay and check whether it is actually visible, or check the community's listing for it, rather than trusting the creation response.
Track the removal rate per community. A community where most of your posts vanish is telling you something about whether you should be posting there, and it is invisible unless you measure it.
Scheduling that does not look automated
Small choices that change how the account reads.
Vary the timing rather than posting at the same minute daily, since an exact cadence is a signature.
Space out across communities rather than posting the same thing everywhere at once, which is the classic spam pattern and is detected as one.
Respect the community's own rhythm, since many have recurring threads and conventions about when certain things are posted.
Never post identical text to several communities. Where the same underlying item is relevant in two places, the framing should differ because the audiences do.
Making it survive
Read each community's rules before adding it, and re-check periodically.
Verify posts survived rather than trusting the creation response.
Track removal rate per community.
Back off properly on rate limits.
Keep the account honest, named and described as what it is.
Limits worth knowing about
Subreddit rules are separate from platform rules, and enforced faster.
Removal is silent, so success responses mean little.
Participation cannot be automated well, and it is what buys tolerance.
API access is tiered and changed in 2023, so older guidance is unreliable.
Vote manipulation is prohibited absolutely, with no volume small enough to be acceptable.
What to build first
The check that a post actually survived. Before scheduling anything, before adding communities, build the step that fetches a submission after posting and confirms it is visible. Without it you have no idea whether any of this works, and the failure mode is invisible by design.
Two habits make the difference. Read the rules of every community before adding it, and ask the moderators where a bot is involved, since a short message beforehand is the difference between being tolerated and being banned. And accept that participation is a person's job, with automation handling scheduling and mechanics, because an account that only broadcasts is treated as spam whatever it posts.
Frequently asked questions
Does Reddit allow posting bots?
Yes. Reddit permits bots and has many valued ones. What is prohibited is spam, defined behaviourally, and vote manipulation in any form.
Why do bots get banned even when they follow the API terms?
Because each subreddit has its own rules, written and enforced by its moderators, covering self-promotion, account age, post types, flair and bots. Those are enforced faster than anything at the platform level.
What subreddit rules catch people out most?
Self-promotion ratios, minimum account age and karma, restrictions on link posts, mandatory flair, and explicit requirements that bots be approved by moderators first.
Should I tell moderators about my bot?
Yes. Describing what you intend to post and asking whether it is welcome usually goes well. Being discovered afterwards usually does not, and some communities require pre-approval anyway.
How do I know if my post was removed?
Check. Removal is silent, the API typically reports the post as created, and the author often still sees it. Fetch the submission after a delay and confirm it is actually visible.
What is the self-promotion ratio?
An expectation in many communities that most of your contributions are not your own links. It is cultural as much as enforced, and an account that only broadcasts is treated as spam regardless of quality.
Can participation be automated?
Not well. Generated comments produced to satisfy a ratio read as exactly what they are. The workable split is a person participating, with automation handling scheduling and mechanics.
What changed with Reddit's API in 2023?
Access moved to a tiered model with paid access above a free allowance, which makes guidance written before that unreliable. Check the current terms and budget for meaningful volume.
How should I identify my bot?
With a descriptive user agent naming the application, version and operating account, and with an account whose name and description say what it is and who runs it. Where it replies to people, say it is a bot.
What should I measure?
Removal rate per community. A community where most of your posts silently vanish is telling you something you cannot see any other way.