13.1. Introducing the AdWords API
Google is committed to making access to its software available programmatically. The mechanism for providing this access is to publish APIs (application program interfaces) that can be invoked remotely, as web services.
APIs aren't the only way to programmatically interact with Google applications. For example, you can create a plug-in for the Google Deskbar by writing an application using a .NET language such as C# and compiling it to a DLL (dynamic link library) file.
There are probably a number of good reasons for Google to make its APIs available, including the convenience it provides to major, technically sophisticated customers. But I think the most important reason that Google has opened up its software is to encourage innovation. The developer community may well come up with functionality that hasn't occurred to Google.
13.1.1. The Ecosystem of Google APIs
There seem to be more Google APIs every day. You should check the Google Code page, http://code.google.com/apis.html, which describes and provides links to the documentation for specific APIs; you never know what new API might pop up.
As of this writing, the following Google APIs are available to developers:
The Google AdWords API lets programmers write code that interacts directly with all aspects of the AdWords program.
Blogger Atom API
The Blogger Atom API can be used to programmatically interact with blogs using the Blogger Atom format, creating new posts, editing existing posts, and more.
Desktop Search API
The Google Desktop Search API lets developers use Google Desktop Search in their own Windows applications. This API can also be used to add new file formats to Google Desktop Search for indexing.
Web Search API
The Google Web Search API , also called the Web APIs service, is the first of the Google APIs, and arguably the most significant, as search is Google's most important function. This API allows you to search the Google index programmatically with a query generated in your code. You can find information about how to program with the Web Search API in my book Building Research Tools with Google for Dummies (Wiley).
The Google API Application Mashup
It's easy to think of creative applications that use multiple APIs. For example, an AdWords API application might also provide searching capabilities. You can also consider combining Google API applications with data from other kinds of programmatic access. Combining the strengths of several applications this way is sometimes called a mashup.
For example, the most effective uses of the Google Maps API so far have combined Google maps with information obtained from other sources, for example, the locations of real estate classified advertisers.
13.1.2. Who Can Best Benefit from the AdWords API?
The AdWords API is intended to benefit organizations with considerable technical savvy and development expertise at their disposal. The AdWords program tools work pretty well without any programming. For example, using the AdWords report scheduling mechanism, you are already able to automate most reporting tasks. Since this is the case, why bother with a programmatic interface?
The time and expense involved in creating custom AdWords API applications begins to make sense for a couple of kinds of AdWords advertisers:
Extremely large advertisers that are managing hundreds, thousands, or even tens of thousands of AdWords campaigns every day; for example, an auction site such as eBay or an online retailer such as Amazon with a huge number of inventory items
Organizations that are involved in professional AdWords account management and are tasked with keeping AdWords campaigns optimal for many different clients, for example, an advertising agency that handles AdWords for many client accounts
In these kinds of situations, the large advertiser or third-party manager may well have developed a custom work flow that can be automatically integrated with AdWords using the API. In addition, ad text and keyword management may be optimized using proprietary methodology that can be usefully codified in an AdWords API application.