Reddit API is amazing! In this post, we are going to learn how to use the Reddit API with Python.
We will cover everything.
- How to get your credentials and to use the API.
- Making a simple request to the API,
- Using the two most popular wrappers: PRAW and Pushshift.
- Extracting data
- Posting to a Subreddit.
At the end of this tutorial, you’ll know everything that you need to know about the Reddit API and how to do the examples below.
Reddit API Examples
Here are two things that you will be able to do after reading this guide.
Example 1: Get Subreddits with most activity related to your keyword

Example 2: Post to subreddits.

If you know nothing about Python, make sure that you start by reading the complete guide on Python for SEO.
Let’s get started!
Chapter 1: Reddit API Basics
What is an Application Programming Interface (API)
A quick introduction to the world of APIs.
Get Top Posts From Subreddit With Reddit API and Python
With the Reddit API, you can extract subreddit posts and data without any credentials!
In this beginner tutorial, we will learn to make requests to a subreddit to retrieve data. I will show you how to scrape Reddit with Python, without using an API key or a wrapper. Making Requests and Scraping Reddit
Reddit API JSON’s Documentation
Translating the Reddit API JSON documentation for humans with code example simple data structure. This post will help you understand and work with the Reddit API’s JSON. Reddit JSON’s structure
Chapter 2: Pushshift.io
How to use Reddit API With Python (Pushshift)
In this Reddit API tutorial, I will show you how to make an API call using Reddit API and Python with the Pushshift.io API wrapper. We will extract data from Reddit API to find out which subreddit has the most activity for your search term. Show which subreddits have the most activity
Chapter 3: PRAW
Get Reddit API Credentials with PRAW (OAuth 2)
In this tutorial, we will look at the Reddit API authentication.
We are going to generate the OAuth credentials necessary to run the Reddit API using Python and the PRAW wrapper.
We’ll cover the steps to get the client id, client secrets and access token (refresh token) needed to post on Reddit using the API.
Getting Reddit API Credentials and Authenticating with OAuth 2
Post on Reddit API With Python (PRAW)
In this post, we will see how to post to a subreddit using the PRAW wrapper for the Reddit REST API. Learn how to post on Reddit using the API
Fun Side Project With Reddit API
Show Random Reddit Post in Terminal With Python
I thought my Terminal was boring. I decided to show a random post from “r/todayilearned ” whenever I open the Terminal. Here is how you can do the same. Show Random Post from Reddit In Terminal
Reddit API Limits
The Reddit API’s rate limit is up to 60 requests per minute. It allows a request to up to 100 items at once.
If you have less than 100 items to request, you can do it all at once. For more than 100 items, you need to make multiple requests, making sure that you don’t go over the 60 requests per minute as per the rules.
Other Interesting Guides and Projects
Analysing Subreddit’s Keyword Concentration with Python and PRAW
Classifying 4M Reddit posts in 4k subreddits: an end-to-end machine learning pipeline
Reddit API with Javascript (wrapper in Node JS)
Projects and Resources to Learn Python SEO
Reddit API FAQs
Where is the JSON API documentation
How to get top posts from a subreddit?
https://www.reddit.com/r/{subreddit}/top.json
What is the Reddit API?
Is the Reddit API Free?
How do I get my Reddit API Key?
If you want more Social Media Automation tutorials, be sure to read the complete guides on the Facebook API and Linkedin API with Python.
This is the end of the guide on Reddit API. Remember to share and link to this post if you enjoyed it.

SEO Strategist at Tripadvisor, ex- Seek (Melbourne, Australia). Specialized in technical SEO. In a quest to programmatic SEO for large organizations through the use of Python, R and machine learning.