This TypeScript-based automation bot helps you maximize your Microsoft Rewards points by automatically completing daily tasks, searches, quizzes, and promotional offers. Designed with sophisticated anti-detection measures and human-like behavior patterns to ensure safe, reliable operation.
- π Automated Searches β Desktop and mobile Bing searches with natural patterns
- π Daily Activities β Quizzes, polls, daily sets, and punch cards
- π€ Human-like Behavior β Advanced humanization system to avoid detection
- π‘οΈ Risk Management β Built-in ban detection and prediction with ML algorithms
- β° Automatic Scheduling β Easy configuration for cron (Linux/Raspberry Pi) and Windows Task Scheduler
- π Notifications β Discord webhooks and NTFY push alerts
- π³ Docker Support β Easy containerized deployment
- π Multi-Account β Manage multiple accounts with parallel execution
- π Proxy Support β Optional proxy configuration for enhanced privacy
- Node.js 20+ (version 22 recommended) β Download here
- Git for cloning the repository
- Microsoft account(s) with email and password
The automated setup script handles everything for you:
-
Clone the repository:
git clone https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot.git cd Microsoft-Rewards-Bot -
Run the setup script:
- Windows: Double-click
setup/setup.bator run in PowerShell:.\setup\setup.bat - Linux / macOS / WSL:
bash setup/setup.sh
- Or use npm:
npm run setup
- Windows: Double-click
-
The setup wizard will:
- β
Create and configure
accounts.jsoncwith your credentials - β Install all dependencies automatically
- β Build the TypeScript project
- β Optionally start the script immediately
- β
Create and configure
That's it! You're ready to start earning points. π
For detailed configuration, advanced features, and troubleshooting, visit our comprehensive documentation:
| Topic | Description |
|---|---|
| Getting Started | Detailed installation and first-run guide |
| Configuration | Complete configuration options reference |
| Accounts & 2FA | Setting up accounts with TOTP authentication |
| Dashboard | π Local web dashboard for monitoring and control |
| External Scheduling | Use OS schedulers for automation |
| Docker Deployment | Running in containers |
| Humanization | Anti-detection and natural behavior |
| Notifications | Discord webhooks and NTFY setup |
| Proxy Setup | Configuring proxies for privacy |
| Troubleshooting | Debug common issues and capture logs |
Monitor and control your bot through a local web interface:
# Start dashboard separately
npm run dashboard
# Or enable auto-start in config.jsonc:
{
"dashboard": {
"enabled": true,
"port": 3000
}
}Access at http://localhost:3000 to:
- π View real-time points and account status
- π Monitor live logs with WebSocket streaming
- π Manually sync individual accounts
- βοΈ Edit configuration with automatic backup
- π View historical run summaries and metrics
π Full Dashboard API Documentation
Automatically create new Microsoft accounts with referral link support:
# Create account without referral
npm run creator
# Create account with your referral link
npm run creator https://rewards.bing.com/welcome?rh=YOUR_CODE&ref=rafsrchaeFeatures:
- π― Language-independent (works in any language)
- π Generates strong passwords automatically
- π§ Creates unique email addresses
- π Realistic birthdates (18-50 years old)
- π€ CAPTCHA support (manual solving required)
- πΎ Saves all account details to
accounts-created/directory
What happens:
- Opens browser to Microsoft signup page
- Automatically fills email, password, birthdate, and name
- Waits for you to solve CAPTCHA
- Saves complete account info to file
π Full Account Creator Guide
Configure automatic task scheduling directly from config.jsonc - perfect for Raspberry Pi!
Then simply run:
npm run startThe bot will automatically configure cron (Linux/Raspberry Pi) or Task Scheduler (Windows) for you!
π Full Scheduling Documentation
For containerized deployment with built-in scheduling:
# Ensure accounts.jsonc and config.jsonc exist in src/
docker compose up -d
# View logs
docker logs -f microsoft-rewards-script
# Check status
docker compose psContainer includes:
- β Built-in cron scheduling
- β Automatic timezone handling
- β Random execution delays (anti-detection)
- β Health checks
π Full Docker Guide
The script works great with default settings, but you can customize everything in src/config.jsonc:
{
"search": {
"useLocalQueries": false, // Prioritize Google Trends API (recommended)
"settings": {
"useGeoLocaleQueries": true // Use account country for searches (FR, DE, JP, etc.)
}
},
"queryDiversity": {
"enabled": true, // Mix multiple search sources
"sources": ["google-trends", "reddit", "local-fallback"]
},
"humanization": {
"enabled": true, // Enable natural behavior patterns
"stopOnBan": true // Stop on ban detection
},
"workers": {
"doDesktopSearch": true, // Desktop Bing searches
"doMobileSearch": true, // Mobile Bing searches
"doDailySet": true, // Daily tasks and quizzes
"doMorePromotions": true, // Promotional offers
"doPunchCards": true // Multi-day challenges
},
"execution": {
"clusters": 1, // Parallel account processing
"runOnZeroPoints": false // Skip when no points available
}
}π Complete Configuration Guide
The script automatically completes:
- β Desktop Searches β 30+ searches on Bing (desktop user-agent)
- β Mobile Searches β 20+ searches on Bing (mobile user-agent)
- β Daily Set β Quizzes, polls, and daily activities
- β More Activities β Promotional tasks and special offers
- β Punch Cards β Multi-day challenges and bonus tasks
- β Daily Check-in β Simple check-in for bonus points
- β Read to Earn β Article reading tasks
All while maintaining natural behavior patterns to minimize detection risk.
- Run regularly: Use cron, systemd timers, or Windows Task Scheduler (see docs)
- Use humanization: Always keep
humanization.enabled: truefor safety - Monitor logs: Check for ban warnings and adjust settings if needed
- Multiple accounts: Use the
clusterssetting to run accounts in parallel - Start small: Test with one account before scaling up
- Capture logs: Pipe output to a file or webhook for later review
npm run test: runs the node:test suite with ts-node to validate critical utilities.
- π¬ Join our Discord β Community support and updates
- π Documentation Hub β Complete guides and references
- π Report Issues β Bug reports and feature requests
- π§ Troubleshooting Guide β Debug common issues
Use at your own risk. This script automates interactions with Microsoft Rewards, which may violate Microsoft's Terms of Service. Using automation tools can result in:
β οΈ Account suspension or permanent ban- π« Loss of accumulated points and rewards
- π Restriction from future participation
This project is provided for educational and research purposes only. The developers and contributors:
- Are not responsible for any actions taken by Microsoft against your account
- Do not encourage violating terms of service
- Provide no guarantees regarding account safety
Use responsibly and at your own discretion.
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
You may:
- β Use for personal, non-commercial purposes
- β Modify the code for your own use
- β Share with others (with same restrictions)
- β Submit improvements via pull requests
You may NOT:
- β Use for commercial purposes
- β Sell or monetize this software
- β Remove license/copyright notices
See LICENSE for complete terms.
- Built with Playwright and ReBrowser
- Thanks to all contributors
- Community support via Discord
If you find this project helpful:
- β Star the repository on GitHub
- π¬ Join our Discord community
- π Report bugs and suggest features
- π Contribute to documentation
Made with β€οΈ by the community
Documentation β’ Discord β’ Issues

{ "scheduling": { "enabled": true, // Just set this to true "type": "auto", // Automatically detects Windows/Linux/Raspberry Pi "cron": { "schedule": "0 9 * * *" // Raspberry Pi/Linux: Daily at 9 AM }, "taskScheduler": { "schedule": "09:00" // Windows: Daily at 9:00 } } }