- About This Article
- In a nutshell
- Where does it fit in the Google ecosystem?
- According to the REST reference as of the baseline date, resources such as accounts, adclients, adunits, payments, policyIssues, reports, and sites are provided. Report retrieval is particularly useful for blog operations.
- OAuth 2.0 is a mechanism where
- When using Google APIs from a custom application, the standard practice is to create a project on Google Cloud and configure the target API and OAuth client. It is helpful to think of a Project as a "container that groups API usage settings and authentication credentials."
- General Users / Administrative Staff / Site Operators
- Instead of opening the AdSense dashboard every morning to copy numbers, you can automatically export the previous day's data to a CSV and track trends in Excel. This reduces manual input errors and makes it easier to notice anomalies like "numbers suddenly changed only yesterday."
- Manage OAuth clients, token storage locations, execution accounts, logs, and output destinations. In particular, rather than a design where "everything is placed in GitHub because we can access it," it is crucial to restrict storage to columns that are safe to expose.
- Can integrate into daily batch jobs, dashboards, and reconciliation with other web analytics data. Using Google API Client Libraries allows you to delegate some HTTP requests and authorization handling to language-specific libraries.
- While not an exact equivalent, you can bridge your understanding using the following mental model:
- The following is a sample to understand the structure. IDs are dummies.
- In practice, "secure retention" matters more than "retrieval"
- Pricing, Accounts, and Availability
- Common Misconceptions
- Do not assume that "because it's a Google API, a Service Account works for everything." Since AdSense focuses on user authorization for AdSense data, verify the OAuth scopes and official authentication procedures required by the target method.
- Avoid inadvertently outputting tokens or full responses to failure logs during scheduled processing.
- and other typical items are detected, performing checks that stop commits rather than deleting items after the fact.
- AdSense metrics and dimensions
About This Article
About This Article
This article was created using an automated generation workflow powered by generative AI.
We review official primary information regarding Google's AdSense Management API v2, OAuth 2.0, and client libraries, structuring how to securely retrieve and analyze AdSense management data in a way that is clear for everyone from beginners to operations personnel.Information Verification Date: 2026-09-19
Verification Status: Verified using official Google primary sources. Names, API versions, OAuth Scopes, and official links have been re-verified as of the baseline date.
In a nutshell
The AdSense Management API is an interface for programmatically retrieving and organizing information viewed in the Google AdSense dashboard.
An API (Application Programming Interface) serves as an entry point where programs interact with each other in a specified format instead of humans operating a screen. For example, you can automate processes such as compiling estimated earnings and page views for the past 7 days into a CSV every morning.
Reading this article will help you understand where the AdSense Management API fits into the broader Google ecosystem, what can be automated, why OAuth 2.0 requires user consent, and how to map these concepts to Microsoft-based systems.
Where does it fit in the Google ecosystem?
| Perspective | Positioning |
|---|---|
| Broad Category | Advertising & Monetization / Developer APIs |
| Primary Goal | To retrieve and analyze AdSense management and reporting information without relying solely on manual effort |
| Role of this API | A data retrieval component that connects AdSense with custom scripts and analytical workflows |
| Things used together | Google AdSense, Google Cloud Project, Google Auth Platform / OAuth 2.0, Google API Client Libraries |
| Primary Users | Site operators, analysts, developers |
The AdSense Management API itself does not serve or click ads.It is easiest to think of it as a component that securely connects management information generated in AdSense to external processing.What can it do?
flowchart LR VISITOR[サイト閲覧者] --> SITE[Webサイト] SITE --> ADS[Google AdSense] ADS --> CONSOLE[AdSense管理画面] ADS --> API[AdSense Management API v2] USER[サイト運営者] --> CONSENT[OAuth 2.0で許可] CONSENT --> API API --> SCRIPT[Pythonなどの安全な取得処理] SCRIPT --> REPORT[CSV / 集計表] REPORT --> ANALYSIS[分析・確認]
According to the REST reference as of the baseline date, resources such as accounts, adclients, adunits, payments, policyIssues, reports, and sites are provided. Report retrieval is particularly useful for blog operations.
Process
| What it is used for | Retrieve reports in JSON format by specifying conditions |
|---|---|
reports.generate | Retrieve reports in CSV format |
reports.generateCsv | Generation of saved reports |
| Reuse report settings saved on the AdSense side | For example, you can retrieve items such as |
(estimated earnings), ESTIMATED_EARNINGS(page views), and PAGE_VIEWS(clicks) broken down by date, and pass them to Excel or analytics workflows.CLICKSAuthentication is via OAuth 2.0 — Put simply for beginners
OAuth 2.0 is a mechanism where
instead of handing your Google account password to a program, you grant permission stating "this application is only allowed to view AdSense data". A Scope represents this range of permissions. Google officially provides the following Scopes for the AdSense Management API v2.
Scope
| Meaning | View and manage your AdSense data |
|---|---|
adsense | View your AdSense data |
adsense.readonly | If your sole objective is viewing, prioritize |
to avoid granting more privileges than necessary.adsense.readonlyAn Access Token is like a temporary pass showing the API that authorization has been granted. While it is not a password, it can be abused if leaked, so it should not be stored in GitHub.
sequenceDiagram participant U as サイト運営者 participant A as 自作アプリ participant G as Google OAuth participant S as AdSense API U->>A: レポート取得を開始 A->>G: 必要なScopeで認可を要求 G->>U: AdSense参照を許可しますか? U-->>G: 許可 G-->>A: Access Token A->>S: Token付きでレポート要求 S-->>A: 収益・ページビュー等
Is a Google Cloud Project necessary?
When using Google APIs from a custom application, the standard practice is to create a project on Google Cloud and configure the target API and OAuth client. It is helpful to think of a Project as a "container that groups API usage settings and authentication credentials."
What is important here is that
this does not mean moving your actual AdSense revenue data to Google Cloud. The Project serves as a unit of configuration and authentication for the application calling the API.Concrete Practical Examples
General Users / Administrative Staff / Site Operators
Instead of opening the AdSense dashboard every morning to copy numbers, you can automatically export the previous day's data to a CSV and track trends in Excel. This reduces manual input errors and makes it easier to notice anomalies like "numbers suddenly changed only yesterday."
IT Administrators
Manage OAuth clients, token storage locations, execution accounts, logs, and output destinations. In particular, rather than a design where "everything is placed in GitHub because we can access it," it is crucial to restrict storage to columns that are safe to expose.
Developers
Can integrate into daily batch jobs, dashboards, and reconciliation with other web analytics data. Using Google API Client Libraries allows you to delegate some HTTP requests and authorization handling to language-specific libraries.
How should those with Microsoft experience think about this?
While not an exact equivalent, you can bridge your understanding using the following mental model:
Google Side
| Similar Microsoft Concept | Differences | AdSense Management API |
|---|---|---|
| Using REST APIs like Microsoft Graph | Graph is an API spanning Microsoft 365 and other services, whereas the AdSense API is specialized in the AdSense domain | Google OAuth 2.0 |
| Microsoft identity platform / OAuth 2.0 | Basic authorization concepts are similar, but registration screens, scopes, and target APIs differ | Google Cloud Project |
| The concept of management units when using Azure apps/APIs | Not a 1-to-1 match with Azure subscriptions or Entra app registration | The overarching concept that "dashboard information is read via an API by an app authorized through OAuth" will be easy to grasp for anyone with experience using Microsoft Graph. |
Minimal Python Example for Safe Testing
The following is a sample to understand the structure. IDs are dummies.
contains authentication information, so it must not be saved to GitHub.token.jsonWhat to look for
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/adsense.readonly']
creds = Credentials.from_authorized_user_file('token.json', SCOPES)
service = build('adsense', 'v2', credentials=creds)
result = service.accounts().reports().generate(
account='accounts/pub-0000000000000000', # ダミー
dateRange='LAST_7_DAYS',
dimensions=['DATE'],
metrics=['ESTIMATED_EARNINGS', 'PAGE_VIEWS'],
).execute()
print(result)
Confirm that report rows are returned on a daily basis.What is the condition for success?
Receiving a report corresponding to the specified Dimension / Metric rather than an OAuth authorization error.If you were to change one thing
Changing the period in LAST_7_DAYS and checking how the retrieved range changes makes it easier to understand how the API works.
In practice, "secure retention" matters more than "retrieval"
Do not publish API responses directly to a public repository; extract only the columns necessary for analysis.
date,estimated_earnings,page_views 2026-09-15,0.00,123 2026-09-16,0.00,145
Values in this example are for illustrative purposes. In actual operations, exclude account identifiers, email addresses, OAuth tokens, client secrets, and raw authentication responses from public exposure.
flowchart LR TIMER[systemd timer] --> PY[Python] PY --> API[AdSense Management API] API --> RAW[raw response] RAW --> SAN[必要列抽出 / 匿名化] SAN --> SAFE[safe CSV] SAFE --> ANALYSIS[Excel・分析処理] SAN -. 秘密情報は除外 .-> SECRET[安全な保管領域]
Pricing, Accounts, and Availability
Using the AdSense Management API requires a Google Account with access to the target AdSense data and authentication settings for API usage. Because API usage terms, quotas, and AdSense contract conditions are subject to change in the future, please re-verify the official documentation and Google Cloud Console display during implementation. Pricing conditions that are prone to fluctuation are not stated as fixed for the future.
Common Misconceptions
Is it an API that clicks ads?
No. It is not an API designed to automate ad clicks. It is an API that handles management information, reports, and similar data.
ESTIMATED_EARNINGSAre
figures final amounts?
As the name implies, they are estimated values. Avoid treating them as identical to finalized payout amounts in analysis.
Is it okay to write real account IDs in sample code?
Replace them with dummy values in public code. Design systems to expose neither credentials nor unnecessary identifiers.
Can you read data using only a Service Account since it is an API?
Do not assume that "because it's a Google API, a Service Account works for everything." Since AdSense focuses on user authorization for AdSense data, verify the OAuth scopes and official authentication procedures required by the target method.
Minimum Security Practices to Follow
Use read-only scopes whenever possible if your goal is solely reading data.
Never commit OAuth tokens or client secrets to GitHub.
Place authentication files outside the source tree in an access-restricted location.
Even data obtained from the API should not be completely published unless confidential; keep only the columns required for your purpose.
Avoid inadvertently outputting tokens or full responses to failure logs during scheduled processing.
Understanding via Papanda: Checking to prevent committing Service Account JSON to GitVisible output: PowerShell detects strings resembling private keys or typical credential filenames and issues a warning.private_key、client_email Verify using dummy fixtures rather than real keys. In Daily Code,
and other typical items are detected, performing checks that stop commits rather than deleting items after the fact.
AdSense metrics and dimensions
What kind of service is it, ultimately?The AdSense Management API is an API for securely connecting AdSense management and report information to your own analysis and automated workflows
. Beginners can simply understand it as "an interface that allows programs to read the dashboard." In practice, designing systems to minimize OAuth permissions, protect tokens, and control the retention and exposure of retrieved data is more critical than the retrieval code itself.
