Wednesday, June 11, 2014

Troubleshooting Bing! Rewards Automation

Many people have issues with the script which are relatively easy to understand. Some of the examples include (1, 2, 3, 4, 5). The questions are very similar in nature and in most situations if something like this happens to you, you may save your time explaining me in vague form how "strangely the script works" and you may save my time pointing you to the same steps to troubleshoot the problem. This page is designed to troubleshoot the issue yourself as far as you can.

Steps to understand

  • What script version do you use?
    $ --version
    $ git pull
  • To understand the retries you should start from the project page, where it says:
    *) Bing! Rewards Automation version 3.0 (added events support - notifications and retries)
    *) Configuration for Bing! Rewards Automation script
  • If Bing! Rewards Automation Script prints no stack trace, but you have a very strong feeling that something exceptional happens, try to comment events section in your config.xml temporarily. That also may help if you see the message like this:
    For account xxx:
    And then goes nothing after that.
  • The script supports PC Searches and Mobile searches. To see if this happens for the mobile searches or the PC searches you should check the last corresponding message, it should say Running mobile searches or Running PC searches.
  • If the script emits:
    The System Cannot Find the Path Specified.
    Like in this case, that means you can resolve the issue yourself.
  • Note that if you abuse Bing! by doing your searches one after another with no delay, Bing! will ban you.

I don't get it

