The Reddit API allows developers to access and integrate the functionality of Reddit with other applications. It provides a way to retrieve data from Reddit as well as submit new data to Reddit. However, recent changes to the Reddit API have caused some disruptions for developers and users of third-party Reddit apps.
Why does Reddit have an API?
Reddit provides an API as a way for developers to tap into the huge amount of content and conversation happening on Reddit. The API provides an interface for developers to build apps and services that use Reddit data in some way. For example, developers can build Reddit clients for mobile devices, browser extensions that enhance the Reddit experience, bots that interact with Reddit posts and comments, analytics tools for analyzing Reddit data, and more. The API makes it so developers don’t have to scrape or reverse engineer Reddit in order to access and use its data.
What can you do with the Reddit API?
Here are some of the things you can do with the Reddit API:
- Retrieve information about Reddit posts, comments, subreddits, and users
- Submit new posts and comments as a logged in user
- Upvote, downvote, and save posts and comments
- Search Reddit content
- Get details about a Reddit user’s karma, trophies, preferences, etc.
- Access a user’s private messages and mailbox
- Manage subreddits by adding mods, editing settings, styling, etc.
- Retrieve trending posts and topics across Reddit
- Analyze voting patterns and user behavior
Essentially, if there is data exposed by the Reddit platform, the API allows you to access it programmatically. This flexibility enables the creation of diverse Reddit-based apps and projects.
How has the Reddit API changed over time?
The Reddit API has gone through several iterations over the years:
- Early API – The original Reddit API was extremely open and allowed apps significant access to Reddit data.
- Reddit API v1 – After being acquired by Conde Nast, Reddit launched API v1 in 2010 with stricter rate limiting.
- oAuth API – In 2013, Reddit moved to an oAuth authentication system for more secure API access.
- JSON API – Around 2015, Reddit updated their API to return JSON instead of XML.
- Current API – The current Reddit API version is a more locked down API that follows REST principles.
With each iteration, Reddit has tightened up their API restrictions and imposed more limits on third-party developers. The early Reddit API was extremely open, which led to some abuse. Over time, Reddit has shifted to be more restrictive with the data exposed through the API.
What are the recent API changes?
In the last couple years, Reddit has made several impactful changes to their API:
- Removed API endpoints related to politically sensitive content like weapon sales, illegal drugs, abuse, etc.
- Shutdown API endpoints related to Reddit chat, gifts, awardings, and polls.
- Removed access to third-party developers requesting access on behalf of others.
- Lowered the comment body text limit for the API.
- Added additional rate limiting rules.
Most significantly in 2021, Reddit launched a sweeping set of API changes designed to promote privacy and security. This included shutting down access to the full comment stream and disabling access to user inbox notifications.
These API changes have been controversial among third-party Reddit developers who have to rewrite their apps to function within the new limitations.
How are Reddit apps affected?
The recent API changes have caused headaches for many third-party Reddit apps and clients. Here are some of the ways Reddit apps are affected:
- Unable to access full comment threads – limits context and conversations.
- Can no longer reliably send notifications and messages.
- Restricted ability to analyze subreddits, posts, and comments over time.
- Reduced spam detection capabilities.
- Loss of chat, gifts, awards, and polls functionality.
- Stricter rate limiting slows response times.
Essentially, many Reddit apps have lost features or had their functionality severely crippled. The API changes force apps to refactor their code and find new unreliable workarounds. Users of Reddit apps are left confused and irritated when features suddenly stop working properly.
Are there benefits to the API changes?
While controversial, Reddit likely made these API changes to improve the privacy, security, and performance of their platform. Potential benefits include:
- Enhanced privacy protections for user data.
- Reduced risk of API abuse and misuse.
- Increased platform stability.
- More consistent performance.
- Focus developer time on core Reddit experiences.
- Opportunity to redesign APIs from scratch.
By locking down their API access, Reddit can refactor their backend APIs for the long-run. The tradeoff is that short-term, third-party developers take a hit. If the API functionality is eventually restored in a more thoughtful way, the benefits may outweigh the temporary disruption.
What is the outlook for Reddit’s API?
It is unclear if Reddit will restore full API functionality or continue locking it down further. Here are a few potential scenarios:
- Full lockdown – Reddit continues restricting API access to bare necessities.
- Gradual restoration – Reddit slowly rolls back API access incrementally over time.
- API rewrite – Reddit does a full API rewrite optimizing for their goals.
- Business tiers – Reddit offers expanded API access for business/partners.
- Status quo – Reddit leaves the API as is in its limited state.
Developers are anxiously waiting to see how Reddit moves forward. There is demand for Reddit to be more transparent about their API roadmap and provide advanced notice before making impactful changes. Hopefully, Reddit can find a middle ground that still enables innovation through their platform.
Conclusion
The Reddit API provides powerful capabilities for building applications using Reddit data. However, Reddit has made controversial API changes recently that have severely limited third-party developer access in the name of privacy and security. These changes have broken functionality and crippled many Reddit apps. It is unclear if Reddit will restore access or continue locking down their API further. Developers eagerly await Reddit to communicate their long-term API strategy and provide sufficient notice for any major future changes.