Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.
Keith Mitchell edited this page Jan 23, 2015 · 59 revisions

Resources

Rules

We're happy to have API clients, crawlers, scrapers, and Greasemonkey scripts, but they have to obey some rules:
  • Please ensure that all API clients are following reddit's licensing guidelines
  • Make no more than thirty requests per minute. This allows some burstiness to your requests, but keep it sane. On average, we should see no more than one request every two seconds from you. Monitor the following response headers to ensure that you're not exceeding the limits:
    • X-Ratelimit-Used: Approximate number of requests used in this period
    • X-Ratelimit-Remaining: Approximate number of requests left to use
    • X-Ratelimit-Reset: Approximate number of seconds to end of period
  • Clients connecting via OAuth2 may make up to 60 requests per minute.
  • Change your client's User-Agent string to something unique and descriptive, preferably referencing your reddit username.
    • Example: User-Agent: flairbot/1.0 by spladug
    • Many default User-Agents (like "Python/urllib" or "Java") are drastically limited to encourage unique and descriptive user-agent strings.
    • If you're making an application for others to use, please use the following format, including a unique application identifier and version string. This allows us to block buggy versions without blocking all versions of your app.
      <platform>:<app ID>:<version string> (by /u/<reddit username>)
      For example: User-Agent: android:com.example.myredditapp:v1.2.3 (by /u/kemitche)
    • NEVER lie about your user-agent. This includes spoofing popular browsers and spoofing other bots. We will ban liars with extreme prejudice.
  • Requests for multiple resources at a time are always better than requests for single-resources in a loop. Talk to us on the mailing list or in #reddit-dev if we don't have a batch API for what you're trying to do.
  • Our robots.txt is for search engines, not API clients. Obey these rules for API clients instead.

Glossary

Thing

See JSON for an overview of some of the response types.

Changes to the API

Changes to the API can happen without warning if necessary, subscribe to /r/redditdev for announcements of changes.

Clone this wiki locally