All About Ratelimits

How does Reddit’s ratelimiting work, and how does Later for Reddit handle it?

Reddit is a very busy website. To cope with load and fight spam, it applies limits to the number of posts that a user can submit in a given period of time. When Reddit decides a user is not allowed to post, it returns a RATELIMIT error, signalling that the post should be retried later.

This page attempts to answer some common questions about these errors.

What is a RATELIMIT error?

Reddit may return a RATELIMIT error to any comment or post submission, which prescribes a delay until posting should be attempted again. It is typical of Reddit to limit new users to 1 post every 15 minutes (or perhaps longer!), but users with higher reputation may post more frequently.

What does Later for Reddit do when it encounters a RATELIMIT error?

Later’s posting pipeline features a separate queue for each Reddit user. When a post is scheduled (put into the pipeline), it goes to the back of this queue. If there are no posts in the queue, the post is attempted right away; otherwise, it waits in line.

When a RATELIMIT response is encountered, the following occurs:

  1. The failure is logged.
  2. The post that failed is updated with a new posting time. When it is re-scheduled, it will be at the back of the queue.
  3. The queue pauses for the specified time, and no posting attempts are made in this interval. After this, posting for this user will continue.

In the usual case, encountering a ratelimit error simply means a short delay in posting.

How can I avoid receiving a RATELIMIT error?

The details of when and why these occur is a secret only known to Reddit’s anti-spam algorithms, but it’s clear that some users are consistently affected more than others. Some factors that may contribute to this include:

  • Account age: Older accounts are considered more reputable than younger ones.
  • Karma Score: More karma, less problems. Don’t forget about comment karma!
  • Verified Email: This is known to be an important factor.

On the Account Settings page, you can review your accounts’ link and comment karma and account age, and clicking the “Show Report” button will display an annotated rating of your account’s trustworthyness.

Besides these user-specific factors, there are additional factors that may affect your posts to a particular subreddit:

  • How many times you’ve posted there before
  • How often you’ve commented there before
  • Whether your posts there have been removed by moderators

When in doubt, try posting to a subreddit manually a few times. You may find you have more luck scheduling posts to a subreddit thereafter.

My post still failed to post after the second attempt, what gives?

Reddit never returns a RATELIMIT delay of more than 15 minutes, but will sometimes return two or more RATELIMITs in a row. This might be caused by interaction with your manual posts, but it may also reflect a longer internal ratelimit than the response suggests.

How often should I post?

When in doubt, space posts by 15 minutes (or post no more than 96 times per day). If you are successful at this rate, you might try a shorter delay and see if posts are delayed.