Updated the Bing login URL to redirect to the rewards dashboard.
Quick Setup (Recommended)
Easiest way to get started — download and run:
-
Clone the branch or download the zip.
-
Run the setup script:
-
Windows: double-click
setup/setup.bator run it from a command prompt -
Linux / macOS / WSL:
bash setup/setup.sh -
Alternative (any platform):
npm run setup
-
-
Follow the setup prompts. The script will:
- Rename
accounts.example.json→accounts.json - Ask for Microsoft account credentials
- Remind you to review
config.json - Install dependencies (
npm install) - Build the project (
npm run build) - Optionally start the script
- Rename
That's it — the setup script handles the rest.
Advanced Setup Options
Nix Users
- Install Nix from https://nixos.org/
- Run:
./run.sh
Manual Setup (if setup script fails)
- Copy
src/accounts.example.json→src/accounts.jsonand add accounts. - Edit
src/config.jsonas needed. - Install dependencies:
npm install
- Build:
npm run build
- Start:
npm run start
Docker Setup (Experimental)
Before starting
- Remove local
/node_modulesand/distif you previously built. - Remove old Docker volumes when upgrading from v1.4 or earlier.
- You can reuse older
accounts.json.
Quick Docker (recommended for scheduling)
-
Clone v2 and configure
accounts.json. -
Ensure
config.jsonhas"headless": true. -
Edit
compose.yaml:- Set
TZ(timezone) - Set
CRON_SCHEDULE(use crontab.guru for help) - Optional:
RUN_ON_START=true
- Set
-
Start:
docker compose up -d
- Monitor:
docker logs microsoft-rewards-script
The container randomly delays scheduled runs by ~5–50 minutes to appear more natural.
Usage Notes
- Headless=false cleanup: If you stop the script without closing browser windows, use Task Manager /
npm run kill-chrome-winto close leftover instances. - Scheduling advice: Run at least twice daily. Use
"runOnZeroPoints": falsein config to skip runs with no points. - Multiple accounts: Use
clustersinconfig.jsonto run accounts in parallel.
Configuration Reference
Edit src/config.json to customize behavior.
Core Settings (examples)
| Setting | Description | Default |
|---|---|---|
baseURL |
Microsoft Rewards URL | https://rewards.bing.com |
sessionPath |
Session/fingerprint storage | sessions |
headless |
Run browser in background | false |
parallel |
Run mobile/desktop tasks at once | true |
runOnZeroPoints |
Run when no points available | false |
clusters |
Concurrent account instances | 1 |
Fingerprint Settings
| Setting | Description | Default |
|---|---|---|
saveFingerprint.mobile |
Reuse mobile fingerprint | false |
saveFingerprint.desktop |
Reuse desktop fingerprint | false |
Task Settings (important ones)
| Setting | Description | Default |
|---|---|---|
workers.doDailySet |
Do daily set | true |
workers.doMorePromotions |
Promotional offers | true |
workers.doPunchCards |
Punchcard tasks | true |
workers.doDesktopSearch |
Desktop searches | true |
workers.doMobileSearch |
Mobile searches | true |
workers.doDailyCheckIn |
Daily check-in | true |
workers.doReadToEarn |
Read-to-earn | true |
Search Settings
| Setting | Description | Default |
|---|---|---|
searchOnBingLocalQueries |
Use local queries | false |
searchSettings.useGeoLocaleQueries |
Geo-based queries | false |
searchSettings.scrollRandomResults |
Random scrolling | true |
searchSettings.clickRandomResults |
Random link clicks | true |
searchSettings.searchDelay |
Delay between searches | 3-5 minutes |
searchSettings.retryMobileSearchAmount |
Mobile retry attempts | 2 |
Advanced Settings
| Setting | Description | Default |
|---|---|---|
globalTimeout |
Action timeout | 30s |
logExcludeFunc |
Exclude functions from logs | SEARCH-CLOSE-TABS |
proxy.proxyGoogleTrends |
Proxy Google Trends | true |
proxy.proxyBingTerms |
Proxy Bing Terms | true |
Webhook Settings
| Setting | Description | Default |
|---|---|---|
webhook.enabled |
Enable Discord notifications | false |
webhook.url |
Discord webhook URL | null |
conclusionWebhook.enabled |
Summary-only webhook | false |
conclusionWebhook.url |
Summary webhook URL | null |
Features
Account & Session
- Multi-account support
- Persistent sessions & fingerprints
- 2FA support & passwordless options
Automation
- Headless operation & clustering
- Selectable task sets
- Proxy support & scheduling (Docker)
Search & Rewards
- Desktop & mobile searches
- Emulated browsing, scrolling, clicks
- Daily sets, promotions, punchcards, quizzes
Interactions
- Quiz solving (10 & 30–40 point variants)
- Polls, ABC quizzes, “This or That” answers
Notifications
- Discord webhooks and summary webhooks
- Extensive logs for debugging
Disclaimer
Use at your own risk. Automation may cause suspension or banning of Microsoft Rewards accounts. This project is provided for educational purposes only. The maintainers are not responsible for account actions taken by Microsoft.