Google AdSense Management Adsense Adsenseplatform Platforms API

The Adsense Adsenseplatform Platforms API from Google AdSense Management — 8 operation(s) for adsense adsenseplatform platforms.

GitHub OpenAPI

Operations 11

POST /v1/platforms/{platformsId}/accounts/{accountsId}:close Close accounts #
GET /v1/platforms/{platformsId}/accounts:lookup Lookup accounts #
GET /v1/platforms/{platformsId}/accounts/{accountsId} Get accounts #
GET /v1/platforms/{platformsId}/accounts List accounts #
POST /v1/platforms/{platformsId}/accounts Create accounts #
POST /v1/platforms/{platformsId}/accounts/{accountsId}/events Create events #
POST /v1/platforms/{platformsId}/accounts/{accountsId}/sites Create sites #
GET /v1/platforms/{platformsId}/accounts/{accountsId}/sites List sites #
POST /v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}:requestReview Request review sites #
DELETE /v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId} Delete sites #
GET /v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId} Get sites #

Work with this as data

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-adsense:google-adsense-adsenseplatform-platforms-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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 Specification

google-adsense-adsenseplatform-platforms-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AdSense Platform API Platforms API
  version: v1
  description: Generated from Google's published Discovery document for AdSense Platform API (adsenseplatform v1, revision
    20261111). 11 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
externalDocs:
  url: https://developers.google.com/adsense/platforms/
