Reddit is about to shut off public API access, which means it’s about to get harder to use—and harder to get your data out. Here’s how to grab it now.
Reddit is following in Twitter’s footsteps and charging third-party apps for access to their APIs. The result: Apollo, one of the most popular Reddit apps for iPhone, is shutting down entirely after determining that the new pricing would cost it $2 million a month. RIF, another popular app, is calling it quits for the same reason. After the API news, several major Reddit communities are blacked out this week in protest.
Reddit has every right to charge for its API, legally speaking, and it stands to gain if more people use the (terrible) official app. Reddit CEO Steve Huffman argued in an AMA that the changes are being overblown. Comments in that thread are, shall we say, less than friendly to the company line.
If all of this leaves you wondering what might happen to the posts and comments you’ve made on Reddit over the years, you’re not alone. David Brownman, a programmer based in San Mateo, California, was wondering exactly that.
“I have put so much into Reddit over the years, and I didn’t like the idea of it being inaccessible to me,” he tells me. “It’s my content, and I’ll need to be a steward of it if Reddit won’t. I also reference old posts of mine a lot, so having full text search was important to me.”
With these concerns in mind, Brownman wanted an offline archive of his posts. Here’s how you can get one too, either by asking Reddit or by using a tool Brownman built to download it yourself.
Ask Reddit for Your Data
Reddit has a form where you can request a copy of your data. The process can take up to 30 days, after which you will get a private message on your Reddit account with a download link. The data comes in the form of CSV files that you can open using Microsoft Excel or any text editor. There are separate files for your comments, your posts, your voting history, and your chats, among other things.
This method has a few downsides. First, CSV files can be a little unwieldy, especially if you want to search. Second, there’s a delay, which is annoying if you just want to download the data and move on with your life. Still, it’s easy, and for most people, this is probably the best way to back up their Reddit content.
Download Your Reddit Data Yourself
If you’d rather not wait for Reddit to deliver your data, or would prefer to keep your data in a searchable archive, you can use Brownman’s tool, reddit-user-to-sqlite. This command line application can download the complete public archive of any Reddit user and compile it in an SQLite database file. Just keep in mind that this method will stop working on July 1, 2023, when the API change occurs.
Brownman offers a blog post outlining the tool with a few instructions—if you’re comfortable with the command line, I recommend following the instructions there. For everyone else, don’t worry: It’s not as hard as it sounds.
First you will need to install Python. For Windows users, this is best done by downloading and running the installer for your computer. After installing Python, you will need to install pipx. On Windows, this is best done with the following commands, which you can run in the Command Prompt or PowerShell:
py -3 -m pip install --user pipx
py -3 -m pipx ensurepath
Mac users are better off installing Homebrew, a command prompt tool that simplifies software installation. Just follow the instructions on the Homebrew page, then use these two commands to install pipx:
brew install pipx
pipx ensurepath
Once pipx is installed, you can install Brownman’s tool using the following command:
pipx install reddit-user-to-sqlite
You’re almost done! To download the complete archive for any Reddit user, simply type the following command, replacing the last word with the username:
reddit-user-to-sqlite user YOUR_USERNAME_HERE
The software will download every public interaction by that user and save it all in a file named reddit.db. You can open this file using any application that can open a SQLite database. This is an open format, meaning your data should be readable for decades to come.
Brownman recommends browsing the data with Datasette, a command prompt tool. A simpler option is SQliteviewer.app, a web app that can locally open the file. If you’d prefer a desktop option, check out SQLiteBrowser, which is a little bit ugly but gets the job done. Whatever app you use, know that your data is securely stored on your own computer, meaning no Reddit policy changes can touch it.
How to Download Your Reddit Data
(May require free registration to view)
Recommended Comments
There are no comments to display.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.