I think the question pretty much sums up my query.
views:
435answers:
3When you use the Google web page to do searches while you're logged into GMail or other Google services, it uses information about your browsing history to modify the results. It can't do that with an API, since it assumes you're doing it for somebody other than yourself.
Also, as @Walden mentioned in his answer, you may be hitting different servers for the two queries, and Google does a "slow sync" between the servers so they might not all have the latest search database or the latest version of the page ranking code.
One cause could be different Google locals. Querying Google.com offers different results than Google.de for the same keyword.
Your Google web search may return different results than my Google web search for the same query. Google is constantly updating its search routines, and often will roll the updates out at different times in different data centers so each data center, and even each cluster in a data center may return different results.
Therefore, the results from the API probably come from a different codebase (version of the codebase) than your web request.