Google Ads · Schema

SearchGoogleAdsResponse

AdvertisingCampaign ManagementDigital AdvertisingGoogleMarketingPPCGoogle AdsAdTech

Properties

Name Type Description
results array List of rows matching the query.
nextPageToken string Token for retrieving the next page of results.
totalResultsCount integer Total number of results matching the query.
fieldMask string Fields requested in the query.
summaryRow object
View JSON Schema on GitHub

JSON Schema

google-ads-search-google-ads-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-search-google-ads-response-schema.json",
  "title": "SearchGoogleAdsResponse",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-reporting-api-openapi.yml#/components/schemas/SearchGoogleAdsResponse",
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "description": "List of rows matching the query.",
      "items": {
        "$ref": "#/$defs/GoogleAdsRow"
      }
    },
    "nextPageToken": {
      "type": "string",
      "description": "Token for retrieving the next page of results."
    },
    "totalResultsCount": {
      "type": "integer",
      "format": "int64",
      "description": "Total number of results matching the query."
    },
    "fieldMask": {
      "type": "string",
      "description": "Fields requested in the query."
    },
    "summaryRow": {
      "$ref": "#/$defs/GoogleAdsRow"
    }
  },
  "$defs": {
    "Ad": {
      "type": "object",
      "description": "The creative content of an ad.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the ad."
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "description": "The unique ID of the ad."
        },
        "finalUrls": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "description": "The list of landing page URLs for the ad."
        },
        "finalMobileUrls": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "description": "Landing page URLs for mobile devices."
        },
        "trackingUrlTemplate": {
          "type": "string",
          "description": "URL template for tracking clicks."
        },
        "type": {
          "type": "string",
          "enum": [
            "RESPONSIVE_SEARCH_AD",
            "EXPANDED_TEXT_AD",
            "RESPONSIVE_DISPLAY_AD",
            "IMAGE_AD",
            "VIDEO_AD",
            "CALL_AD",
            "APP_AD",
            "SHOPPING_PRODUCT_AD",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The type of ad."
        },
        "responsiveSearchAd": {
          "$ref": "#/$defs/ResponsiveSearchAdInfo"
        },
        "responsiveDisplayAd": {
          "$ref": "#/$defs/ResponsiveDisplayAdInfo"
        }
      }
    },
    "AdGroup": {
      "type": "object",
      "description": "An ad group containing a set of ads and targeting criteria within a campaign.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the ad group, e.g. customers/{customerId}/adGroups/{adGroupId}."
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "description": "The unique ID of the ad group."
        },
        "name": {
          "type": "string",
          "description": "The name of the ad group."
        },
        "status": {
          "type": "string",
          "enum": [
            "ENABLED",
            "PAUSED",
            "REMOVED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The status of the ad group."
        },
        "campaign": {
          "type": "string",
          "description": "Resource name of the campaign this ad group belongs to."
        },
        "type": {
          "type": "string",
          "enum": [
            "SEARCH_STANDARD",
            "DISPLAY_STANDARD",
            "SHOPPING_PRODUCT_ADS",
            "VIDEO_TRUE_VIEW_IN_STREAM",
            "VIDEO_BUMPER",
            "HOTEL_ADS",
            "SHOPPING_SMART_ADS",
            "SMART_CAMPAIGN_ADS",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The type of the ad group."
        },
        "cpcBidMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Maximum CPC bid in micros at the ad group level."
        },
        "cpmBidMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Maximum CPM bid in micros at the ad group level."
        },
        "targetCpaMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Target CPA in micros at the ad group level."
        },
        "effectiveTargetCpaMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Effective target CPA considering campaign-level settings."
        },
        "effectiveTargetRoas": {
          "type": "number",
          "description": "Effective target ROAS considering campaign-level settings."
        },
        "adRotationMode": {
          "type": "string",
          "enum": [
            "OPTIMIZE",
            "ROTATE_FOREVER",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Ad rotation mode for ads within this ad group."
        }
      }
    },
    "AdGroupAd": {
      "type": "object",
      "description": "An ad within an ad group.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the ad group ad."
        },
        "status": {
          "type": "string",
          "enum": [
            "ENABLED",
            "PAUSED",
            "REMOVED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The status of the ad."
        },
        "adGroup": {
          "type": "string",
          "description": "Resource name of the ad group this ad belongs to."
        },
        "ad": {
          "$ref": "#/$defs/Ad"
        },
        "policySummary": {
          "$ref": "#/$defs/PolicySummary"
        },
        "adStrength": {
          "type": "string",
          "enum": [
            "EXCELLENT",
            "GOOD",
            "AVERAGE",
            "POOR",
            "NO_ADS",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Overall ad strength rating for responsive search ads."
        }
      }
    },
    "AdGroupCriterion": {
      "type": "object",
      "description": "A targeting criterion within an ad group, such as a keyword.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the ad group criterion."
        },
        "criterionId": {
          "type": "integer",
          "format": "int64",
          "description": "The unique ID of the criterion."
        },
        "adGroup": {
          "type": "string",
          "description": "Resource name of the ad group this criterion belongs to."
        },
        "status": {
          "type": "string",
          "enum": [
            "ENABLED",
            "PAUSED",
            "REMOVED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The status of the criterion."
        },
        "type": {
          "type": "string",
          "enum": [
            "KEYWORD",
            "PLACEMENT",
            "TOPIC",
            "AGE_RANGE",
            "GENDER",
            "INCOME_RANGE",
            "PARENTAL_STATUS",
            "LISTING_GROUP",
            "WEBPAGE",
            "CUSTOM_AUDIENCE",
            "AUDIENCE",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The type of criterion."
        },
        "keyword": {
          "$ref": "#/$defs/KeywordInfo"
        },
        "qualityInfo": {
          "$ref": "#/$defs/QualityInfo"
        },
        "cpcBidMicros": {
          "type": "integer",
          "format": "int64",
          "description": "CPC bid override in micros for this criterion."
        },
        "effectiveCpcBidMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Effective CPC bid in micros after applying all adjustments."
        },
        "finalUrls": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "description": "Override landing page URLs for this keyword."
        },
        "negative": {
          "type": "boolean",
          "description": "Whether this is a negative criterion (excluded from targeting)."
        }
      }
    },
    "AdTextAsset": {
      "type": "object",
      "description": "A text asset used in responsive ads.",
      "properties": {
        "text": {
          "type": "string",
          "description": "The text content of the asset."
        },
        "pinnedField": {
          "type": "string",
          "enum": [
            "HEADLINE_1",
            "HEADLINE_2",
            "HEADLINE_3",
            "DESCRIPTION_1",
            "DESCRIPTION_2",
            "UNSPECIFIED"
          ],
          "description": "Pin position for this text asset in ad rendering."
        }
      }
    },
    "Campaign": {
      "type": "object",
      "description": "A Google Ads campaign. Campaigns group ad groups and set budgets, bidding strategies, and targeting.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the campaign, e.g. customers/{customerId}/campaigns/{campaignId}."
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "description": "The unique ID of the campaign."
        },
        "name": {
          "type": "string",
          "description": "The name of the campaign. Must be unique within the account."
        },
        "status": {
          "type": "string",
          "enum": [
            "ENABLED",
            "PAUSED",
            "REMOVED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The status of the campaign."
        },
        "advertisingChannelType": {
          "type": "string",
          "enum": [
            "SEARCH",
            "DISPLAY",
            "SHOPPING",
            "VIDEO",
            "MULTI_CHANNEL",
            "LOCAL",
            "SMART",
            "PERFORMANCE_MAX",
            "DEMAND_GEN",
            "TRAVEL",
            "LOCAL_SERVICES",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The primary channel type for serving ads in this campaign."
        },
        "advertisingChannelSubType": {
          "type": "string",
          "description": "Optional refinement of the advertising channel type."
        },
        "biddingStrategyType": {
          "type": "string",
          "enum": [
            "TARGET_CPA",
            "TARGET_ROAS",
            "TARGET_SPEND",
            "MAXIMIZE_CONVERSIONS",
            "MAXIMIZE_CONVERSION_VALUE",
            "MANUAL_CPC",
            "MANUAL_CPM",
            "MANUAL_CPV",
            "TARGET_IMPRESSION_SHARE",
            "ENHANCED_CPC",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The type of bidding strategy used by the campaign."
        },
        "campaignBudget": {
          "type": "string",
          "description": "Resource name of the campaign budget."
        },
        "startDate": {
          "type": "string",
          "description": "Start date of the campaign in yyyy-MM-dd format."
        },
        "endDate": {
          "type": "string",
          "description": "End date of the campaign in yyyy-MM-dd format."
        },
        "networkSettings": {
          "$ref": "#/$defs/NetworkSettings"
        },
        "targetCpa": {
          "$ref": "#/$defs/TargetCpa"
        },
        "targetRoas": {
          "$ref": "#/$defs/TargetRoas"
        },
        "maximizeConversions": {
          "$ref": "#/$defs/MaximizeConversions"
        },
        "manualCpc": {
          "$ref": "#/$defs/ManualCpc"
        },
        "geoTargetTypeSetting": {
          "$ref": "#/$defs/GeoTargetTypeSetting"
        }
      }
    },
    "Customer": {
      "type": "object",
      "description": "A Google Ads customer account.",
      "properties": {
        "resourceName": {
          "type": "string",
          "description": "Resource name of the customer."
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "description": "The customer account ID."
        },
        "descriptiveName": {
          "type": "string",
          "description": "The descriptive name of the customer account."
        },
        "currencyCode": {
          "type": "string",
          "description": "ISO 4217 three-letter currency code for the account."
        },
        "timeZone": {
          "type": "string",
          "description": "IANA time zone ID for the account."
        },
        "manager": {
          "type": "boolean",
          "description": "Whether this is a manager account (MCC)."
        },
        "testAccount": {
          "type": "boolean",
          "description": "Whether this is a test account."
        },
        "autoTaggingEnabled": {
          "type": "boolean",
          "description": "Whether auto-tagging is enabled for the account."
        },
        "hasPartnersBadge": {
          "type": "boolean",
          "description": "Whether the account has a Google Partners badge."
        }
      }
    },
    "GeoTargetTypeSetting": {
      "type": "object",
      "description": "Geographic targeting settings for a campaign.",
      "properties": {
        "positiveGeoTargetType": {
          "type": "string",
          "enum": [
            "PRESENCE_OR_INTEREST",
            "SEARCH_INTEREST",
            "PRESENCE"
          ],
          "description": "How positive geo targeting is applied."
        },
        "negativeGeoTargetType": {
          "type": "string",
          "enum": [
            "PRESENCE_OR_INTEREST",
            "PRESENCE"
          ],
          "description": "How negative geo targeting is applied."
        }
      }
    },
    "GoogleAdsRow": {
      "type": "object",
      "description": "A single row returned from a GAQL query containing resource fields, segments, and metrics.",
      "properties": {
        "campaign": {
          "$ref": "#/$defs/Campaign"
        },
        "adGroup": {
          "$ref": "#/$defs/AdGroup"
        },
        "adGroupAd": {
          "$ref": "#/$defs/AdGroupAd"
        },
        "adGroupCriterion": {
          "$ref": "#/$defs/AdGroupCriterion"
        },
        "customer": {
          "$ref": "#/$defs/Customer"
        },
        "metrics": {
          "$ref": "#/$defs/Metrics"
        },
        "segments": {
          "$ref": "#/$defs/Segments"
        }
      }
    },
    "KeywordInfo": {
      "type": "object",
      "description": "Keyword targeting information.",
      "properties": {
        "text": {
          "type": "string",
          "description": "The keyword text."
        },
        "matchType": {
          "type": "string",
          "enum": [
            "EXACT",
            "PHRASE",
            "BROAD",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "The match type of the keyword."
        }
      }
    },
    "ManualCpc": {
      "type": "object",
      "description": "Manual CPC (cost per click) bidding strategy configuration.",
      "properties": {
        "enhancedCpcEnabled": {
          "type": "boolean",
          "description": "Whether Enhanced CPC is enabled for automatic bid adjustments."
        }
      }
    },
    "MaximizeConversions": {
      "type": "object",
      "description": "Maximize Conversions bidding strategy configuration.",
      "properties": {
        "targetCpaMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Optional target CPA in micros when using maximize conversions."
        }
      }
    },
    "Metrics": {
      "type": "object",
      "description": "Performance metrics returned in query results.",
      "properties": {
        "impressions": {
          "type": "integer",
          "format": "int64",
          "description": "Number of times the ad was shown."
        },
        "clicks": {
          "type": "integer",
          "format": "int64",
          "description": "Number of clicks on the ad."
        },
        "costMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Total cost in micros (1,000,000 micros = 1 unit of currency)."
        },
        "conversions": {
          "type": "number",
          "description": "Number of conversions."
        },
        "conversionsValue": {
          "type": "number",
          "description": "Total value of conversions."
        },
        "ctr": {
          "type": "number",
          "description": "Click-through rate (clicks / impressions)."
        },
        "averageCpc": {
          "type": "integer",
          "format": "int64",
          "description": "Average cost per click in micros."
        },
        "averageCpm": {
          "type": "number",
          "description": "Average cost per thousand impressions in micros."
        },
        "costPerConversion": {
          "type": "number",
          "description": "Cost per conversion in micros."
        },
        "conversionRate": {
          "type": "number",
          "description": "Conversion rate (conversions / clicks)."
        },
        "searchImpressionShare": {
          "type": "number",
          "description": "Search impression share as a fraction."
        },
        "searchRankLostImpressionShare": {
          "type": "number",
          "description": "Search impression share lost due to ad rank."
        },
        "searchBudgetLostImpressionShare": {
          "type": "number",
          "description": "Search impression share lost due to budget."
        },
        "allConversions": {
          "type": "number",
          "description": "Total of all conversions including cross-device."
        },
        "viewThroughConversions": {
          "type": "integer",
          "format": "int64",
          "description": "View-through conversions from display and video ads."
        },
        "interactionRate": {
          "type": "number",
          "description": "Interaction rate (interactions / impressions)."
        },
        "averageCost": {
          "type": "integer",
          "format": "int64",
          "description": "Average cost per interaction in micros."
        }
      }
    },
    "NetworkSettings": {
      "type": "object",
      "description": "Network targeting settings for a campaign.",
      "properties": {
        "targetGoogleSearch": {
          "type": "boolean",
          "description": "Whether ads are served on the Google Search Network."
        },
        "targetSearchNetwork": {
          "type": "boolean",
          "description": "Whether ads are served on Google search partner sites."
        },
        "targetContentNetwork": {
          "type": "boolean",
          "description": "Whether ads are served on the Google Display Network."
        },
        "targetPartnerSearchNetwork": {
          "type": "boolean",
          "description": "Whether ads are served on the Google Partner Network."
        }
      }
    },
    "PolicySummary": {
      "type": "object",
      "description": "Policy review status and approval information.",
      "properties": {
        "approvalStatus": {
          "type": "string",
          "enum": [
            "APPROVED",
            "APPROVED_LIMITED",
            "AREA_OF_INTEREST_ONLY",
            "DISAPPROVED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Overall approval status of the ad."
        },
        "reviewStatus": {
          "type": "string",
          "enum": [
            "REVIEW_IN_PROGRESS",
            "REVIEWED",
            "UNDER_APPEAL",
            "ELIGIBLE_MAY_SERVE",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Current review status of the ad."
        },
        "policyTopicEntries": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "The policy topic type."
              },
              "topic": {
                "type": "string",
                "description": "The policy topic name."
              }
            }
          }
        }
      }
    },
    "QualityInfo": {
      "type": "object",
      "description": "Quality score and component metrics for a keyword.",
      "properties": {
        "qualityScore": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10,
          "description": "Quality Score on a 1-10 scale."
        },
        "creativeQualityScore": {
          "type": "string",
          "enum": [
            "ABOVE_AVERAGE",
            "AVERAGE",
            "BELOW_AVERAGE",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Ad relevance quality component."
        },
        "postClickQualityScore": {
          "type": "string",
          "enum": [
            "ABOVE_AVERAGE",
            "AVERAGE",
            "BELOW_AVERAGE",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Landing page experience quality component."
        },
        "searchPredictedCtr": {
          "type": "string",
          "enum": [
            "ABOVE_AVERAGE",
            "AVERAGE",
            "BELOW_AVERAGE",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Expected click-through rate quality component."
        }
      }
    },
    "ResponsiveDisplayAdInfo": {
      "type": "object",
      "description": "A responsive display ad that automatically adjusts size, appearance, and format.",
      "properties": {
        "headlines": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AdTextAsset"
          }
        },
        "longHeadline": {
          "$ref": "#/$defs/AdTextAsset"
        },
        "descriptions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AdTextAsset"
          }
        },
        "businessName": {
          "type": "string",
          "description": "The advertiser business name."
        }
      }
    },
    "ResponsiveSearchAdInfo": {
      "type": "object",
      "description": "A responsive search ad composed of multiple headlines and descriptions that Google optimizes.",
      "properties": {
        "headlines": {
          "type": "array",
          "description": "List of headline assets (minimum 3, maximum 15).",
          "items": {
            "$ref": "#/$defs/AdTextAsset"
          }
        },
        "descriptions": {
          "type": "array",
          "description": "List of description assets (minimum 2, maximum 4).",
          "items": {
            "$ref": "#/$defs/AdTextAsset"
          }
        },
        "path1": {
          "type": "string",
          "description": "First part of the display URL path appended to the domain."
        },
        "path2": {
          "type": "string",
          "description": "Second part of the display URL path."
        }
      }
    },
    "Segments": {
      "type": "object",
      "description": "Segment dimensions for slicing report data.",
      "properties": {
        "date": {
          "type": "string",
          "description": "Date in yyyy-MM-dd format."
        },
        "dayOfWeek": {
          "type": "string",
          "enum": [
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Day of the week."
        },
        "device": {
          "type": "string",
          "enum": [
            "MOBILE",
            "TABLET",
            "DESKTOP",
            "CONNECTED_TV",
            "OTHER",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Device type."
        },
        "adNetworkType": {
          "type": "string",
          "enum": [
            "SEARCH",
            "SEARCH_PARTNERS",
            "CONTENT",
            "YOUTUBE_SEARCH",
            "YOUTUBE_WATCH",
            "MIXED",
            "UNKNOWN",
            "UNSPECIFIED"
          ],
          "description": "Ad network type."
        },
        "conversionAction": {
          "type": "string",
          "description": "Resource name of the conversion action."
        },
        "conversionActionCategory": {
          "type": "string",
          "description": "Category of the conversion action."
        },
        "quarter": {
          "type": "string",
          "description": "Quarter in yyyy-MM-dd format (first day of the quarter)."
        },
        "month": {
          "type": "string",
          "description": "Month in yyyy-MM-dd format (first day of the month)."
        },
        "week": {
          "type": "string",
          "description": "Week in yyyy-MM-dd format (Monday of the week)."
        },
        "year": {
          "type": "integer",
          "description": "Year as a four-digit integer."
        },
        "hour": {
          "type": "integer",
          "description": "Hour of the day (0-23)."
        },
        "keyword": {
          "type": "object",
          "properties": {
            "info": {
              "$ref": "#/$defs/KeywordInfo"
            },
            "adGroupCriterion": {
              "type": "string",
              "description": "Resource name of the keyword criterion."
            }
          }
        }
      }
    },
    "TargetCpa": {
      "type": "object",
      "description": "Target CPA (cost per acquisition) bidding strategy configuration.",
      "properties": {
        "targetCpaMicros": {
          "type": "integer",
          "format": "int64",
          "description": "Target CPA amount in micros (1,000,000 micros = 1 unit of currency)."
        }
      }
    },
    "TargetRoas": {
      "type": "object",
      "description": "Target ROAS (return on ad spend) bidding strategy configuration.",
      "properties": {
        "targetRoas": {
          "type": "number",
          "description": "Target return on ad spend as a ratio, e.g. 3.5 means 350% ROAS."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-ads-search-google-ads-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.