URS is a free, open source social networking project written in Python and released under MIT. It has 1,025 GitHub stars, 124 forks and 8 open issues, and was last pushed 2 months ago. On this registry it ranks #32 of 44 tracked projects in Social Networking, with 5 head-to-head comparisons available.

What is URS?

URS (Universal Reddit Scraper) is a free, MIT-licensed Python command-line tool for scraping, archiving, and livestreaming Reddit, aimed at researchers, data scientists, archivists, and OSINT analysts who need structured local copies of subreddit and redditor activity.

What it is

URS is a comprehensive Reddit scraping and archival command-line tool written in Python. It brings several capabilities into one interface: it scrapes subreddits, scrapes redditors, and scrapes submission comments, and it livestreams Reddit activity, including comments submitted within subreddits or by redditors and submissions made within subreddits or by redditors. It lives in the Python ecosystem and is built around PRAW, the official Python Reddit API Wrapper, which URS relies on for its Reddit API access. Alongside collection, it ships analytical tools: it generates word frequencies for words found in submission titles, bodies, and comments, and it generates wordclouds from scrape results.

The concrete problem URS solves is fragmentation. Anyone who wants Reddit data at volume otherwise writes bespoke PRAW scripts, handles pagination, tracks rate limits, and separately converts raw API objects into analysable files. URS replaces that ad hoc scripting with a single flag-driven command surface: -r for subreddits, -u for redditors, -c for submission comments, -lr and -lu for livestreaming, -f for word frequencies, and -wc for wordclouds, with --csv and --raw controlling output format. It also removes guesswork about API throttling, because --check reports PRAW rate limits directly.

Key capabilities

  • Scrapes subreddits, redditors, and submission comments through the -r, -u, and -c flags.
  • Livestreams Reddit via PRAW, streaming comments and submissions within subreddits or by redditors through -lr, -lu, and --stream-submissions.
  • Generates word frequencies for words found in submission titles, bodies, and comments.
  • Generates wordclouds from scrape results with the -wc flag.
  • Exports scraped data to CSV and JSON, with --csv selecting comma-separated output and --raw returning unprocessed data.
  • Checks PRAW rate limits through the --check flag before large jobs run.
  • Displays the directory tree of scraped output, and supports --nosave to skip writing results to disk.

Who uses it and how

  • Researchers and archivists capture subreddit and redditor histories into local CSV or JSON files for later analysis and preservation.
  • Data scientists and analysts build text corpora from submissions and comments, then run word frequencies and wordclouds over the results without writing PRAW code.
  • OSINT analysts track subreddits or individual redditors over time using the livestream modes.
  • Data collection teams running large jobs pair URS with residential proxy providers, since the project's sponsors offer rotating IPs for scraping at scale.

Getting started

URS runs as a Python command-line tool, and full install and usage instructions live in the URS Manual linked from the project homepage at https://josephlai241.github.io/URS/. The README states it has grown too long to hold all usage information, so the manual is the authoritative reference.

How it compares

No list of paid products this project replaces is provided in the facts; the sponsors named are proxy services rather than competing products. Among similar tools, URS is the only comprehensive Reddit scraping and archival command-line tool named in this registry, and it sits above PRAW, the library many Reddit scripts call directly, by adding a flag-driven CLI, livestreaming, and analytics on top. Where PRAW gives developers a programming interface, URS gives them a finished command-line tool.

When to use it — and when not to

Anyone self-hosting URS must supply the Reddit API credentials that PRAW requires and accept the rate limits that --check reports; there is no hosted option or database to manage, but there is also no server-side convenience. It is a poor fit for users who want a graphical interface, a managed service, or a non-Python runtime, since URS is a command-line tool written in Python. The honest weakness is documentation sprawl: the README has outgrown its usable length and now defers to an external manual, so newcomers must leave the repository to find complete usage information.

project readme (upstream, from github) — read inline
 __  __  _ __   ____
