Basic Usage
User ID whose inventory you want to scanAliases:
-c, USER_IDPrerequisites
Before scanning, you must download spam detection lists:How It Works
Load Spam Lists
Compiles spam detection lists from:
mgs_invalid_games.json(MetaGamerScore)badge-spam-lists-main/*.txt.zst(Community lists)spam_badges.txt(optional custom list)
Output Files
The scanner creates a timestamped folder with multiple output files:Folder Structure
File Descriptions
scanresults_{USER_ID}_{TIMESTAMP}_BADGES.txt
scanresults_{USER_ID}_{TIMESTAMP}_BADGES.txt
List of Roblox badge URLs that matched spam lists:Usage: Feed this directly to DBR for badge removal:
scanresults_{USER_ID}_{TIMESTAMP}_GAMES.txt
scanresults_{USER_ID}_{TIMESTAMP}_GAMES.txt
List of Roblox game URLs containing spam badges:Usage: Remove all badges from these games:
results.log
results.log
Detailed log with timestamps and source information:
spam_places_list.json
spam_places_list.json
Compiled dictionary of all spam place IDs organized by source:
spam_badges_list.json
spam_badges_list.json
Compiled list of spam badge IDs (if
spam_badges.txt exists):badge_inventory/*.json
badge_inventory/*.json
Raw badge inventory data from Roblox API (one file per page):Useful for manual analysis or debugging.
Example Session
- Command
- Output
- Files Created
Detection Logic
Place ID Matching
For each badge, the scanner checks if its place ID (awarder ID) appears in any spam list:Badge ID Matching
The scanner also checks individual badge IDs againstspam_badges.txt:
Optimization
Once a place is identified as spam:- All future badges from that place are automatically flagged
- Place name lookups are skipped for performance
- Badges are saved without making additional HEAD requests
Using Scan Results
Remove All Found Badges
Use the generatedBADGES.txt file:
Remove by Game (Safer)
Use theGAMES.txt file to remove badges place-by-place:
Removing by game is safer because DBR will only delete badges you actually own from each place, rather than attempting to delete every badge ID found.
Selective Removal
Manually review and edit the output files before deletion:- Open
scanresults_*_BADGES.txtorscanresults_*_GAMES.txt - Remove lines for badges/games you want to keep
- Save the file
- Run DBR with the edited file
Custom Spam Lists
Adding Custom Badge IDs
Create aspam_badges.txt file in the current directory:
spam_badges.txt
File Format
- One badge ID per line
- No URLs, just numeric IDs
- Empty lines are ignored
Performance Considerations
Scan Speed
- Processes 100 badges per page
- API rate limits apply (automatic delays between pages)
- Typical inventory: 2-5 seconds per page
- Large inventories (10,000+ badges): 5-10 minutes
Memory Usage
The scanner uses frozensets for O(1) lookup performance:- Small inventories: < 50 MB RAM
- Large inventories: 50-200 MB RAM
- Badge spam lists: ~10-30 MB RAM
Frozensets provide constant-time lookups regardless of list size, making scans efficient even with large spam databases.
Troubleshooting
Could not compile scan list
Could not compile scan list
Cause: Missing spam detection listsSolution: Download required lists first:
Could not import zstandard python library
Could not import zstandard python library
Cause: Missing
zstandard package (required for .txt.zst files)Solution: Install the package:Error reading file {filename}
Error reading file {filename}
Cause: Corrupted
.txt.zst fileSolution: Re-download badge spam lists:User inventory is private
User inventory is private
Cause: User has privacy settings enabledSolution: User must disable inventory privacy in Roblox settings. Only public inventories can be scanned.
Comparison with Direct Removal
- Inventory Scanning
- Direct Removal
Pros:
- Preview what will be deleted
- No authentication required
- Generate reusable lists
- Review before deletion
- Safe for testing
- Two-step process (scan then delete)
- Requires spam list downloads
- Only detects known spam
Best Practices
Review Before Deleting
Always check the output files before feeding them to DBR for deletion
Keep Lists Updated
Periodically re-download spam lists to catch new badge chains
Backup Results
Save scan results for future reference or analysis
Start with GAMES.txt
Use the games file for safer, place-by-place removal
The scanner generates URLs with proper redirects when possible, but some badge/place URLs may redirect to error pages if the content has been deleted by Roblox.

