Skip to content

Obsidian-wtf/Microsoft-Rewards-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Microsoft Rewards Bot Logo

Microsoft Rewards Bot

Automate your Microsoft Rewards points collection

Discord GitHub Version


πŸ’‘ What is this?

A TypeScript bot that automatically earns Microsoft Rewards points by completing:

  • πŸ” Desktop & mobile Bing searches
  • πŸ“‹ Daily quizzes, polls, and activities
  • 🎁 Promotional offers and punch cards
  • πŸ“š Read-to-earn tasks

Built with anti-detection to work safely and reliably.


✨ Features

  • πŸ€– Human-like behavior β€” Natural search patterns
  • ⏰ Auto-scheduling β€” Set it and forget it
  • οΏ½ Multi-account support β€” Manage multiple accounts
  • πŸ”” Notifications β€” Discord webhooks & mobile alerts
  • 🐳 Docker ready β€” Easy containerized deployment
  • 🌐 Proxy support β€” Enhanced privacy (optional)

πŸš€ Quick Start

Prerequisites

  • Node.js 20+ (v22 recommended) β€” Download
  • Microsoft account(s) with email + password

Installation

# 1. Download the project
git clone https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot.git
cd Microsoft-Rewards-Bot

# 2. Install dependencies
npm install

# 3. Setup and run
npm run setup

That's it! The wizard will guide you through account setup and start earning points.

πŸ“– Need Help?

First time using the bot? β†’ πŸ“˜ Getting Started Guide

The complete guide covers:

  • βœ… Detailed installation steps
  • βœ… Creating Microsoft accounts with referrals (+7,500 points/month!)
  • βœ… Setting up 2FA authentication
  • βœ… Configuration options
  • βœ… Troubleshooting common issues

πŸ“š Documentation

New to the bot? Start here: πŸ“˜ Getting Started Guide

Need specific info? Check the πŸ“– Documentation Hub

πŸ“‘ Quick Links
Guide Description
Getting Started Complete installation tutorial
Accounts & 2FA Setup accounts with authentication
Configuration Customize bot behavior
Scheduling Automate with cron/Task Scheduler
Notifications Discord & mobile alerts
Troubleshooting Fix common issues

πŸ“Š Dashboard (BETA)

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


πŸ†• Account Creator (BETA)

Automatically create new Microsoft accounts with advanced security features:

# Interactive mode (asks everything)
npm run creator

# With specific recovery email (auto-detected, no flag needed!)
npm run creator https://rewards.bing.com/welcome?rh=YOUR_CODE -y backup@gmail.com

✨ Features:

  • 🎯 Language-independent β€” Works in any language
  • πŸ” Strong passwords β€” Automatically generated (12-16 chars)
  • πŸ“§ Realistic emails β€” 200+ name database for natural-looking addresses
  • πŸŽ‚ Natural birthdates β€” Random age 18-50 years old
  • πŸ›‘οΈ Recovery email β€” Optional backup email for account recovery
  • πŸ”’ 2FA support β€” TOTP authentication with Google Authenticator
  • πŸ”‘ TOTP secrets β€” Extracts and saves secret keys
  • πŸ’Ύ Complete backups β€” Saves all details including recovery codes
  • πŸ€– CAPTCHA support β€” Manual solving (human verification)
  • οΏ½ Organized storage β€” Individual files per account

πŸŽ›οΈ Command Arguments (SIMPLIFIED!):

  • <url> β€” Referral URL (auto-detected if starts with http)
  • <email> β€” Recovery email (auto-detected if contains @)
  • -y β€” Auto-accept mode (enables recovery + 2FA automatically)

That's it! No more confusing flags. πŸŽ‰

βš™οΈ How It Works:

Command Recovery Email 2FA Notes
npm run creator ❓ Prompts ❓ Prompts Interactive mode
npm run creator -y βœ… Prompts for email βœ… Enabled Auto-accept all
npm run creator -y backup@gmail.com βœ… Uses provided email βœ… Enabled Full automation
npm run creator URL -y βœ… Prompts for email βœ… Enabled With referral
npm run creator URL -y backup@gmail.com βœ… Uses provided email βœ… Enabled Complete setup

πŸ“‹ What happens:

  1. Creates Microsoft account (email, password, birthdate, names)
  2. Enrolls in Microsoft Rewards (if referral URL provided)
  3. [Optional] Adds recovery email with verification
  4. [Optional] Sets up 2FA with TOTP (Google Authenticator compatible)
  5. Extracts and saves TOTP secret key and recovery code
  6. Saves complete account info to accounts-created/ directory

πŸ” Saved Information:

  • Email and password
  • Full name and birthdate
  • Referral URL (if used)
  • Recovery email (if added)
  • TOTP secret key (for authenticator apps)
  • 5-part recovery code (emergency access)

πŸ“– Full Account Creator Guide


⏰ Automatic Scheduling

Configure automatic task scheduling directly from config.jsonc - perfect for Raspberry Pi!

{
  "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
    }
  }
}

Then simply run:

npm start

The bot will automatically configure cron (Linux/Raspberry Pi) or Task Scheduler (Windows) for you!

πŸ“– Full Scheduling Documentation


🐳 Docker Quick Start

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 ps

Container includes:

  • βœ… Built-in cron scheduling
  • βœ… Automatic timezone handling
  • βœ… Random execution delays (anti-detection)
  • βœ… Health checks

πŸ“– Full Docker Guide


βš™οΈ Configuration Highlights

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


🎯 What Gets Automated

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.


πŸ’‘ Usage Tips

  • Run regularly: Use cron, systemd timers, or Windows Task Scheduler (see docs)
  • Use humanization: Always keep humanization.enabled: true for safety
  • Monitor logs: Check for ban warnings and adjust settings if needed
  • Multiple accounts: Use the clusters setting 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

βœ… Tests

  • npm run test: runs the node:test suite with ts-node to validate critical utilities.

πŸ†˜ Need Help?


⚠️ Disclaimer

This bot automates Microsoft Rewards interactions, which may violate their Terms of Service.

Risks:

  • ⚠️ Account suspension or ban
  • 🚫 Loss of points and rewards

Educational purposes only. Use at your own risk.


πŸ“„ License

CC BY-NC-SA 4.0 β€” Personal use only, no commercial use.

See LICENSE for details.


⭐ Star the repo β€’ πŸ’¬ Join Discord β€’ οΏ½ Documentation

Made with ❀️ by the community