forked from reddit-archive/reddit
-
Notifications
You must be signed in to change notification settings - Fork 1
Keith Mitchell edited this page Jan 30, 2015
·
55 revisions
- reddit's built-in live API documentation
- The Apigee API console
- reddit requires OAuth for authentication.
- Don't forget the list of API Wrappers.
- 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,
including the target platform, a unique application identifier, a version string,
and your username as contact information, in the following format:
<platform>:<app ID>:<version string> (by /u/<reddit username>)
- Example:
User-Agent: android:com.example.myredditapp:v1.2.3 (by /u/kemitche)
- Many default User-Agents (like "Python/urllib" or "Java") are drastically limited to encourage unique and descriptive user-agent strings.
- Including the version number and updating it as your build your application allows us to safely block old buggy/broken versions of your app.
- NEVER lie about your user-agent. This includes spoofing popular browsers and spoofing other bots. We will ban liars with extreme prejudice.
- Example:
- Requests for multiple resources at a time are always better than requests for single-resources in a loop. Talk to us on /r/redditdev 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.
See JSON for an overview of some of the response types.
Changes to the API can happen without warning if necessary, subscribe to /r/redditdev for announcements of changes.