What's the big deal? Why do we need to waste Internet bandwidth, server resources, electricity and time in order to donate rice? Why can't they just donate it? It seems to me that all wants is high visibility for its advertisements. But I've created a way around that.

Introducing FreeRice AutoClicker 1.4!

By visiting (Also: mirror) and leaving the window open, you will be donating rice to undernourished people in developing countries--without the hassles and wasted electricity. (If you want to learn vocabulary, go get a vocab book). My script is fast, efficient, and best of all, written in PHP! With it, the FreeRice site will truly be what it should be: just the face of the organization that donates rice to people around the world.

So, how does it work?

All the technical details aside, it grabs the HTML page from the server, processes it, and chooses all four options (so it will get 20 grains of rice with each page-load). It proceeds along the first branch (even if the first option is wrong, which it likely is) to answer the next question--it even displays the synonym if choice one is correct. Along the way, it keeps track of your progress with PHP Sessions. All you need to know is that each load prompts the script to ping the FreeRice server four times, once for each answer choice.

But won't get any more advertising revenue!

If we assume that Average Joe gets half the answers right, essentially buys one ad impression with 10 grains of rice. Since "there are over 29,000 grains of rice in one pound [of] long grain white rice" and "short grain rice", which FreeRice more than likely uses (because it does not state otherwise), "is 3-4 times shorter", there are between 190,000 and 260,000 grains of rice per kg, an average of 220,000 grains. Since "WFP can purchase a 25 kilo sack of rice" with just $8.25, each grain of rice costs somewhere around $0.0000015, making each page impression (on average) worth around $0.000015, which is significantly lower than the market cost of a single ad impression. Therefore, for the 4,768,969,790 grains of rice donated in November (an impressive figure by itself), the cost is merely $7000, a not-so-significant figure.

Let's look at the other side--revenue. At 2 dollars per thousand impressions (which is assuming that ten people each click a 20 cent ad out of every thousand--a severe understatement for such a site) and 476,896,979 impressions, that's $953,792 in potential revenue for the month of November! (perhaps more) Minus the paltry server costs (10 to 100 $100 servers should be more than enough) and cost of rice, that's a significant income for the owner of Even more surprising is the fact that neither FreeRice nor its sister site (which was created in 25 January 2007) is registered as a charity. Therefore, FreeRice is under no obligation to report its money flow, revenue, profits, or to even be truthful--at least some "charities" choose to be honest.

That realization should get every FreeRice fanatic wondering about where all that advertising money really is going--to the pockets of the chief mastermind John Breen, perhaps? When claims that "FreeRice ... does not ... make any money from this" because it "runs the site at no profit", it means that the surplus goes into Breen's wallet. So, the moral of the story is this: gets a 13500% return so you should not feel guilty about donating rice to underprivileged people. Just beware--there is clearly no guarantee that FreeRice actually donates rice at all.

Updates to the script

  1. Updated the data-passing method to pass only the essential form elements
  2. Updated the page-grabbing method to load all four options once and reload every second.
  3. Updated the data-passing method (again). Now it passes data through PHP sessions and a cookie named "progress"
  4. Added a timer so you will know exactly how many seconds (minutes, or even hours) of processing time you've cost me.
  5. Uploaded the client-side php script for those with php installed. Just open the terminal window, cd to directory containing the php file, type php -f freerice_cli.php, and watch it do its magic, all by itself.
  6. Added multithreading to the cli (command line interface) php script and removed the forced sleep. By default it opens ten threads to the server, but you can change that by modifying the line containing $numthreads = 10;. Be careful, though--with the forced sleep off, if you lower the thread-count too much, the server will just block you.
  7. Next step: memorize the correct answers so it won't have to select all four options for words it recognizes

Note: This article/script has been dugg:

The full source code is attached for those interested. Good luck and enjoy donating rice to the needy!

freerice.php3.51 KB
freerice_cli.php4.16 KB


That is just sheer

That is just sheer brilliance.

I donated roughly 12,000 first night, before I clicked off. Well done.

haha, win I'm leaving thison

haha, win I'm leaving thison overnight or until they ban my ip for donating too much rice.

it's actually OriginXT's

it's actually OriginXT's server that's calling up all those pages from freerice :P

So they might ban us.

385040 grains donated last

385040 grains donated last night :)

can you open many instances

can you open many instances of this and have them run all at the same time?

Yes. only

Yes. only blocks out a blitz of requests if they have the same "INFO", the form element that keeps track of who's submitting what. You can open multiple threads and they will affect each other only minimally (1-5%, maybe). Obviously, if you open too many, either FreeRice will catch on, or my server will hate you.

I donated 4.33 million

I donated 4.33 million yesterday.

Which brings up another question, should we have like a cut-off point? If just a handful of us are getting around 10 million a day (if anyone else is leaving their's on all night too), won't we be noticeable after a while?

Here's the thing: I can add

Here's the thing: I can add in random headers and stuff so that freerice won't know we're all using my script. And if you increase the number of threads a lot (maybe to 100 or 500), Freerice will have no way of knowing that we're using bots.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.