Google Campaign Manager Campaign Manager Sites API

The Campaign Manager Sites API from Google Campaign Manager — 2 operation(s) for campaign manager sites.

GitHub OpenAPI

Operations 5

GET /dfareporting/v5/userprofiles/{userprofilesId}/sites List sites #
POST /dfareporting/v5/userprofiles/{userprofilesId}/sites Insert sites #
PUT /dfareporting/v5/userprofiles/{userprofilesId}/sites Update sites #
PATCH /dfareporting/v5/userprofiles/{userprofilesId}/sites Patch sites #
GET /dfareporting/v5/userprofiles/{userprofilesId}/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-campaign-manager:google-campaign-manager-sites-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-campaign-manager-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Campaign Manager 360 Sites API
  version: v5
  description: Generated from Google's published Discovery document for Campaign Manager 360 API (dfareporting v5, revision 20261107). 5 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
servers:
- url: https://dfareporting.googleapis.com
tags:
- name: Sites
paths:
  /dfareporting/v5/userprofiles/{userprofilesId}/sites:
    get:
      operationId: dfareporting.sites.list
      summary: List sites
      description: Retrieves a list of sites, possibly filtered. This method supports paging.
      parameters:
      - name: userprofilesId
        in: path
        required: true
        description: Resource name segment (userprofilesId).
        schema:
          type: string
      - name: acceptsInStreamVideoPlacements
        in: query
        required: false
        description: This search filter is no longer supported and will have no effect on the results returned.
        schema:
          type: boolean
      - name: acceptsInterstitialPlacements
        in: query
        required: false
        description: This search filter is no longer supported and will have no effect on the results returned.
        schema:
          type: boolean
      - name: acceptsPublisherPaidPlacements
        in: query
        required: false
        description: Select only sites that accept publisher paid placements.
        schema:
          type: boolean
      - name: adWordsSite
        in: query
        required: false
        description: Select only AdWords sites.
        schema:
          type: boolean
      - name: approved
        in: query
        required: false
        description: Select only approved sites.
        schema:
          type: boolean
      - name: campaignIds
        in: query
        required: false
        description: Select only sites with these campaign IDs.
        schema:
          type: array
          items:
            format: int64
            type: string
      - name: directorySiteIds
        in: query
        required: false
        description: Select only sites with these directory site IDs.
        schema:
          type: array
          items:
            type: string
            format: int64
      - name: ids
        in: query
        required: false
        description: Select only sites with these IDs.
        schema:
          type: array
          items:
            type: string
            format: int64
      - name: maxResults
        in: query
        required: false
        description: Maximum number of results to return.
        schema:
          format: int32
          type: integer
          default: '1000'
      - name: pageToken
        in: query
        required: false
        description: Value of the nextPageToken from the previous result page.
        schema:
          type: string
      - name: searchString
        in: query
        required: false
        description: Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site".
        schema:
          type: string
      - name: sortField
        in: query
        required: false
        description: Field by which to sort the list.
        schema:
          default: ID
          enum:
          - ID
          - NAME
          type: string
      - name: sortOrder
        in: query
        required: false
        description: Order of sorted results.
        schema:
          type: string
          default: ASCENDING
          enum:
          - ASCENDING
          - DESCENDING
      - name: subaccountId
        in: query
        required: false
        description: Select only sites with this subaccount ID.
        schema:
          format: int64
          type: string
      - name: unmappedSite
        in: query
        required: false
        description: Select only sites that have not been mapped to a directory site.
        schema:
          type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SitesListResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/dfatrafficking
      - apiKey: []
      tags:
      - Sites
    post:
      operationId: dfareporting.sites.insert
      summary: Insert sites
      description: Inserts a new site.
      parameters:
      - name: userprofilesId
        in: path
        required: true
        description: Resource name segment (userprofilesId).
        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:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/dfatrafficking
      - apiKey: []
      tags:
      - Sites
    put:
      operationId: dfareporting.sites.update
      summary: Update sites
      description: Updates an existing site.
      parameters:
      - name: userprofilesId
        in: path
        required: true
        description: Resource name segment (userprofilesId).
        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:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/dfatrafficking
      - apiKey: []
      tags:
      - Sites
    patch:
      operationId: dfareporting.sites.patch
      summary: Patch sites
      description: Updates an existing site. This method supports patch semantics.
      parameters:
      - name: userprofilesId
        in: path
        required: true
        description: Resource name segment (userprofilesId).
        schema:
          type: string
      - name: id
        in: query
        required: true
        description: Required. Site ID.
        schema:
          format: int64
          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:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/dfatrafficking
      - apiKey: []
      tags:
      - Sites
  /dfareporting/v5/userprofiles/{userprofilesId}/sites/{sitesId}:
    get:
      operationId: dfareporting.sites.get
      summary: Get sites
      description: Gets one site by ID.
      parameters:
      - name: userprofilesId
        in: path
        required: true
        description: Resource name segment (userprofilesId).
        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:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/dfatrafficking
      - apiKey: []
      tags:
      - Sites
