# Converted from Google's first-party AdMob Discovery Document.
# source: https://admob.googleapis.com/$discovery/rest?version=v1beta
# revision: 20260731 converted: 2026-08-13 method: derived
openapi: 3.1.0
info:
title: Google AdMob API
version: v1beta
description: 'The AdMob API allows publishers to programmatically get information about their AdMob account. '
contact:
name: Google
url: https://developers.google.com/admob/api/
termsOfService: https://developers.google.com/terms
license:
name: Google APIs Terms of Service
url: https://developers.google.com/terms
x-discovery-revision: '20260731'
x-discovery-source: https://admob.googleapis.com/$discovery/rest?version=v1beta
externalDocs:
description: AdMob API documentation
url: https://developers.google.com/admob/api/
servers:
- url: https://admob.googleapis.com
description: Google AdMob API
tags:
- name: accounts
- name: campaignReport
- name: mediationGroups
- name: mediationAbExperiments
- name: mediationReport
- name: apps
- name: adUnitMappings
- name: networkReport
- name: adUnits
- name: adSources
- name: adapters
paths:
/v1beta/accounts/{accountsId}:
get:
operationId: accounts_get
summary: Gets information about the specified AdMob publisher account.
description: Gets information about the specified AdMob publisher account.
tags:
- accounts
x-resource-name-parameter:
name:
pattern: ^accounts/[^/]+$
description: 'Resource name of the publisher account to retrieve. Example: accounts/pub-9876543210987654'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/PublisherAccount'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
- https://www.googleapis.com/auth/admob.report
/v1beta/accounts:
get:
operationId: accounts_list
summary: Lists the AdMob publisher account that was most recently signed in to from the AdMob UI
description: Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For
more information, see https://support.google.com/admob/answer/10243672.
tags:
- accounts
parameters:
- name: pageSize
in: query
required: false
schema:
type: integer
format: int32
description: Maximum number of accounts to return.
- name: pageToken
in: query
required: false
schema:
type: string
description: The value returned by the last `ListPublisherAccountsResponse`; indicates that this is a continuation
of a prior `ListPublisherAccounts` call, and that the system should return the next page of data.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListPublisherAccountsResponse'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
- https://www.googleapis.com/auth/admob.report
/v1beta/accounts/{accountsId}/campaignReport:generate:
post:
operationId: accounts_campaignReport_generate
summary: Generates Campaign Report based on provided specifications.
description: Generates Campaign Report based on provided specifications.
tags:
- campaignReport
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
description: 'Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateCampaignReportRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateCampaignReportResponse'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
- https://www.googleapis.com/auth/admob.report
/v1beta/accounts/{accountsId}/mediationGroups:
get:
operationId: accounts_mediationGroups_list
summary: List mediation groups under the specified AdMob account
description: List mediation groups under the specified AdMob account. This method has limited access. If you
see a 403 permission denied error, please reach out to your account manager for access.
tags:
- mediationGroups
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
description: 'Required. Resource name of the account to list mediation groups for. Example: accounts/pub-9876543210987654'
parameters:
- name: filter
in: query
required: false
schema:
type: string
description: 'The filter string that uses [EBNF grammar syntax](https://google.aip.dev/assets/misc/ebnf-filtering.txt).
Possible fields to filter by are: - "AD_SOURCE_IDS" - "AD_UNIT_IDS" - "APP_IDS" - "DISPLAY_NAME" - "FORMAT"
- "MEDIATION_GROUP_ID" - "PLATFORM" - "STATE" - "TARGETED_REGION_CODES" Possible filter functions are:
- `IN`: Used to filter fields that represent a singleton including "MEDIATION_GROUP_ID", "DISPLAY_NAME",
"STATE", "PLATFORM", and "FORMAT". - `CONTAINS_ANY`: Used to filter fields that represent a collection
including "AD_SOURCE_IDS", "AD_UNIT_IDS", "APP_IDS", and "TARGETED_REGION_CODES". The filter functions
can be added together using `AND`. `OR` functionality is not supported. Example: filter: IN(DISPLAY_NAME,
"Test Group 1", "Test Group 2") AND IN(PLATFORM, "ANDROID") AND CONTAINS_ANY(AD_SOURCE_IDS, "5450213213286189855")'
- name: pageSize
in: query
required: false
schema:
type: integer
format: int32
description: The maximum number of mediation groups to return. If unspecified or 0, at most 10,000 mediation
groups will be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.
- name: pageToken
in: query
required: false
schema:
type: string
description: The value returned by the last `ListMediationGroupsResponse`; indicates that this is a continuation
of a prior `ListMediationGroups` call, and that the system should return the next page of data.
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListMediationGroupsResponse'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
post:
operationId: accounts_mediationGroups_create
summary: Create a mediation group under the specific AdMob account
description: Create a mediation group under the specific AdMob account. This method has limited access. If
you see a 403 permission denied error, please reach out to your account manager for access.
tags:
- mediationGroups
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
description: 'Required. The parent which owns the mediation group. Format: accounts/{publisher_id}'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MediationGroup'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MediationGroup'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
/v1beta/accounts/{accountsId}/mediationGroups/{mediationGroupsId}:
patch:
operationId: accounts_mediationGroups_patch
summary: Update the specified mediation group under the specified AdMob account
description: Update the specified mediation group under the specified AdMob account. This method has limited
access. If you see a 403 permission denied error, please reach out to your account manager for access.
tags:
- mediationGroups
x-resource-name-parameter:
name:
pattern: ^accounts/[^/]+/mediationGroups/[^/]+$
description: 'Resource name for this mediation group. Format is: accounts/{publisher_id}/mediationGroups/{mediation_group_id}
Example: accounts/pub-9876543210987654/mediationGroups/0123456789'
parameters:
- name: updateMask
in: query
required: false
schema:
type: string
format: google-fieldmask
description: 'List of mediation group fields to be updated. Updates to repeated fields such as items in
a list will fully replace the existing value(s) with the new value(s). Updates to individual values in
a map can be done by indexing by the key. The following field masks are supported for mediation group
updates: - "mediation_group_lines[\"{mediation_group_line_id}\"]" clang-format off - "mediation_group_lines[\"{mediation_group_line_id}\"].ad_unit_mappings[\"{ad_unit_id}\"]"
clang-format on - "mediation_group_lines[\"{mediation_group_line_id}\"].cpm_micros" - "mediation_group_lines[\"{mediation_group_line_id}\"].cpm_mode"
- "mediation_group_lines[\"{mediation_group_line_id}\"].state" - "mediation_group_lines[\"{mediation_group_line_id}\"].display_name"
- "targeting.ad_unit_ids" To update a mediation group with a new mediation group line, use a distinct
negative number for the "mediation_group_line_id". For Example: update_mask { paths: "mediation_group_lines[\"123456789012345\"].cpm_micros"
}'
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
- name: mediationGroupsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MediationGroup'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MediationGroup'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
/v1beta/accounts/{accountsId}/mediationGroups/{mediationGroupsId}/mediationAbExperiments:
post:
operationId: accounts_mediationGroups_mediationAbExperiments_create
summary: Create an A/B testing experiment for a specified AdMob account and a mediation group
description: Create an A/B testing experiment for a specified AdMob account and a mediation group. This method
has limited access. If you see a 403 permission denied error, please reach out to your account manager for
access.
tags:
- mediationAbExperiments
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+/mediationGroups/[^/]+$
description: 'Required. The parent which owns the mediation group. Format: accounts/{publisher_id}/mediationGroups/{mediation_group_id}'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
- name: mediationGroupsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MediationAbExperiment'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MediationAbExperiment'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
/v1beta/accounts/{accountsId}/mediationGroups/{mediationGroupsId}/mediationAbExperiments:stop:
post:
operationId: accounts_mediationGroups_mediationAbExperiments_stop
summary: Stop the mediation A/B experiment and choose a variant
description: Stop the mediation A/B experiment and choose a variant. This method has limited access. If you
see a 403 permission denied error, please reach out to your account manager for access.
tags:
- mediationAbExperiments
x-resource-name-parameter:
name:
pattern: ^accounts/[^/]+/mediationGroups/[^/]+/mediationAbExperiments$
description: 'Name of the mediation group, the experiment for which to choose a variant for. Example:
accounts/pub-9876543210987654/mediationGroups/0123456789/ mediationAbExperiments'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
- name: mediationGroupsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StopMediationAbExperimentRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/MediationAbExperiment'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
/v1beta/accounts/{accountsId}/mediationReport:generate:
post:
operationId: accounts_mediationReport_generate
summary: Generates an AdMob Mediation report based on the provided report specification
description: Generates an AdMob Mediation report based on the provided report specification. Returns result
of a server-side streaming RPC. The result is returned in a sequence of responses.
tags:
- mediationReport
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
description: 'Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateMediationReportRequest'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateMediationReportResponse'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
- https://www.googleapis.com/auth/admob.report
/v1beta/accounts/{accountsId}/apps:
post:
operationId: accounts_apps_create
summary: Creates an app under the specified AdMob account
description: Creates an app under the specified AdMob account. This method has limited access. If you see
a 403 permission denied error, please reach out to your account manager for access.
tags:
- apps
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
description: 'Required. Resource name of the account for which the app is being created. Example: accounts/pub-9876543210987654'
parameters:
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/App'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/App'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
get:
operationId: accounts_apps_list
summary: List the apps under the specified AdMob account.
description: List the apps under the specified AdMob account.
tags:
- apps
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
description: 'Required. Resource name of the account to list apps for. Example: accounts/pub-9876543210987654'
parameters:
- name: pageSize
in: query
required: false
schema:
type: integer
format: int32
description: The maximum number of apps to return. If unspecified or 0, at most 10,000 apps will be returned.
The maximum value is 20,000; values above 20,000 will be coerced to 20,000.
- name: pageToken
in: query
required: false
schema:
type: string
description: The value returned by the last `ListAppsResponse`; indicates that this is a continuation of
a prior `ListApps` call, and that the system should return the next page of data.
- name: accountsId
in: path
required: true
schema:
type: string
description: Path segment of the resource name.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListAppsResponse'
'400':
description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'401':
description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'403':
description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access
to the resource.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'429':
description: RESOURCE_EXHAUSTED — per-project quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
'500':
description: INTERNAL — unexpected server error.
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcStatus'
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
/v1beta/accounts/{accountsId}/adUnitMappings:batchCreate:
post:
operationId: accounts_adUnitMappings_batchCreate
summary: Batch create the ad unit mappings under the specific AdMob account
description: Batch create the ad unit mappings under the specific AdMob account. The maximum allowed batch
size is 100. This method has limited access. If you see a 403 permission denied error, please reach out
to your account manager for access.
tags:
- adUnitMappings
x-resource-name-parameter:
parent:
pattern: ^accounts/[^/]+$
descr
# --- truncated at 32 KB (126 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-admob/refs/heads/main/openapi/google-admob-api-v1beta-openapi.yml