skillfed

asyncpraw

Asynchronous Python Reddit API Wrapper.

asyncpraw v8.0.3 134.0K downloads/30d#11,491 on PyPI154
Permissive license Copyright (c) 2020, Joel Payne All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1.… (full text in the JSON record) Active released

What it is and what it does

Async PRAW is an asynchronous wrapper around Reddit's API that lets you build non-blocking Reddit bots and tools in Python. Unlike synchronous alternatives, it uses asyncio and aiohttp to handle multiple Reddit requests concurrently without sleep calls, making it suitable for high-throughput applications. The package wraps asyncprawcore (its lower-level API client) and adds convenience methods for common tasks like fetching subreddits, posting submissions, replying to comments, and iterating over listings.

You authenticate with Reddit OAuth credentials, then use async/await syntax to interact with subreddits, submissions, comments, and moderator data. The library handles Reddit's rate limits and API rules internally, so you focus on your application logic rather than compliance. It supports Python 3.10 and later, is actively maintained, and carries no known security vulnerabilities.

Use it for:

  • Build a Reddit bot that monitors multiple subreddits and replies to posts concurrently without blocking.
  • Scrape Reddit data (submissions, comments, user info) efficiently for research or analysis.
  • Automate moderation tasks (removing spam, approving posts) across multiple communities in parallel.
  • Create a dashboard or alert system that fetches trending posts from multiple subreddits simultaneously.
  • Develop a Reddit client or third-party tool that needs responsive, non-blocking API calls.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Async PRAW provides asynchronous access to Reddit's API, allowing you to interact with subreddits, submissions, comments, and user data without blocking I/O operations.

Yes. Async PRAW is actively maintained, production-stable, has no known vulnerabilities, installs with low friction, and is the right choice if you need asynchronous Reddit API access. Use it for bots, scrapers, or tools that benefit from concurrent I/O. If you only need synchronous access or are new to async Python, consider whether the async complexity is worth the performance gain for your use case.

Install

asyncpraw on PyPI

pip

pip install asyncpraw

uv

uv add asyncpraw

poetry

poetry add asyncpraw

Installing asyncpraw

Before you install

Low friction: pure Python wheel with six runtime dependencies (aiohttp, asyncprawcore, aiofiles, defusedxml, typing-extensions, update-checker). Active maintenance—last commit 2 days ago, production-stable status, supports Python 3.10 through 3.14.

License in practice

Simplified BSD License (permissive): you can use, modify, and distribute this code freely in commercial and private projects, provided you retain the copyright notice and disclaimer.

Quickstart

pip install asyncpraw

import asyncpraw

reddit = asyncpraw.Reddit(
    client_id="CLIENT_ID",
    client_secret="CLIENT_SECRET",
    password="PASSWORD",
    user_agent="USERAGENT",
    username="USERNAME"
)

subreddit = await reddit.subreddit("test")
await subreddit.submit("Test Submission", url="https://reddit.com")

Requires Reddit OAuth credentials (client_id, client_secret, username, password) and Python 3.10 or later.

Verify before relying

  • Rate-limiting behavior and whether update-checker runs automatically on import or only on demand.
  • Whether defusedxml is used for all XML parsing or only in specific contexts.
  • Support for read-only (unauthenticated) operations without credentials.

Package facts

License Copyright (c) 2020, Joel Payne All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1.… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — aiofiles, aiohttp, asyncprawcore, defusedxml, typing-extensions, update-checker
Maintenance actively maintained — 2 days since the last release
Last repo commit
First released
Downloads 133,981/month — #11,491 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: asyncpraw-8.0.3-py3-none-any.whl

Keywords: api, async, asynchronous, asyncpraw, praw, reddit, wrapper

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: UtilitiesTyping :: Typed

Tags

reddit api async wrapperasynchronous reddit clientasync reddit api pythonreddit api non-blockingasyncio reddit wrapperreddit async praw
reddit-apiasync-io

More Utilities packages