/\ \/\ \/\`'__\/',__\
\ \ \_\ \ \ \//\__, `\
 \ \____/\ \_\\/\____/
  \/___/  \/_/ \/___/

Universal Reddit Scraper - A comprehensive Reddit scraping command-line tool written in Python.

GitHub Workflow Status (Python) GitHub Workflow Status (Rust) Codecov GitHub release (latest by date) Total lines License

Sponsors

If this project has saved you time, consider sponsoring its development.

Sponsor on GitHub
Horizontal Logo For White Background (10)

MangoProxy provides residential, ISP, datacenter, and mobile proxies in 200+ countries. Trusted by businesses worldwide for stable connections, fast response times, and scalable proxy infrastructure.

Use my affiliate link to sign up for an account, and use promo code JOSEPH to save 8% on Static ISP Proxies.

RapidProxy logo

RapidProxy is a global residential proxy platform built for scraping developers and data collection teams, offering 90M+ real residential IPs across 200+ countries and regions. It supports dynamic rotation, precise geo-targeting, and high-concurrency data collection, helping improve success rates and reduce ban risks. Start your free trial today!

Sign up with my affiliate link and use discount code RAPID10 to get 10% off.

Swiftproxy logo

Swiftproxy — Premium residential proxies for web scraping, browser automation, AI workflows, and large-scale data collection. Access 80M+ real residential IPs across 190+ countries with rotating and sticky sessions, non-expiring traffic, and support for HTTP, HTTPS, and SOCKS5.

🎁 Free Trial Available

🏷️ 10% OFF with code: PROXY90

Sign up today with my affiliate link!

Table of Contents

Contact

Whether you are using URS for enterprise or personal use, I am very interested in hearing about your use case and how it has helped you achieve a goal. Additionally, please send me an email if you would like to contribute, have questions, or want to share something you have built on top of it.

You can send me an email by clicking on the badge. I look forward to hearing from you!

[ProtonMail][urs project email]

Introduction

This is a comprehensive Reddit scraping tool that integrates multiple features:

Usage Overview

[-h]
[-e]
[-v]

[-t [<optional_date>]]
[--check]

[-r <subreddit> <(h|n|c|t|r|s)> <n_results_or_keywords> [<optional_time_filter>]]
    [-y]
    [--csv]
    [--rules]
[-u <redditor> <n_results>]
[-c <submission_url> <n_results>]
    [--raw]
[-b]
    [--csv]

[-lr <subreddit>]
[-lu <redditor>]

    [--nosave]
    [--stream-submissions]

[-f <file_path>]
    [--csv]
[-wc <file_path> [<optional_export_format>]]
    [--nosave]

"Where’s the Manual?"

[URS Manual][urs manual]

This README has become too long to comfortably contain all usage information for this tool. Consequently, the information that used to be in this file has been moved to a separate manual created with mdBook, a Rust command-line tool for creating books from Markdown files.

Note: You can also find the link in the About sidebar in this repository.

Demo GIFs

Here are all the demo GIFs recorded for URS.

Note: The nd command is nomad, a modern tree alternative I wrote in Rust.

[Subreddit Scraping][subreddit scraping manual link]

![subreddit demo]

Redditor Scraping

redditor demo

[Submission Comments Scraping][submission comments scraping manual link]

submission comments demo

Livestreaming Reddit

livestream subreddit demo

Generating Word Frequencies

frequencies demo

[Generating Wordclouds][wordcloud scraping manual link]

![wordcloud demo]

Checking PRAW Rate Limits

check praw rate limits demo

Displaying Directory Tree

display directory tree demo

readme truncated — read the full docs on github

Frequently asked questions

Is URS free to use?

URS is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does URS do?

Universal Reddit Scraper - A comprehensive Reddit scraping/archival command-line tool.

What is URS written in?

URS is primarily written in Python. Its source is publicly available at https://github.com/JosephLai241/URS, and it has 1,025 GitHub stars.