This document is for developers who want to use the AdSense Host API v4 to get information about their AdSense account. This document assumes that you're familiar with web programming concepts and web data formats.
Before you start
Get an AdSense account
Get familiar with AdSense
Register your application
To use the AdSense Host API v4 you must register the application you're developing with Google:
- Go to the APIs Console.
- Either sign into your Google account or create an account.
- Create a new project.
- In your newly created project, click the "Request access" link under the AdSense Host API v4.
For OAuth 2.0 applications, please follow the additional steps described in Using OAuth 2.0 to Access Google APIs.
Note: The Google account used for registration should be your developer account, that is, the account that you wish users of your application to see as the developer of the application. This account does not need to be tied to an AdSense login, as users will be granting access to their own accounts while using the application.
Understanding the AdSense Host API v4
The AdSense Host API v4 is built upon some basic AdSense concepts:
- Ad Clients: Ad clients represent an association between an AdSense account and an AdSense product, such as Content Ads or Search Ads. An AdSense account can have one or multiple ad clients.
- Channels: Channels are tools that let you track the performance of a specific page or domain.
- Reports: Reports give you insight into what you're earning, as well as what's having an impact on those earnings. They can be run on an entire account, or on a subset of your inventory, through the use of channels.
The operations currently supported by the API are described in the table below.
|Operation||Description||REST HTTP mappings|
|list||Lists all resources within a collection.||
|get||Gets a specific resource.||
|generate||Generate a result set based on a specified resource. Used only for reports.||
All operations require authentication.
REST is a style of software architecture that provides a convenient and consistent approach to requesting and modifying data.
The term REST is short for "Representational State Transfer." In the context of Google APIs, it refers to using HTTP verbs to retrieve and modify representations of data stored by Google.
In a RESTful system, resources are stored in a data store; a client sends a request that the server perform a particular action (such as creating, retrieving, updating, or deleting a resource), and the server performs the action and sends a response, often in the form of a representation of the specified resource.
In Google's RESTful APIs, the client specifies an action using an HTTP verb such as
DELETE. It specifies a resource by a globally-unique URI of the following form:
Because all API resources have unique HTTP-accessible URIs, REST enables data caching and is optimized to work with the web's distributed infrastructure.
For more information about REST, you may find the following third-party documents useful:
- Building Web Services the REST Way, which is aimed at service providers but provides a good overview of REST
- HTTP 1.1 method definitions; specification for
REST in the AdSense Host API v4
The supported operations map directly to REST HTTP verbs, as described in AdSense Host API v4 operations.
The specific format for AdSense Host API v4 URIs are:
resourceID is the identifier for an ad
client, url channel, custom channel or the reports collection, and
parameters are any parameters to apply to
The format of the
resourceID path extensions
lets you identify the resource on which you are currently operating, for
https://www.googleapis.com/adsensehost/v4.1/adclients https://www.googleapis.com/adsensehost/v4.1/adclients/adClientId https://www.googleapis.com/adsensehost/v4.1/adclients/adClientId/urlchannels ...
The full set of URIs used for each supported operation in the API is summarized in the AdSense Host API v4 Reference document.
Here is an example of how this works in the AdSense Host API v4.
List ad clients:
Every request your application sends to the AdSense Host API v4 must include an authorization token. The token also identifies your application to Google.
About authorization protocols
We recommend using OAuth 2.0 to authorize requests.
If your application has certain unusual authorization requirements, such as logging in at the same time as requesting data access (hybrid) or domain-wide delegation of authority (2LO), then you cannot currently use OAuth 2.0 tokens. In such cases, you must instead use OAuth 1.0 tokens and an API key. You can find your application's API key in the Google APIs Console, in the Simple API Access section of the API Access pane.
Authorizing requests with OAuth 2.0
All requests to the AdSense Host API v4 must be authorized by an authenticated user.
The details of the authorization process, or "flow," for OAuth 2.0 vary somewhat depending on what kind of application you're writing. The following general process applies to all application types:
- When you create your application, you register it with Google. Google then provides information you'll need later, such as a client ID and a client secret.
- Activate the AdSense Host API v4 in the Services pane of the Google APIs Console. (If it isn't listed in the Console, then skip this step.)
- When your application needs access to user data, it asks Google for a particular scope of access.
- Google displays an OAuth dialog to the user, asking them to authorize your application to request some of their data.
- If the user approves, then Google gives your application a short-lived access token.
- Your application requests user data, attaching the access token to the request.
- If Google determines that your request and the token are valid, it returns the requested data.
Some flows include additional steps, such as using refresh tokens to acquire new access tokens. For detailed information about flows for various types of applications, see Google's OAuth 2.0 documentation.
Here's the OAuth 2.0 scope information for the AdSense Host API v4:
||Read/write access to AdSense data.|
To request access using OAuth 2.0, your application needs the scope information, as well as information that Google supplies during application registration (such as the client ID and/or the client secret).
Tip: The Google APIs client libraries can handle some of the authorization process for you. They are available for a variety of programming languages; check the Libraries and Samples page for more details.
Making a request
The final step is making the API request. If you're not using any client libraries, you can take a look at the reference documentation.