Google plays in what is called multi-sided markets. They have to
provide search services that are appreciated by end customers searching
for information. At the same time, they should provide advertisers with
the ability to present relevant information to the searching consumers.
Advertisers should be supported as they provide information for
customers coming to Google's website or even to other website
properties (Google does this using the AdWords and AdSense platform).
Another constituent they should consider is the developers who provides
services that work on top of Google's services. For example, Prudential
has a
service
to show listed properties in the Chicago area and they present property
information using Google Earth. Currently, Google provides API-based
access to all these constituents.
Google also benefits
from what are called network effects. As a result, as more people use
Google for searches, more advertisers come to it. More advertisers
create more relevant sponsored links and this results in greater
revenues for Google and this revenue gets invested in better search
engine technology and better search engine results in more advertisers
and so on. Here is the puzzle: should Google charge every one (other
than end-users) per API call or should they simply charge the
advertisers a transaction fee for any ad served to the end-user?