components:
  schemas:
    VideoOffset:
      description: Video Offset
      properties:
        offsetPercentage:
          type: integer
          format: int32
          description: Duration, as a percentage of video duration. Do not set when offsetSeconds is set. Acceptable values are 0 to 100, inclusive.
        offsetSeconds:
          description: Duration, in seconds. Do not set when offsetPercentage is set. Acceptable values are 0 to 86399, inclusive.
          type: integer
          format: int32
      type: object
    Site:
      description: Contains properties of a site.
      type: object
      properties:
        directorySiteId:
          format: int64
          type: string
          description: Directory site associated with this site. This is a required field that is read-only after insertion.
        approved:
          type: boolean
          description: Whether this site is approved.
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".'
        id:
          description: ID of this site. This is a read-only, auto-generated field.
          format: int64
          type: string
        videoSettings:
          $ref: '#/components/schemas/SiteVideoSettings'
          description: Default video settings for new placements created under this site. This value will be used to populate the placements.videoSettings field, when no value is specified for the new placement.
        idDimensionValue:
          $ref: '#/components/schemas/DimensionValue'
          description: Dimension value for the ID of this site. This is a read-only, auto-generated field.
        directorySiteIdDimensionValue:
          $ref: '#/components/schemas/DimensionValue'
          description: Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
        keyName:
          type: string
          description: Key name of this site. This is a read-only, auto-generated field.
        siteContacts:
          description: Site contacts.
          items:
            $ref: '#/components/schemas/SiteContact'
          type: array
        name:
          type: string
          description: Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
        adServingPlatformId:
          type: string
          description: 'Optional. Ad serving platform ID to identify the ad serving platform used by the site. Measurement partners can use this field to add ad-server specific macros. If set, this value acts as the default during placement creation. Possible values are: * `1`, Adelphic * `2`, Adform * `3`, Adobe * `4`, Amobee * `5`, Basis (Centro) * `6`, Beeswax * `7`, Amazon * `8`, DV360 (DBM) * `9`, Innovid * `10`, MediaMath * `11`, Roku OneView DSP * `12`, TabMo Hawk * `13`, The Trade Desk * `14`, Xandr Invest DSP * `15`, Yahoo DSP * `16`, Zeta Global * `17`, Scaleout * `18`, Bidtellect * `19`, Unicorn * `20`, Teads * `21`, Quantcast * `22`, Cognitiv * `23`, AdTheorent * `24`, DeepIntent * `25`, Pulsepoint'
          format: int64
        subaccountId:
          format: int64
          description: Subaccount ID of this site. This is a read-only field that can be left blank.
          type: string
        siteSettings:
          $ref: '#/components/schemas/SiteSettings'
          description: Site-wide settings.
        accountId:
          type: string
          description: Account ID of this site. This is a read-only field that can be left blank.
          format: int64
    ObaIcon:
      properties:
        iconClickTrackingUrl:
          description: URL to track click when an OBA icon is clicked.
          type: string
        yPosition:
          type: string
          description: OBA icon y coordinate position. Accepted values are top or bottom.
        resourceUrl:
          description: OBA icon resource URL. Campaign Manager only supports image and JavaScript icons. Learn more
          type: string
        size:
          $ref: '#/components/schemas/Size'
          description: OBA icon size.
        program:
          description: Identifies the industry initiative that the icon supports. For example, AdChoices.
          type: string
        xPosition:
          description: OBA icon x coordinate position. Accepted values are left or right.
          type: string
        iconClickThroughUrl:
          description: URL to redirect to when an OBA icon is clicked.
          type: string
        iconViewTrackingUrl:
          description: URL to track view when an OBA icon is clicked.
          type: string
      type: object
      description: Online Behavioral Advertiser icon.
    Size:
      description: Represents the dimensions of ads, placements, creatives, or creative assets.
      type: object
      properties:
        height:
          type: integer
          description: Height of this size. Acceptable values are 0 to 32767, inclusive.
          format: int32
        id:
          format: int64
          type: string
          description: ID of this size. This is a read-only, auto-generated field.
        iab:
          type: boolean
          description: IAB standard size. This is a read-only, auto-generated field.
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".'
          type: string
        width:
          format: int32
          type: integer
          description: Width of this size. Acceptable values are 0 to 32767, inclusive.
    SiteSettings:
      description: Site Settings
      properties:
        activeViewOptOut:
          description: Whether active view creatives are disabled for this site.
          type: boolean
        vpaidAdapterChoiceTemplate:
          type: string
          enum:
          - DEFAULT
          - FLASH
          - HTML5
          - BOTH
          description: 'Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher''s specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter). *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.'
        disableNewCookie:
          type: boolean
          description: Whether new cookies are disabled for this site.
        videoActiveViewOptOutTemplate:
          type: boolean
          description: Whether Verification and ActiveView for in-stream video creatives are disabled by default for new placements created under this site. This value will be used to populate the placement.videoActiveViewOptOut field, when no value is specified for the new placement.
        adBlockingOptOut:
          description: Whether this site opts out of ad blocking. When true, ad blocking is disabled for all placements under the site, regardless of the individual placement settings. When false, the campaign and placement settings take effect.
          type: boolean
        tagSetting:
          $ref: '#/components/schemas/TagSetting'
          description: Configuration settings for dynamic and image floodlight tags.
      type: object
    SiteSkippableSetting:
      type: object
      description: Skippable Settings
      properties:
        progressOffset:
          $ref: '#/components/schemas/VideoOffset'
          description: Amount of time to play videos served to this site template before counting a view. Applicable when skippable is true.
        skipOffset:
          $ref: '#/components/schemas/VideoOffset'
          description: Amount of time to play videos served to this site before the skip button should appear. Applicable when skippable is true.
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteSkippableSetting".'
        skippable:
          type: boolean
          description: Whether the user can skip creatives served to this site. This will act as default for new placements created under this site.
    SitesListResponse:
      properties:
        sites:
          items:
            $ref: '#/components/schemas/Site'
          type: array
          description: Site collection.
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#sitesListResponse".'
        nextPageToken:
          description: Pagination token to be used for the next list operation.
          type: string
      type: object
      description: Site List Response
    TagSetting:
      description: Tag Settings
      properties:
        additionalKeyValues:
          type: string
          description: Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
        includeUnescapedlpurlMacro:
          description: Optional. Indicates that the unescapedlpurl macro should be included in the tag for the static landing page. New placements will default to the value set on their site.
          type: boolean
        includeClickTracking:
          type: boolean
          description: Whether click-tracking string should be included in the tags.
        includeClickThroughUrls:
          description: Whether static landing page URLs should be included in the tags. New placements will default to the value set on their site.
          type: boolean
        keywordOption:
          description: Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
          type: string
          enum:
          - PLACEHOLDER_WITH_LIST_OF_KEYWORDS
          - IGNORE
          - GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD
      type: object
    SiteVideoSettings:
      properties:
        companionSettings:
          $ref: '#/components/schemas/SiteCompanionSetting'
          description: Settings for the companion creatives of video creatives served to this site.
        transcodeSettings:
          $ref: '#/components/schemas/SiteTranscodeSetting'
          description: Settings for the transcodes of video creatives served to this site. This will act as default for new placements created under this site.
        obaSettings:
          $ref: '#/components/schemas/ObaIcon'
          description: Settings for the OBA icon of video creatives served to this site. This will act as default for new placements created under this site.
        publisherSpecificationId:
          format: int64
          description: 'Publisher specification ID used to identify site-associated publisher requirements and automatically populate transcode settings. If publisher specification ID is specified, it will take precedence over transcode settings. Possible values are: * `1`, Hulu * `2`, NBC * `3`, CBS * `4`, CBS Desktop * `5`, Discovery * `6`, VEVO HD * `7`, VEVO Vertical * `8`, Fox * `9`, CW Network * `10`, Disney * `11`, IGN * `12`, NFL.com * `13`, Turner Broadcasting * `14`, Tubi on Fox * `15`, Hearst Corporation * `16`, Twitch Desktop * `17`, ABC * `18`, Univision * `19`, MLB.com * `20`, MLB.com Mobile * `21`, MLB.com OTT * `22`, Polsat * `23`, TVN * `24`, Mediaset * `25`, Antena 3 * `26`, Mediamond * `27`, Sky Italia * `28`, Tubi on CBS * `29`, Spotify * `30`, Paramount * `31`, Max'
          type: string
        kind:
          type: string
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteVideoSettings".'
        orientation:
          type: string
          enum:
          - ANY
          - LANDSCAPE
          - PORTRAIT
          description: Orientation of a site template used for video. This will act as default for new placements created under this site.
        skippableSettings:
          $ref: '#/components/schemas/SiteSkippableSetting'
          description: Settings for the skippability of video creatives served to this site. This will act as default for new placements created under this site.
        obaEnabled:
          description: Whether OBA icons are enabled for this placement.
          type: boolean
      type: object
      description: Video Settings
    SiteCompanionSetting:
      type: object
      description: Companion Settings
      properties:
        imageOnly:
          description: Whether to serve only static images as companions.
          type: boolean
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteCompanionSetting".'
          type: string
        companionsDisabled:
          type: boolean
          description: Whether companions are disabled for this site template.
        enabledSizes:
          items:
            $ref: '#/components/schemas/Size'
          description: Allowlist of companion sizes to be served via this site template. Set this list to null or empty to serve all companion sizes.
          type: array
    SiteTranscodeSetting:
      properties:
        enabledVideoFormats:
          items:
            type: integer
            format: int32
          type: array
          description: Allowlist of video formats to be served to this site template. Set this list to null or empty to serve all video formats.
        kind:
          description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteTranscodeSetting".'
          type: string
      type: object
      description: Transcode Settings
    DimensionValue:
      type: object
      description: Represents a DimensionValue resource.
      properties:
        id:
          type: string
          description: The ID associated with the value if available.
        value:
          type: string
          description: The value of the dimension.
        dimensionName:
          description: The name of the dimension.
          type: string
        matchType:
          type: string
          enum:
          - EXACT
          - BEGINS_WITH
          - CONTAINS
          - WILDCARD_EXPRESSION
          description: Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
        etag:
          type: string
          description: The eTag of this response for caching purposes.
        kind:
          description: The kind of resource this is, in this case dfareporting#dimensionValue.
          type: string
    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
    SiteContact:
      type: object
      description: Site Contact
      properties:
        contactType:
          type: string
          enum:
          - SALES_PERSON
          - TRAFFICKER
          description: Site contact type.
        title:
          description: Title or designation of this site contact.
          type: string
        lastName:
          description: Last name of this site contact.
          type: string
        address:
          type: string
          description: Address of this site contact.
        id:
          type: string
          description: ID of this site contact. This is a read-only, auto-generated field.
          format: int64
        email:
          description: Email address of this site contact. This is a required field.
          type: string
        phone:
          type: string
          description: Primary phone number of this site contact.
        firstName:
          type: string
          description: First name of this site contact.
  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/ddmconversions: Manage DoubleClick Digital Marketing conversions
            https://www.googleapis.com/auth/dfatrafficking: View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns
            https://www.googleapis.com/auth/dfareporting: View and manage DoubleClick for Advertisers reports
externalDocs:
  url: https://developers.google.com/doubleclick-advertisers/
x-provenance:
  method: harvested
  publisher: Google
  source: https://dfareporting.googleapis.com/$discovery/rest?version=v5
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261107)