Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/google-admob-mediationgroups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Google AdMob Mediation Groups 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
servers:
- url: https://admob.googleapis.com
description: Google AdMob API
security:
- GoogleOAuth2:
- https://www.googleapis.com/auth/admob.readonly
- https://www.googleapis.com/auth/admob.report
tags:
- name: mediationGroups
paths:
/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'
components:
schemas:
MediationGroup:
type: object
description: Describes an AdMob Mediation group.
properties:
name:
type: string
description: 'Resource name for this mediation group. Format is: accounts/{publisher_id}/mediationGroups/{mediation_group_id} Example: accounts/pub-9876543210987654/mediationGroups/0123456789'
mediationGroupLines:
type: object
description: The mediation lines used for serving for this mediation group. Key is the ID of the mediation group line. For creation, use distinct negative values as placeholder.
additionalProperties:
$ref: '#/components/schemas/MediationGroupMediationGroupLine'
mediationAbExperimentState:
type: string
description: Output only. The state of the mediation a/b experiment that belongs to this mediation group.
enum:
- EXPERIMENT_STATE_UNSPECIFIED
- RUNNING
- NOT_RUNNING
x-enum-descriptions:
- Default value for an unset field. Do not use.
- The mediation group has an experiment in the RUNNING state.
- There is no experiment in the RUNNING state in the mediation group.
readOnly: true
state:
type: string
description: The status of the mediation group. Only enabled mediation groups will be served.
enum:
- STATE_UNSPECIFIED
- ENABLED
- DISABLED
x-enum-descriptions:
- Default value for an unset field. Do not use.
- The mediation group is active and used to serve ads or to collect stats.
- The mediation group has been disabled and is no longer serving ads or collecting stats. Disabled mediation groups can be re-enabled.
mediationGroupId:
type: string
description: 'The ID of the mediation group. Example: "0123456789". This is a read only property.'
targeting:
$ref: '#/components/schemas/MediationGroupTargeting'
displayName:
type: string
description: User provided name for the mediation group. The maximum length allowed is 120 characters.
MediationGroupTargeting:
type: object
description: Set of criteria targeted by this mediation group. For example, a mediation group can target specific ad unit IDs, platform, format and geo location.
properties:
targetedRegionCodes:
type: array
description: The Unicode country/region code (CLDR) of a location, such as "US". Unset if this mediation group targets all available regions. For more information, see http://www.unicode.org/reports/tr35/#unicode_region_subtag.
items:
type: string
platform:
type: string
description: 'Describes the platform of the app. Examples: "IOS", "ANDROID".'
format:
type: string
description: 'Ad format targeted by this mediation group. Examples: "BANNER", "NATIVE".'
adUnitIds:
type: array
description: 'Ad units targeted by this mediation group. Example: "ca-app-pub-1234/8790".'
items:
type: string
excludedRegionCodes:
type: array
description: The Unicode country/region code (CLDR) of a location, such as "US". Unset if this mediation group does not exclude any region.
items:
type: string
idfaTargeting:
type: string
description: The parameter can be used to target ad requests based on the availability of the IDFA. If set to ALL, the mediation group applies to all ad requests (with or without IDFA). If set to AVAILABLE, the mediation group applies to ad requests with IDFA. If set to NOT_AVAILABLE, the mediation group applies to ad requests without IDFA. Doesn't need to be specified for an ANDROID device.
enum:
- IDFA_TARGETING_UNSPECIFIED
- ALL
- AVAILABLE
- NOT_AVAILABLE
x-enum-descriptions:
- Default value. This value is unused.
- All the devices are targeted, regardless of IDFA availability.
- Only the devices with IDFA availability are targeted.
- Only the devices without IDFA availability are targeted.
MediationGroupMediationGroupLine:
type: object
description: Settings for an ad network used by a mediation group.
properties:
cpmMicros:
type: string
format: int64
description: The CPM for this allocation line. $0.01 is the minimum allowed amount. For LIVE CPM modes, the default amount is $0.01. This value is ignored if `cpm_mode` is `LIVE`. **Warning:** "USD" is the only supported currency at the moment. The unit is in micros.
adSourceId:
type: string
description: The ID of the ad source this mediation line is associated with.
experimentVariant:
type: string
description: Output only. The Mediation A/B experiment variant to which the mediation group line belongs to.
enum:
- VARIANT_UNSPECIFIED
- VARIANT_A
- VARIANT_B
- ORIGINAL
x-enum-descriptions:
- Default value for an unset field. Do not use.
- The mediation group line belongs to the variant A.
- The mediation group line belongs to the variant B.
- The mediation group line isn't a part of an experiment.
readOnly: true
displayName:
type: string
description: User-provided label for this mediation line. The maximum length allowed is 255 characters.
adUnitMappings:
type: object
description: References of the ad unit mappings for each ad unit associated with this mediation line. Key is the ad unit ID, value is resource name of the ad unit mapping. For mediation lines where the ad source id is the AdMob Network, ad unit mappings will be ignored.
additionalProperties:
type: string
id:
type: string
description: The 16 digit ID for this mediation line e.g. 0123456789012345. When creating a new mediation group line, use a distinct negative integer as the ID place holder.
state:
type: string
description: The status of the mediation group line. Only enabled mediation group lines will be served.
enum:
- STATE_UNSPECIFIED
- ENABLED
- DISABLED
- REMOVED
x-enum-descriptions:
- Default value for an unset field. Do not use.
- The mediation group line is active and used to serve ads.
- The mediation group line has been disabled and is no longer served. Disabled mediation group lines can be re-enabled.
- The mediation group line will be removed and no longer served. Removed mediation group lines can not be re-enabled and will no longer be visible. This is an input only field.
cpmMode:
type: string
description: Indicates how the CPM for this mediation line is provided. Note that `MANUAL` and `LIVE` are the only fully-supported mode at the moment. Please use the AdMob UI (https://admob.google.com) if you wish to create or update to other cpm modes.
enum:
- CPM_MODE_UNSPECIFIED
- LIVE
- MANUAL
- ANO
x-enum-descriptions:
- Default value for an unset field. Do not use.
- CPM is calculated per ad request based on the ad auction.
- CPM is set by the user manually.
- CPM is retrieved from the ad network using the publisher specified credentials. Output only.
ListMediationGroupsResponse:
type: object
description: Response for the mediation groups list request.
properties:
mediationGroups:
type: array
description: The resulting mediation groups for the requested account.
items:
$ref: '#/components/schemas/MediationGroup'
nextPageToken:
type: string
description: If not empty, indicates that there may be more mediation groups for the request; this value should be passed in a new `ListMediationGroupsRequest`.
GoogleRpcStatus:
type: object
description: Canonical Google API error envelope (google.rpc.Status), returned inside an `error` wrapper.
properties:
code:
type: integer
description: The status code, which should be an enum value of google.rpc.Code.
message:
type: string
description: A developer-facing error message in English.
status:
type: string
description: The canonical error reason, e.g. INVALID_ARGUMENT, RESOURCE_EXHAUSTED.
details:
type: array
items:
type: object
description: A list of messages that carry the error details.
x-source: Derived from Google's documented AdMob error responses at https://developers.google.com/admob/api/v1/errors; not present in the Discovery Document.
securitySchemes:
GoogleOAuth2:
type: oauth2
description: Google OAuth 2.0 user authorization. AdMob does not support service accounts.
flows:
authorizationCode:
authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
tokenUrl: https://oauth2.googleapis.com/token
scopes:
https://www.googleapis.com/auth/admob.readonly: See your AdMob data
https://www.googleapis.com/auth/admob.report: See your AdMob data
externalDocs:
description: AdMob API documentation
url: https://developers.google.com/admob/api/