If after running the above steps you can't figure out what's happening, open an issue on the GitHub project page. The issue must include
  • The message:
    I have tried the troubleshooting guide and here is what I get
  • Bing! Rewards Automation Script version
  • Python version
  • OS type
  • On what type of searches that happens: PC / Mobile / All
  • Stack trace
  • Steps to reproduce


  1. You are a genius, my friend. Thanks for letting us see how this would be performed in a python situation. I'm currently moving to linux and had no problems running this at all with OpenSuse. I would like to as well work on a gtk-c++ version of something similar. Do you have any tips for this since I am only a moderate programmer in the languages of Python, PHP, HTML, BASIC, C# and typically everything Visual(M$)?

    1. Yes, I have a tip for you, my friend. Don't do it in C++. The reason is that Bing! Rewards Automation Script is primarily a parser. I wouldn't write a parser in C++. Just imagine all that nightmare of working with strings. That doesn't worse it in my opinion. If you feel really passionate about C++, you'd better switch to another type of tasks, then.

      The variety of languages exists for us to pick the best for the task. We shouldn't solve every possible task with one language only. You can not write OS in C#, Java or Python. The same way it's not good at all to write a parser in C++.

    2. If you prefer low-level, check out my other project - Binary Clock -

  2. hi, I tried to set up the cron job and it worked fine for one account of out a few. I think I had everything right. Do you have an idea of what could possibly be wrong? basically only the first account was run in the config.xml file. thanks!

  3. thanks for the hard work sergey, I have a raspberry pi running raspbmc.
    I am new to git but found something, I do not understand it yet. when you clone a respository I see two main trees ../home/bingrewards......files... and /home/bingrewards/bin/......files.
    I figured the bin was the version pulled down from the repository.

  4. How can I make the cronjob entry just provide the full report in the log, instead of showing all the details. I know it will force a full report with the -r at the end of a run , but is there a way to just get the full report only.

    1. there is no such functionality

    2. thanks, I am thinking i can just modify the cron job/script to awk for the lines after FULL REPORT.

    3. you can do that or you can add an extra functionality to - see Events section of

    4. for quick fix I just did the following,
      python2 /home/bingrewards/ 2>&1 |egrep "FINAL REPORT" -A15 | gzip > /home/bingrewards/var/log/bingrewards/`date "+\%Y-\%m-\%dT\%H:\%M:\%S"`.log.gz
      per advice from a buddy.

  5. Thought I posted this. but it got erased. Wanted to share some instructions to test on a raspberry pi/raspbmc

    Raspbmc instructions
    as pi user
    sudo apt-get install git-core

    Setup mail requirements

    sudo apt-get install mailx
    sudo apt-get install ssmtp
    sudo apt-get install mailutils

    sudo vi /etc/ssmtp/ssmtp.conf
    Set your email address and password , like the following.
    AuthPass=(your password)

    Test mail for functionality
    echo "Test text" | mail -s "Test Mail"

    Setup user
    pi@raspbmc:~$ sudo useradd -mU bingrewards
    setup user password
    pi@raspbmc:~$ sudo passwd bingrewards
    Enter new UNIX password:
    pi@raspbmc:~$ su bingrewards

    Setup GIT CLONE
    Tried to clone the respository but got errors.
    bingrewards@raspbmc:/home/pi$ git clone -- ~/bin
    Cloning into '/home/bingrewards/bin'...
    error: Problem with the SSL CA cert (path? access rights?) while accessing
    fatal: HTTP request failed

    Setup ssl cert
    Followed the guide here

    pi@raspbmc:~$ sudo git config --global http.sslVerify true
    pi@raspbmc:~$ sudo apt-get install ca-certificates

    as bingrewards user
    create .gitconfig in /home/bingrewards directory
    bingrewards@raspbmc:~$vi .gitconfig
    sslVerify = true
    sslCAinfo = /etc/ssl/certs/ca-certificates.crt
    # email =
    # name = derekmolloy

    bingrewards@raspbmc:~$ git clone -- ~/bin
    Cloning into '/home/bingrewards/bin'...
    remote: Counting objects: 548, done.
    remote: Compressing objects: 100% (12/12), done.
    remote: Total 548 (delta 3), reused 0 (delta 0)
    Receiving objects: 100% (548/548), 183.80 KiB, done.
    Resolving deltas: 100% (344/344), done.

    git init===not sure if this is needed

    to pull code from git repository
    bingrewards@raspbmc:~$ git pull --


    1. SETUP .bashrc to reference the local config dir, by adding the following export line at the top
      bingrewards@raspbmc:~$ vi .bashrc
      export LOCAL_CONFIG_DIR=/home/bingrewards/notify

      Edit config.xml and test run
      bingrewards@raspbmc:~$vi config.xml

      enter your account details and save.

      Test running the script

      If successful go on to cron, I was not. Mine errored out on the config.xml as it was pointing to scripts in the wrong place and capitalization..
      After running script I got this error:

      /bin/sh: 1: /home/BingRewards/bin/BingRewards/notify/ not found

      Example of original entry in config.xml (wrong) Notice the capital BingRewards and wrong directory referenced, this install does not have /home/bingrewards/bin/bingrewards/notify directory.

      inside config.xml
      notify cmd="/home/BingRewards/bin/BingRewards/notify/ --------------wrong

      notify cmd="/home/bingrewards/notify/ ----capitalization and dir fixed.
      I had to do this for all the scripts referenced in the config.xml.


    2. Had to setup cron inside xbmc used this site as reference
      In the Raspbmc GUI under Programs -> Raspbmc Settings -> System Configuration -> Service Management -> Cronjob Scheduler

      to validate cron is setup

      service cron status
      pi@raspbmc:/home/bingrewards/var/log/bingrewards$ service cron status
      cron start/running, process 2944

      set crontab

      (confused about git usage) all of the scripts are pointing to /home/bingrewards/bin/, but I removed the "bin"

      0 1 * * * sleep $(($RANDOM \% 120))m && python2 /home/bingrewards/ 2>&1 | gzip > /home/bingrewards/var/log/bingrewards/`date "+\%Y-\%m-\%dT\%H:\%M:\%S"`.log.gz


      Side questions:
      1. git, and how bin directory is used
      2.why setup a when mailx exists on the box
      3. how to setup cron script that runs to only show the full report instead of all the details.

    3. Thank you for all of this information, it helped me debug a problem

  6. Hey Sergey will you contact me

  7. Yeah accounts keep getting banned.

  8. I keep getting told my accounts are banned or temporarily banned, but I can still login to them. Also, browser based bots still work, manual searching works, and I can redeem. Anyone know how I can fix this?

    1. you can open an issue on the github project page