servers:
- url: https://adsenseplatform.googleapis.com
paths:
  /v1/platforms/{platformsId}/accounts/{accountsId}:close:
    post:
      operationId: adsenseplatform.platforms.accounts.close
      summary: Close accounts
      description: Closes a sub-account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloseAccountRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloseAccountResponse'
        4XX:
          content: &id001
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id001
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts:lookup:
    get:
      operationId: adsenseplatform.platforms.accounts.lookup
      summary: Lookup accounts
      description: Looks up information about a sub-account for a specified creation_request_id. If no account exists for
        the given creation_request_id, returns 404.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: creationRequestId
        in: query
        required: false
        description: Optional. The creation_request_id provided when calling createAccount.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupAccountResponse'
        4XX:
          content: &id002
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id002
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
        - https://www.googleapis.com/auth/adsense.readonly
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts/{accountsId}:
    get:
      operationId: adsenseplatform.platforms.accounts.get
      summary: Get accounts
      description: Gets information about the selected sub-account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        4XX:
          content: &id003
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id003
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
        - https://www.googleapis.com/auth/adsense.readonly
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts:
    get:
      operationId: adsenseplatform.platforms.accounts.list
      summary: List accounts
      description: Lists a partial view of sub-accounts for a specific parent account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: pageSize
        in: query
        required: false
        description: Optional. The maximum number of accounts to include in the response, used for paging. If unspecified,
          at most 10000 accounts will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.
        schema:
          format: int32
          type: integer
      - name: pageToken
        in: query
        required: false
        description: Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent
          page.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccountsResponse'
        4XX:
          content: &id004
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id004
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
        - https://www.googleapis.com/auth/adsense.readonly
      - apiKey: []
      tags:
      - Platforms
    post:
      operationId: adsenseplatform.platforms.accounts.create
      summary: Create accounts
      description: Creates a sub-account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        4XX:
          content: &id005
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id005
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts/{accountsId}/events:
    post:
      operationId: adsenseplatform.platforms.accounts.events.create
      summary: Create events
      description: Creates an account event.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        4XX:
          content: &id006
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id006
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts/{accountsId}/sites:
    post:
      operationId: adsenseplatform.platforms.accounts.sites.create
      summary: Create sites
      description: Creates a site for a specified account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Site'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
        4XX:
          content: &id007
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id007
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
      - apiKey: []
      tags:
      - Platforms
    get:
      operationId: adsenseplatform.platforms.accounts.sites.list
      summary: List sites
      description: Lists sites for a specific account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      - name: pageSize
        in: query
        required: false
        description: The maximum number of sites to include in the response, used for paging. If unspecified, at most 10000
          sites will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.
        schema:
          type: integer
          format: int32
      - name: pageToken
        in: query
        required: false
        description: A page token, received from a previous `ListSites` call. Provide this to retrieve the subsequent page.
          When paginating, all other parameters provided to `ListSites` must match the call that provided the page token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSitesResponse'
        4XX:
          content: &id008
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id008
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
        - https://www.googleapis.com/auth/adsense.readonly
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}:requestReview:
    post:
      operationId: adsenseplatform.platforms.accounts.sites.requestReview
      summary: Request review sites
      description: 'Requests the review of a site. The site should be in REQUIRES_REVIEW or NEEDS_ATTENTION state. Note: Make
        sure you place an [ad tag](https://developers.google.com/adsense/platforms/direct/ad-tags) on your site before requesting
        a review.'
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      - name: sitesId
        in: path
        required: true
        description: Resource name segment (sitesId).
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestSiteReviewResponse'
        4XX:
          content: &id009
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id009
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
      - apiKey: []
      tags:
      - Platforms
  /v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}:
    delete:
      operationId: adsenseplatform.platforms.accounts.sites.delete
      summary: Delete sites
      description: Deletes a site from a specified account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      - name: sitesId
        in: path
        required: true
        description: Resource name segment (sitesId).
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Empty'
        4XX:
          content: &id010
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id010
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
      - apiKey: []
      tags:
      - Platforms
    get:
      operationId: adsenseplatform.platforms.accounts.sites.get
      summary: Get sites
      description: Gets a site from a specified sub-account.
      parameters:
      - name: platformsId
        in: path
        required: true
        description: Resource name segment (platformsId).
        schema:
          type: string
      - name: accountsId
        in: path
        required: true
        description: Resource name segment (accountsId).
        schema:
          type: string
      - name: sitesId
        in: path
        required: true
        description: Resource name segment (sitesId).
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
        4XX:
          content: &id011
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id011
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adsense
        - https://www.googleapis.com/auth/adsense.readonly
      - apiKey: []
      tags:
      - Platforms
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: API key; accepted by methods that do not need user data.
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/adsense: View and manage your AdSense data
            https://www.googleapis.com/auth/adsense.readonly: View your AdSense data
  schemas:
    Account:
      properties:
        regionCode:
          description: Required. Input only. CLDR region code of the country/region of the address. Set this to country code
            of the child account if known, otherwise to your own country code.
          type: string
        creationRequestId:
          description: Required. An opaque token that uniquely identifies the account among all the platform's accounts. This
            string may contain at most 64 non-whitespace ASCII characters, but otherwise has no predefined structure. However,
            it is expected to be a platform-specific identifier for the user creating the account, so that only a single account
            can be created for any given user. This field must not contain any information that is recognizable as personally
            identifiable information. e.g. it should not be an email address or login name. Once an account has been created,
            a second attempt to create an account using the same creation_request_id will result in an ALREADY_EXISTS error.
          type: string
        name:
          type: string
          description: 'Output only. Resource name of the account. Format: platforms/pub-[0-9]+/accounts/pub-[0-9]+'
          readOnly: true
        createTime:
          type: string
          readOnly: true
          description: Output only. Creation time of the account.
          format: google-datetime
        displayName:
          type: string
          description: Display name of this account.
        state:
          type: string
          enum:
          - STATE_UNSPECIFIED
          - UNCHECKED
          - APPROVED
          - DISAPPROVED
          readOnly: true
          description: Output only. Approval state of the account.
        timeZone:
          $ref: '#/components/schemas/TimeZone'
          description: Required. The IANA TZ timezone code of this account. For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
            This field is used for reporting. It is recommended to set it to the same value for all child accounts.
      description: Representation of an Account.
      type: object
    Address:
      type: object
      description: Address data.
      properties:
        regionCode:
          type: string
          description: Country/Region code. The region is specified as a CLDR region code (e.g. "US", "FR").
        phone:
          type: string
          description: Phone number with international code (i.e. +441234567890).
        state:
          type: string
          description: State. Max length 60 bytes or 30 characters.
        company:
          type: string
          description: Name of the company. Max length 255 bytes or 34 characters.
        zip:
          type: string
          description: Zip/post code. Max length 10 bytes or 10 characters.
        contact:
          description: Contact name of the company. Max length 128 bytes or 34 characters.
          type: string
        address2:
          type: string
          description: Second line of address. Max length 64 bytes or 30 characters.
        city:
          type: string
          description: City. Max length 60 bytes or 30 characters.
        fax:
          description: Fax number with international code (i.e. +441234567890).
          type: string
        address1:
          description: First line of address. Max length 64 bytes or 30 characters.
          type: string
    CloseAccountRequest:
      description: Request definition for the account close rpc.
      properties: {}
      type: object
    CloseAccountResponse:
      properties: {}
      type: object
      description: Response definition for the account close rpc.
    Empty:
      type: object
      properties: {}
      description: 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs.
        A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc
        Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'
    Event:
      properties:
        eventType:
          enum:
          - EVENT_TYPE_UNSPECIFIED
          - LOG_IN_VIA_PLATFORM
          - SIGN_UP_VIA_PLATFORM
          description: Required. Event type.
          type: string
        eventInfo:
          $ref: '#/components/schemas/EventInfo'
          description: Required. Information associated with the event.
        eventTime:
          format: google-datetime
          type: string
          description: Required. Event timestamp.
      type: object
      description: A platform sub-account event to record spam signals.
    EventInfo:
      description: Private information for partner recorded events (PII).
      properties:
        billingAddress:
          $ref: '#/components/schemas/Address'
          description: The billing address of the publisher associated with this event, if available.
        email:
          description: Required. The email address that is associated with the publisher when performing the event.
          type: string
      type: object
    GoogleRpcError:
      type: object
      description: The error envelope every Google API returns.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            status:
              type: string
            details:
              type: array
              items:
                type: object
    ListAccountsResponse:
      type: object
      properties:
        nextPageToken:
          type: string
          description: Continuation token used to page through accounts. To retrieve the next page of the results, set the
            next request's "page_token" value to this.
        accounts:
          items:
            $ref: '#/components/schemas/Account'
          type: array
          description: The Accounts returned in the list response. Represented by a partial view of the Account resource,
            populating `name` and `creation_request_id`.
      description: Response definition for the list accounts rpc.
    ListSitesResponse:
      type: object
      properties:
        nextPageToken:
          type: string
          description: Continuation token used to page through sites. To retrieve the next page of the results, set the next
            request's "page_token" value to this.
        sites:
          type: array
          description: The sites returned in this list response.
          items:
            $ref: '#/components/schemas/Site'
      description: Response definition for the site list rpc.
    LookupAccountResponse:
      properties:
        name:
          type: string
          description: 'The name of the Account Format: platforms/{platform}/accounts/{account_id}'
      description: Response definition for the lookup account rpc.
      type: object
    RequestSiteReviewResponse:
      description: Response definition for the site request review rpc.
      type: object
      properties: {}
    Site:
      properties:
        state:
          enum:
          - STATE_UNSPECIFIED
          - REQUIRES_REVIEW
          - GETTING_READY
          - READY
          - NEEDS_ATTENTION
          readOnly: true
          description: Output only. State of a site.
          type: string
        domain:
          description: Domain/sub-domain of the site. Must be a valid domain complying with [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt)
            and formatted as punycode [RFC 3492](https://www.ietf.org/rfc/rfc3492.txt) in case the domain contains unicode
            characters.
          type: string
        name:
          readOnly: true
          type: string
          description: 'Output only. Resource name of a site. Format: platforms/{platform}/accounts/{account}/sites/{site}'
      description: Representation of a Site.
      type: object
    TimeZone:
      description: Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).
      type: object
      properties:
        id:
          type: string
          description: IANA Time Zone Database time zone. For example "America/New_York".
        version:
          type: string
          description: Optional. IANA Time Zone Database version number. For example "2019a".
x-provenance:
  method: harvested
  publisher: Google
  source: https://adsenseplatform.googleapis.com/$discovery/rest?version=v1
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261111)