Building the product · Edition No. 7 · 1 Sep 2026

praw-dev/praw

The long-established Python client for Reddit's official interface.

← Building the productRead the whole edition →
PRAW: reading Reddit from Python. Handles sign-in, waiting and paging.

4.2k stars · BSD-2-Clause · v8.0.3 (2026-08-12) · Track this in Rising ↗

The mature Python client for Reddit's official API — search the archive where buyers describe the problem in their own words.

Verified27 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive100

Last code pushed 26 Oct 2026, one day before this check.

Releases85

Latest release v8.0.3 on 12 Aug 2026.

Maturity100

Public since August 2010, a little over 16 years.

Adoption73

4,289 stars and 504 forks.

Activity85

120 commits and 1 new issues in the last 90 days.

Community100

237 contributors. 59 pull requests merged in 90 days.

Security80

A security policy says how to report a problem. No published security advisories.

Licence BSD-2-Clause | [praw.readthedocs.io](htt: permissive: use it for anything, keep the noticeSetup effort 2 of 5Payoff 4 of 5
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 7.

▶Repo detailsthe review · specs · pros & cons · install

What it does

You register an application with Reddit, which gives you a client id and a secret, and the library handles authentication from there. It exposes subreddits, posts, comments and search results as ordinary Python objects, so a post's comment tree is something you walk rather than something you parse. It respects Reddit's own request rules internally, which means no waiting code of your own. A streaming mode yields new posts and comments as they appear. It can also write — post, comment, vote and moderate — and the moderation support is substantial. What it does not do is work around the official limits: there is no access to deleted content, no bulk historical export, and Reddit's own search is as weak through the library as it is on the site. It needs Python 3.10 or newer.

Why it matters

Who it suits. Anyone doing research on what people say about a subject in public: a writer looking for the words real readers use, a researcher collecting posts, a maintainer watching for questions about their project. It also suits moderators, who are a large part of why the library is as complete as it is. Skip it if the need is historical bulk data, because that is a different problem with a different answer.

Verdict. Worth the setup if the reading is going to be regular rather than once. The archive and the search are the valuable half early on, because the need is usually to read the last two years of questions rather than to be told about the next one. Three cautions. Registering the application is genuinely tedious, Reddit's terms for automated access have changed more than once, and the site's own search is poor enough that the practical approach is to pull broadly and filter locally. Using it to post links is the trap: an account that only ever drops links gets banned, correctly. Edition 4 covered DIYgod/RSSHub, which turns a subreddit into a feed of new items and cannot search the past at all; the two are complementary. Version 8.0.3 of 12 August 2026 is current and code landed in October, so the project is quiet and tended rather than slowing down.

Stars4.2k
LicenceBSD-2-Clause
Latestv8.0.3 (2026-08-12)checked 7 Sep 2026
Written inPython
NeedsPython 3
RunsLocally, on your own machine
Summary (Key Points)from the README
Key features
  • Reddit API access: Gives simple Python access to Reddit's API.
  • Built-in API rule compliance: Internally follows all of Reddit's API rules.
  • No manual rate-limit handling: You don't need to add sleep calls to your code.
  • Quick setup: Give the client an appropriate user agent and it is ready to use.
  • Script-type OAuth quickstart: Create a PRAW instance with credentials for a script-type OAuth application, then interact with Reddit through that instance.
  • Async option: Async PRAW is the official asynchronous version, with similar usage and the same features, for use with discord.py or asyncio.
  • Full documentation: Hosted PRAW documentation includes more examples.
Ways to install
Platform or methodWhat it needsEffort
uv (recommended)Python 3.10+Not stated
pip (stable release)Python 3.10+ and pipNot stated
pip (latest development version)Python 3.10+ and pipNot stated
Important
  • Python version: PRAW supports Python 3.10 and newer only.
  • Credentials required: The quickstart assumes you already have credentials for a script-type OAuth application.
  • Async environments: For asynchronous use such as discord.py or asyncio, the README recommends Async PRAW instead of PRAW.
  • Development version: The README gives a command for the latest development version but does not describe its stability.
  • Licensing change: Source from v4.0.0 onward uses the Simplified BSD License, while earlier versions were released under GPLv3.
  • Support etiquette: Search existing questions first, and do not directly message contributors unless they have said they are open to it.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Setup effort
2 / 5
Payoff
4 / 5
Good
  • BSD-2-Clause, the official interface, and mature enough that example code is almost always correct.
  • Request limits are handled inside the library, so an overnight script is safe to leave running.
  • Historical search and full comment trees, which a feed cannot give.
Watch for
  • Registering an application for a client id and secret is a tedious first half hour.
  • Reddit's rules for automated access have changed sharply in recent years; read the current ones before building a habit.
  • Reddit's own search is weak, so expect to pull broadly and filter locally.
Works well with

RSSHub gets you a feed of new items.

Install
python3 -m venv venv
source venv/bin/activate
pip install praw
Screenshots
praw-dev/praw: GitHub preview card

On Stack Radar: Build & Ship › APIs & Developer Utilities › API Clients.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.