{"id":49308857,"url":"https://github.com/mattqdev/famous-roblox-users-finder","last_synced_at":"2026-04-26T11:03:50.081Z","repository":{"id":345624442,"uuid":"1186699217","full_name":"mattqdev/famous-roblox-users-finder","owner":"mattqdev","description":"CLI tool to scan a CSV with Roblox usernames and find users with a large following — concurrent, retries, two output reports.","archived":false,"fork":false,"pushed_at":"2026-03-19T23:38:07.000Z","size":361,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-20T14:16:08.453Z","etag":null,"topics":["automation","cli","csv","followers","python","roblox","roblox-api","roproxy","scraper","seller-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattqdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-19T22:39:45.000Z","updated_at":"2026-03-19T23:38:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mattqdev/famous-roblox-users-finder","commit_stats":null,"previous_names":["mattqdev/famous-roblox-users-finder"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mattqdev/famous-roblox-users-finder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattqdev%2Ffamous-roblox-users-finder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattqdev%2Ffamous-roblox-users-finder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattqdev%2Ffamous-roblox-users-finder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattqdev%2Ffamous-roblox-users-finder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattqdev","download_url":"https://codeload.github.com/mattqdev/famous-roblox-users-finder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattqdev%2Ffamous-roblox-users-finder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32294592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli","csv","followers","python","roblox","roblox-api","roproxy","scraper","seller-tools"],"created_at":"2026-04-26T11:03:47.762Z","updated_at":"2026-04-26T11:03:50.058Z","avatar_url":"https://github.com/mattqdev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔍 famous-roblox-users-finder\n\nA fast, production-grade CLI tool that takes a Roblox seller/purchaser CSV report and identifies **\"famous\" users** — those who exceed a configurable follower threshold. Built for game developers and marketplace sellers who want to spot high-profile buyers in bulk, without manual lookups.\n\n![full_results.csv Preview](https://raw.githubusercontent.com/mattqdev/famous-roblox-users-finder/main/images/preview.png)\n\n---\n\n## ✨ Features\n\n- **Concurrent scanning** — scans multiple users in parallel via a configurable thread pool\n- **Exponential backoff with jitter** — automatically retries failed API calls without hammering the endpoint\n- **Live progress bar** — real-time feedback via `tqdm` (degrades gracefully if not installed)\n- **Deduplication** — skips repeated user IDs before scanning, saving time and requests\n- **Two output reports** — a focused famous-users CSV and a full merged results CSV\n- **Structured logging** — logs to both console and a `.log` file simultaneously\n- **Graceful Ctrl+C handling** — partial results are saved if you interrupt mid-scan\n- **Dry-run mode** — preview what would be scanned without making any API requests\n- **Fully configurable CLI** — every parameter is a flag; no need to edit the source\n\n---\n\n## 📋 Requirements\n\n- Python **3.8+**\n- Dependencies listed in [`requirements.txt`](requirements.txt)\n\nInstall dependencies with:\n\n```bash\npip install -r requirements.txt\n```\n\n---\n\n## 🚀 Quick Start\n\n```bash\n# 1. Clone the repo\ngit clone https://github.com/your-username/famous-roblox-users-finder.git\ncd famous-roblox-users-finder\n\n# 2. Install dependencies\npip install -r requirements.txt\n\n# 3. Place your CSV in the data/ folder\nmkdir -p data\ncp /path/to/sellerReport.csv data/sellerReport.csv\n\n# 4. Run the scanner\npython roblox_follower_scanner.py\n```\n\n---\n\n## 📂 Project Structure\n\n```\nfamous-roblox-users-finder/\n├── roblox_follower_scanner.py   # Main script\n├── requirements.txt             # Python dependencies\n├── .gitignore                   # Files excluded from git\n├── data/\n│   └── sellerReport.csv         # ← Put your input CSV here\n└── README.md\n```\n\n---\n\n## 🖥️ How It Works\n\n```\nInput CSV\n  └─► Deduplicate user IDs\n        └─► ThreadPoolExecutor (N workers)\n              └─► GET /v1/users/{id}/followers/count  (roproxy)\n                    ├─ Success  → record follower count\n                    └─ Failure  → exponential backoff → retry up to N times\n                          │\n                          ▼\n              ┌─────────────────────────────┐\n              │   follower_count \u003e= threshold│\n              │   → write to famous_users.csv│\n              └─────────────────────────────┘\n                          │\n                          ▼\n              full_results.csv  (all users + original columns merged)\n              scanner.log       (full debug log)\n```\n\n1. The script reads your input CSV and extracts all values from the `Purchaser Id` column (configurable).\n2. User IDs are deduplicated so each Roblox account is only looked up once.\n3. A thread pool fires off concurrent requests to the [RoProxy](https://roproxy.com) Roblox API mirror.\n4. Each request uses exponential backoff with random jitter on failure — starting at 1s, doubling each retry, up to 8 attempts by default.\n5. HTTP 404 responses (deleted/invalid accounts) are short-circuited immediately without retrying.\n6. Famous users (≥ threshold followers) are written to `famous_users.csv` in real time as they're found.\n7. Once all users are scanned, the full results are merged back with your original CSV columns and saved to `full_results.csv`.\n\n---\n\n## ⚙️ CLI Options\n\nRun `python roblox_follower_scanner.py --help` to see all options:\n\n| Flag                | Default                 | Description                                 |\n| ------------------- | ----------------------- | ------------------------------------------- |\n| `--input`           | `data/sellerReport.csv` | Path to the input CSV file                  |\n| `--purchaser-col`   | `Purchaser Id`          | Column name containing Roblox user IDs      |\n| `--threshold`       | `5000`                  | Minimum followers to be considered \"famous\" |\n| `--output-famous`   | `famous_users.csv`      | Output path for the famous-users report     |\n| `--output-full`     | `full_results.csv`      | Output path for the full merged results     |\n| `--log-file`        | `scanner.log`           | Path to the log file                        |\n| `--workers`         | `4`                     | Number of concurrent threads                |\n| `--max-attempts`    | `8`                     | Max retries per user on API failure         |\n| `--base-wait`       | `1.0`                   | Initial backoff wait in seconds             |\n| `--rate-limit-wait` | `0.15`                  | Pause between requests per thread (seconds) |\n| `--verbose` / `-v`  | off                     | Enable verbose debug logging                |\n| `--dry-run`         | off                     | Preview scan without making API requests    |\n\n### Examples\n\n```bash\n# Default run\npython roblox_follower_scanner.py\n\n# Custom input file and higher threshold\npython roblox_follower_scanner.py --input data/myReport.csv --threshold 10000\n\n# Faster scan with more workers\npython roblox_follower_scanner.py --workers 8\n\n# Use a different column name for user IDs\npython roblox_follower_scanner.py --purchaser-col \"User ID\"\n\n# Preview without making requests\npython roblox_follower_scanner.py --dry-run\n\n# Verbose debug output\npython roblox_follower_scanner.py -v\n```\n\n---\n\n## 📊 Output Files\n\nAfter a successful run, three files are produced:\n\n### `famous_users.csv`\n\nContains only users who met or exceeded the follower threshold. Written **in real time** as the scan progresses — so you can open it while the script is still running.\n\n```\nUserID,Followers\n1234567,82400\n8901234,15200\n...\n```\n\n### `full_results.csv`\n\nAll original rows from your input CSV, with four new columns appended:\n\n| Column      | Description                                         |\n| ----------- | --------------------------------------------------- |\n| `Followers` | Follower count returned by the API                  |\n| `IsFamous`  | `True` if the user met the threshold                |\n| `Attempts`  | How many API attempts were needed                   |\n| `Error`     | Error message if the lookup failed, otherwise empty |\n\nThis is how full_results.csv looks:\n![full_results.csv Preview](https://raw.githubusercontent.com/mattqdev/famous-roblox-users-finder/main/images/preview.png)\n\n### `scanner.log`\n\nFull debug log of the entire run — including retry attempts, timing, and the final summary. Useful for diagnosing failures or auditing a scan.\n\n---\n\n## 📝 Input CSV Format\n\nYour input CSV must have a column containing Roblox user IDs. By default the script looks for a column named `Purchaser Id` — this matches the export format from the Roblox marketplace seller dashboard. If your column is named differently, pass `--purchaser-col \"Your Column Name\"`.\n\nExample input:\n\n```\nTransaction Id,Purchaser Id,Item Name,Price\nTXN001,1234567,Cool Sword,50\nTXN002,8901234,Red Hat,25\nTXN003,1234567,Blue Shirt,10\n```\n\nThe duplicate `1234567` in the example above will be scanned only once.\n\n---\n\n## ⚠️ Notes \u0026 Limitations\n\n- Note that most of the people with high amount of followers are botted, so not all of them are really famous\n- This tool uses [RoProxy](https://roproxy.com), a public Roblox API proxy. It is not affiliated with or endorsed by Roblox Corporation.\n- Be mindful of rate limits. The default `--rate-limit-wait 0.15` and `--workers 4` settings are conservative. Increasing workers aggressively may trigger rate limiting.\n- Roblox accounts that have been deleted or banned return a 404 and are skipped gracefully.\n- This tool reads **public** follower counts only. No authentication is required.\n\n---\n\n## 📄 License\n\nMIT — see [`LICENSE`](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattqdev%2Ffamous-roblox-users-finder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattqdev%2Ffamous-roblox-users-finder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattqdev%2Ffamous-roblox-users-finder/lists"}