{
  "protocol": "rest",
  "canonicalName": "CustomSearch API",
  "kind": "discovery#restDescription",
  "parameters": {
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query",
      "default": "true"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "location": "query"
    },
    "alt": {
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response.",
      "default": "json"
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    }
  },
  "baseUrl": "https://customsearch.googleapis.com/",
  "revision": "20260813",
  "ownerName": "Google",
  "documentationLink": "https://developers.google.com/custom-search/v1/introduction",
  "resources": {
    "cse": {
      "methods": {
        "list": {
          "id": "search.cse.list",
          "response": {
            "$ref": "Search"
          },
          "path": "customsearch/v1",
          "parameterOrder": [],
          "httpMethod": "GET",
          "parameters": {
            "rights": {
              "location": "query",
              "type": "string",
              "description": "Filters based on licensing. Supported values include: `cc_publicdomain`, `cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and combinations of these. See [typical combinations](https://wiki.creativecommons.org/wiki/CC_Search_integration)."
            },
            "googlehost": {
              "location": "query",
              "description": "**Deprecated**. Use the `gl` parameter for a similar effect. The local Google domain (for example, google.com, google.de, or google.fr) to use to perform the search.",
              "type": "string"
            },
            "sort": {
              "location": "query",
              "description": "The sort expression to apply to the results. The sort parameter specifies that the results be sorted according to the specified expression i.e. sort by date. [Example: sort=date](https://developers.google.com/custom-search/docs/structured_search#sort-by-attribute).",
              "type": "string"
            },
            "relatedSite": {
              "location": "query",
              "type": "string",
              "description": "Deprecated.",
              "deprecated": true
            },
            "c2coff": {
              "type": "string",
              "description": "Enables or disables [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch). The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * `1`: Disabled * `0`: Enabled (default)",
              "location": "query"
            },
            "imgColorType": {
              "type": "string",
              "location": "query",
              "enum": [
                "imgColorTypeUndefined",
                "mono",
                "gray",
                "color",
                "trans"
              ],
              "enumDescriptions": [
                "No image color type specified.",
                "Black and white images only.",
                "Grayscale images only.",
                "Color images only.",
                "Images with transparent background"
              ],
              "description": "Returns black and white, grayscale, transparent, or color images. Acceptable values are: * `\"color\"` * `\"gray\"` * `\"mono\"`: black and white * `\"trans\"`: transparent background"
            },
            "enableAlternateSearchHandler": {
              "type": "boolean",
              "description": "Optional. Enables routing of Programmable Search Engine requests to an alternate search handler.",
              "location": "query"
            },
            "dateRestrict": {
              "description": "Restricts results to URLs based on date. Supported values include: * `d[number]`: requests results from the specified number of past days. * `w[number]`: requests results from the specified number of past weeks. * `m[number]`: requests results from the specified number of past months. * `y[number]`: requests results from the specified number of past years.",
              "type": "string",
              "location": "query"
            },
            "gl": {
              "type": "string",
              "description": "Geolocation of end user. * The `gl` parameter value is a two-letter country code. The `gl` parameter boosts search results whose country of origin matches the parameter value. See the [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) page for a list of valid values. * Specifying a `gl` parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States.",
              "location": "query"
            },
            "fileType": {
              "type": "string",
              "description": "Restricts results to files of a specified extension. A list of file types indexable by Google can be found in Search Console [Help Center](https://support.google.com/webmasters/answer/35287).",
              "location": "query"
            },
            "filter": {
              "description": "Controls turning on or off the duplicate content filter. * See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * `0`: Turns off duplicate content filter. * `1`: Turns on duplicate content filter.",
              "type": "string",
              "location": "query"
            },
            "orTerms": {
              "type": "string",
              "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms.",
              "location": "query"
            },
            "num": {
              "type": "integer",
              "description": "Number of search results to return. * Valid values are integers between 1 and 10, inclusive.",
              "location": "query",
              "format": "int32"
            },
            "exactTerms": {
              "type": "string",
              "description": "Identifies a phrase that all documents in the search results must contain.",
              "location": "query"
            },
            "siteSearchFilter": {
              "type": "string",
              "location": "query",
              "enum": [
                "siteSearchFilterUndefined",
                "e",
                "i"
              ],
              "description": "Controls whether to include or exclude results from the site named in the `siteSearch` parameter. Acceptable values are: * `\"e\"`: exclude * `\"i\"`: include",
              "enumDescriptions": [
                "Filter mode unspecified.",
                "Exclude results from the listed sites.",
                "Include only results from the listed sites."
              ]
            },
            "snippetLength": {
              "location": "query",
              "format": "int32",
              "description": "Optional. Maximum length of snippet text, in characters, to be returned with results. Note: this feature is limited to specific engines. * Valid values are integers between 161 and 1000, inclusive.",
              "type": "integer"
            },
            "lr": {
              "location": "query",
              "type": "string",
              "description": "Restricts the search to documents written in a particular language (e.g., `lr=lang_ja`). Acceptable values are: * `\"lang_ar\"`: Arabic * `\"lang_bg\"`: Bulgarian * `\"lang_ca\"`: Catalan * `\"lang_cs\"`: Czech * `\"lang_da\"`: Danish * `\"lang_de\"`: German * `\"lang_el\"`: Greek * `\"lang_en\"`: English * `\"lang_es\"`: Spanish * `\"lang_et\"`: Estonian * `\"lang_fi\"`: Finnish * `\"lang_fr\"`: French * `\"lang_hr\"`: Croatian * `\"lang_hu\"`: Hungarian * `\"lang_id\"`: Indonesian * `\"lang_is\"`: Icelandic * `\"lang_it\"`: Italian * `\"lang_iw\"`: Hebrew * `\"lang_ja\"`: Japanese * `\"lang_ko\"`: Korean * `\"lang_lt\"`: Lithuanian * `\"lang_lv\"`: Latvian * `\"lang_nl\"`: Dutch * `\"lang_no\"`: Norwegian * `\"lang_pl\"`: Polish * `\"lang_pt\"`: Portuguese * `\"lang_ro\"`: Romanian * `\"lang_ru\"`: Russian * `\"lang_sk\"`: Slovak * `\"lang_sl\"`: Slovenian * `\"lang_sr\"`: Serbian * `\"lang_sv\"`: Swedish * `\"lang_tr\"`: Turkish * `\"lang_zh-CN\"`: Chinese (Simplified) * `\"lang_zh-TW\"`: Chinese (Traditional)"
            },
            "searchType": {
              "type": "string",
              "location": "query",
              "enum": [
                "searchTypeUndefined",
                "image"
              ],
              "enumDescriptions": [
                "Search type unspecified (defaults to web search).",
                "Image search."
              ],
              "description": "Specifies the search type: `image`. If unspecified, results are limited to webpages. Acceptable values are: * `\"image\"`: custom image search."
            },
            "excludeTerms": {
              "location": "query",
              "type": "string",
              "description": "Identifies a word or phrase that should not appear in any documents in the search results."
            },
            "imgSize": {
              "enumDescriptions": [
                "No image size specified.",
                "Only the largest possible images.",
                "Only very small icon-sized images.",
                "Only large images.",
                "Only medium images.",
                "Only small images.",
                "Only very large images.",
                "Only extremely large images."
              ],
              "description": "Returns images of a specified size. Acceptable values are: * `\"huge\"` * `\"icon\"` * `\"large\"` * `\"medium\"` * `\"small\"` * `\"xlarge\"` * `\"xxlarge\"`",
              "type": "string",
              "location": "query",
              "enum": [
                "imgSizeUndefined",
                "HUGE",
                "ICON",
                "LARGE",
                "MEDIUM",
                "SMALL",
                "XLARGE",
                "XXLARGE"
              ]
            },
            "q": {
              "type": "string",
              "description": "Query",
              "location": "query"
            },
            "hq": {
              "location": "query",
              "type": "string",
              "description": "Appends the specified query terms to the query, as if they were combined with a logical AND operator."
            },
            "start": {
              "description": "The index of the first result to return. The default number of results per page is 10, so `&start=11` would start at the top of the second page of results. **Note**: The JSON API will never return more than 100 results, even if more than 100 documents match the query, so setting the sum of `start + num` to a number greater than 100 will produce an error. Also note that the maximum value for `num` is 10.",
              "type": "integer",
              "location": "query",
              "format": "uint32"
            },
            "highRange": {
              "type": "string",
              "description": "Specifies the ending value for a search range. * Use `lowRange` and `highRange` to append an inclusive search range of `lowRange...highRange` to the query.",
              "location": "query"
            },
            "safe": {
              "location": "query",
              "enumDeprecated": [
                false,
                false,
                true,
                true,
                false
              ],
              "enum": [
                "safeUndefined",
                "active",
                "high",
                "medium",
                "off"
              ],
              "type": "string",
              "enumDescriptions": [
                "SafeSearch mode unspecified. (Falls back to engine's configuration.)",
                "Turn SafeSearch on.",
                "Deprecated, equivalent to \"active\".",
                "Deprecated, equivalent to \"active\".",
                "Turn SafeSearch off."
              ],
              "description": "Search safety level. Acceptable values are: * `\"active\"`: Enables SafeSearch filtering. * `\"off\"`: Disables SafeSearch filtering. (default)"
            },
            "siteSearch": {
              "location": "query",
              "description": "Specifies a given site which should always be included or excluded from results (see `siteSearchFilter` parameter, below).",
              "type": "string"
            },
            "cx": {
              "location": "query",
              "description": "The Programmable Search Engine ID to use for this request.",
              "type": "string"
            },
            "lowRange": {
              "type": "string",
              "description": "Specifies the starting value for a search range. Use `lowRange` and `highRange` to append an inclusive search range of `lowRange...highRange` to the query.",
              "location": "query"
            },
            "imgType": {
              "description": "Returns images of a type. Acceptable values are: * `\"clipart\"` * `\"face\"` * `\"lineart\"` * `\"stock\"` * `\"photo\"` * `\"animated\"`",
              "enumDescriptions": [
                "No image type specified.",
                "Clipart-style images only.",
                "Images of faces only.",
                "Line art images only.",
                "Stock images only.",
                "Photo images only.",
                "Animated images only."
              ],
              "type": "string",
              "location": "query",
              "enum": [
                "imgTypeUndefined",
                "clipart",
                "face",
                "lineart",
                "stock",
                "photo",
                "animated"
              ]
            },
            "imgDominantColor": {
              "enumDescriptions": [
                "No dominant color specified.",
                "Predominantly black images only.",
                "Predominantly blue images only.",
                "Predominantly brown images only.",
                "Predominantly gray images only.",
                "Predominantly green images only.",
                "Predominantly orange images only.",
                "Predominantly pink images only.",
                "Predominantly purple images only.",
                "Predominantly red images only.",
                "Predominantly teal images only.",
                "Predominantly white images only.",
                "Predominantly yellow images only."
              ],
              "description": "Returns images of a specific dominant color. Acceptable values are: * `\"black\"` * `\"blue\"` * `\"brown\"` * `\"gray\"` * `\"green\"` * `\"orange\"` * `\"pink\"` * `\"purple\"` * `\"red\"` * `\"teal\"` * `\"white\"` * `\"yellow\"`",
              "location": "query",
              "enum": [
                "imgDominantColorUndefined",
                "black",
                "blue",
                "brown",
                "gray",
                "green",
                "orange",
                "pink",
                "purple",
                "red",
                "teal",
                "white",
                "yellow"
              ],
              "type": "string"
            },
            "linkSite": {
              "description": "Specifies that all search results should contain a link to a particular URL.",
              "type": "string",
              "location": "query"
            },
            "cr": {
              "location": "query",
              "type": "string",
              "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#booleanOperators) in the cr parameter's value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document's URL * the geographic location of the Web server's IP address See the [Country Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) page for a list of valid values for this parameter."
            },
            "hl": {
              "description": "Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.",
              "type": "string",
              "location": "query"
            }
          },
          "description": "Returns metadata about the search performed, metadata about the engine used for the search, and the search results.",
          "flatPath": "customsearch/v1"
        }
      },
      "resources": {
        "siterestrict": {
          "methods": {
            "list": {
              "id": "search.cse.siterestrict.list",
              "response": {
                "$ref": "Search"
              },
              "path": "customsearch/v1/siterestrict",
              "parameterOrder": [],
              "httpMethod": "GET",
              "parameters": {
                "relatedSite": {
                  "type": "string",
                  "description": "Deprecated.",
                  "deprecated": true,
                  "location": "query"
                },
                "rights": {
                  "description": "Filters based on licensing. Supported values include: `cc_publicdomain`, `cc_attribute`, `cc_sharealike`, `cc_noncommercial`, `cc_nonderived` and combinations of these. See [typical combinations](https://wiki.creativecommons.org/wiki/CC_Search_integration).",
                  "type": "string",
                  "location": "query"
                },
                "googlehost": {
                  "location": "query",
                  "type": "string",
                  "description": "**Deprecated**. Use the `gl` parameter for a similar effect. The local Google domain (for example, google.com, google.de, or google.fr) to use to perform the search."
                },
                "sort": {
                  "type": "string",
                  "description": "The sort expression to apply to the results. The sort parameter specifies that the results be sorted according to the specified expression i.e. sort by date. [Example: sort=date](https://developers.google.com/custom-search/docs/structured_search#sort-by-attribute).",
                  "location": "query"
                },
                "dateRestrict": {
                  "location": "query",
                  "type": "string",
                  "description": "Restricts results to URLs based on date. Supported values include: * `d[number]`: requests results from the specified number of past days. * `w[number]`: requests results from the specified number of past weeks. * `m[number]`: requests results from the specified number of past months. * `y[number]`: requests results from the specified number of past years."
                },
                "c2coff": {
                  "location": "query",
                  "description": "Enables or disables [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch). The default value for this parameter is 0 (zero), meaning that the feature is enabled. Supported values are: * `1`: Disabled * `0`: Enabled (default)",
                  "type": "string"
                },
                "imgColorType": {
                  "type": "string",
                  "location": "query",
                  "enum": [
                    "imgColorTypeUndefined",
                    "mono",
                    "gray",
                    "color",
                    "trans"
                  ],
                  "description": "Returns black and white, grayscale, transparent, or color images. Acceptable values are: * `\"color\"` * `\"gray\"` * `\"mono\"`: black and white * `\"trans\"`: transparent background",
                  "enumDescriptions": [
                    "No image color type specified.",
                    "Black and white images only.",
                    "Grayscale images only.",
                    "Color images only.",
                    "Images with transparent background"
                  ]
                },
                "enableAlternateSearchHandler": {
                  "location": "query",
                  "description": "Optional. Enables routing of Programmable Search Engine requests to an alternate search handler.",
                  "type": "boolean"
                },
                "fileType": {
                  "location": "query",
                  "type": "string",
                  "description": "Restricts results to files of a specified extension. A list of file types indexable by Google can be found in Search Console [Help Center](https://support.google.com/webmasters/answer/35287)."
                },
                "gl": {
                  "location": "query",
                  "type": "string",
                  "description": "Geolocation of end user. * The `gl` parameter value is a two-letter country code. The `gl` parameter boosts search results whose country of origin matches the parameter value. See the [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) page for a list of valid values. * Specifying a `gl` parameter value should lead to more relevant results. This is particularly true for international customers and, even more specifically, for customers in English- speaking countries other than the United States."
                },
                "filter": {
                  "location": "query",
                  "description": "Controls turning on or off the duplicate content filter. * See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Note that host crowding filtering applies only to multi-site searches. * By default, Google applies filtering to all search results to improve the quality of those results. Acceptable values are: * `0`: Turns off duplicate content filter. * `1`: Turns on duplicate content filter.",
                  "type": "string"
                },
                "orTerms": {
                  "location": "query",
                  "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms.",
                  "type": "string"
                },
                "num": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "Number of search results to return. * Valid values are integers between 1 and 10, inclusive."
                },
                "exactTerms": {
                  "type": "string",
                  "description": "Identifies a phrase that all documents in the search results must contain.",
                  "location": "query"
                },
                "lr": {
                  "location": "query",
                  "description": "Restricts the search to documents written in a particular language (e.g., `lr=lang_ja`). Acceptable values are: * `\"lang_ar\"`: Arabic * `\"lang_bg\"`: Bulgarian * `\"lang_ca\"`: Catalan * `\"lang_cs\"`: Czech * `\"lang_da\"`: Danish * `\"lang_de\"`: German * `\"lang_el\"`: Greek * `\"lang_en\"`: English * `\"lang_es\"`: Spanish * `\"lang_et\"`: Estonian * `\"lang_fi\"`: Finnish * `\"lang_fr\"`: French * `\"lang_hr\"`: Croatian * `\"lang_hu\"`: Hungarian * `\"lang_id\"`: Indonesian * `\"lang_is\"`: Icelandic * `\"lang_it\"`: Italian * `\"lang_iw\"`: Hebrew * `\"lang_ja\"`: Japanese * `\"lang_ko\"`: Korean * `\"lang_lt\"`: Lithuanian * `\"lang_lv\"`: Latvian * `\"lang_nl\"`: Dutch * `\"lang_no\"`: Norwegian * `\"lang_pl\"`: Polish * `\"lang_pt\"`: Portuguese * `\"lang_ro\"`: Romanian * `\"lang_ru\"`: Russian * `\"lang_sk\"`: Slovak * `\"lang_sl\"`: Slovenian * `\"lang_sr\"`: Serbian * `\"lang_sv\"`: Swedish * `\"lang_tr\"`: Turkish * `\"lang_zh-CN\"`: Chinese (Simplified) * `\"lang_zh-TW\"`: Chinese (Traditional)",
                  "type": "string"
                },
                "searchType": {
                  "location": "query",
                  "enum": [
                    "searchTypeUndefined",
                    "image"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "Search type unspecified (defaults to web search).",
                    "Image search."
                  ],
                  "description": "Specifies the search type: `image`. If unspecified, results are limited to webpages. Acceptable values are: * `\"image\"`: custom image search."
                },
                "excludeTerms": {
                  "location": "query",
                  "type": "string",
                  "description": "Identifies a word or phrase that should not appear in any documents in the search results."
                },
                "siteSearchFilter": {
                  "enumDescriptions": [
                    "Filter mode unspecified.",
                    "Exclude results from the listed sites.",
                    "Include only results from the listed sites."
                  ],
                  "description": "Controls whether to include or exclude results from the site named in the `siteSearch` parameter. Acceptable values are: * `\"e\"`: exclude * `\"i\"`: include",
                  "location": "query",
                  "enum": [
                    "siteSearchFilterUndefined",
                    "e",
                    "i"
                  ],
                  "type": "string"
                },
                "snippetLength": {
                  "description": "Optional. Maximum length of snippet text, in characters, to be returned with results. Note: this feature is limited to specific engines. * Valid values are integers between 161 and 1000, inclusive.",
                  "type": "integer",
                  "location": "query",
                  "format": "int32"
                },
                "imgSize": {
                  "enumDescriptions": [
                    "No image size specified.",
                    "Only the largest possible images.",
                    "Only very small icon-sized images.",
                    "Only large images.",
                    "Only medium images.",
                    "Only small images.",
                    "Only very large images.",
                    "Only extremely large images."
                  ],
                  "description": "Returns images of a specified size. Acceptable values are: * `\"huge\"` * `\"icon\"` * `\"large\"` * `\"medium\"` * `\"small\"` * `\"xlarge\"` * `\"xxlarge\"`",
                  "type": "string",
                  "location": "query",
                  "enum": [
                    "imgSizeUndefined",
                    "HUGE",
                    "ICON",
                    "LARGE",
                    "MEDIUM",
                    "SMALL",
                    "XLARGE",
                    "XXLARGE"
                  ]
                },
                "q": {
                  "location": "query",
                  "description": "Query",
                  "type": "string"
                },
                "highRange": {
                  "description": "Specifies the ending value for a search range. * Use `lowRange` and `highRange` to append an inclusive search range of `lowRange...highRange` to the query.",
                  "type": "string",
                  "location": "query"
                },
                "hq": {
                  "location": "query",
                  "description": "Appends the specified query terms to the query, as if they were combined with a logical AND operator.",
                  "type": "string"
                },
                "start": {
                  "description": "The index of the first result to return. The default number of results per page is 10, so `&start=11` would start at the top of the second page of results. **Note**: The JSON API will never return more than 100 results, even if more than 100 documents match the query, so setting the sum of `start + num` to a number greater than 100 will produce an error. Also note that the maximum value for `num` is 10.",
                  "type": "integer",
                  "location": "query",
                  "format": "uint32"
                },
                "safe": {
                  "enumDescriptions": [
                    "SafeSearch mode unspecified. (Falls back to engine's configuration.)",
                    "Turn SafeSearch on.",
                    "Deprecated, equivalent to \"active\".",
                    "Deprecated, equivalent to \"active\".",
                    "Turn SafeSearch off."
                  ],
                  "description": "Search safety level. Acceptable values are: * `\"active\"`: Enables SafeSearch filtering. * `\"off\"`: Disables SafeSearch filtering. (default)",
                  "location": "query",
                  "enumDeprecated": [
                    false,
                    false,
                    true,
                    true,
                    false
                  ],
                  "enum": [
                    "safeUndefined",
                    "active",
                    "high",
                    "medium",
                    "off"
                  ],
                  "type": "string"
                },
                "siteSearch": {
                  "location": "query",
                  "description": "Specifies a given site which should always be included or excluded from results (see `siteSearchFilter` parameter, below).",
                  "type": "string"
                },
                "cx": {
                  "description": "The Programmable Search Engine ID to use for this request.",
                  "type": "string",
                  "location": "query"
                },
                "imgType": {
                  "location": "query",
                  "enum": [
                    "imgTypeUndefined",
                    "clipart",
                    "face",
                    "lineart",
                    "stock",
                    "photo",
                    "animated"
                  ],
                  "type": "string",
                  "enumDescriptions": [
                    "No image type specified.",
                    "Clipart-style images only.",
                    "Images of faces only.",
                    "Line art images only.",
                    "Stock images only.",
                    "Photo images only.",
                    "Animated images only."
                  ],
                  "description": "Returns images of a type. Acceptable values are: * `\"clipart\"` * `\"face\"` * `\"lineart\"` * `\"stock\"` * `\"photo\"` * `\"animated\"`"
                },
                "imgDominantColor": {
                  "description": "Returns images of a specific dominant color. Acceptable values are: * `\"black\"` * `\"blue\"` * `\"brown\"` * `\"gray\"` * `\"green\"` * `\"orange\"` * `\"pink\"` * `\"purple\"` * `\"red\"` * `\"teal\"` * `\"white\"` * `\"yellow\"`",
                  "enumDescriptions": [
                    "No dominant color specified.",
                    "Predominantly black images only.",
                    "Predominantly blue images only.",
                    "Predominantly brown images only.",
                    "Predominantly gray images only.",
                    "Predominantly green images only.",
                    "Predominantly orange images only.",
                    "Predominantly pink images only.",
                    "Predominantly purple images only.",
                    "Predominantly red images only.",
                    "Predominantly teal images only.",
                    "Predominantly white images only.",
                    "Predominantly yellow images only."
                  ],
                  "location": "query",
                  "enum": [
                    "imgDominantColorUndefined",
                    "black",
                    "blue",
                    "brown",
                    "gray",
                    "green",
                    "orange",
                    "pink",
                    "purple",
                    "red",
                    "teal",
                    "white",
                    "yellow"
                  ],
                  "type": "string"
                },
                "linkSite": {
                  "location": "query",
                  "description": "Specifies that all search results should contain a link to a particular URL.",
                  "type": "string"
                },
                "lowRange": {
                  "description": "Specifies the starting value for a search range. Use `lowRange` and `highRange` to append an inclusive search range of `lowRange...highRange` to the query.",
                  "type": "string",
                  "location": "query"
                },
                "cr": {
                  "type": "string",
                  "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#booleanOperators) in the cr parameter's value. Google Search determines the country of a document by analyzing: * the top-level domain (TLD) of the document's URL * the geographic location of the Web server's IP address See the [Country Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) page for a list of valid values for this parameter.",
                  "location": "query"
                },
                "hl": {
                  "description": "Sets the user interface language. * Explicitly setting this parameter improves the performance and the quality of your search results. * See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.",
                  "type": "string",
                  "location": "query"
                }
              },
              "description": "Returns metadata about the search performed, metadata about the engine used for the search, and the search results. Uses a small set of url patterns.",
              "flatPath": "customsearch/v1/siterestrict"
            }
          }
        }
      }
    }
  },
  "mtlsRootUrl": "https://customsearch.mtls.googleapis.com/",
  "title": "Custom Search API",
  "name": "customsearch",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "discoveryVersion": "v1",
  "batchPath": "batch",
  "id": "customsearch:v1",
  "version_module": true,
  "schemas": {
    "Search": {
      "properties": {
        "searchInformation": {
          "type": "object",
          "description": "Metadata about a search operation.",
          "properties": {
            "searchTime": {
              "type": "number",
              "description": "The time taken for the server to return search results.",
              "format": "double"
            },
            "formattedSearchTime": {
              "description": "The time taken for the server to return search results, formatted according to locale style.",
              "type": "string"
            },
            "totalResults": {
              "type": "string",
              "description": "The total number of search results returned by the query."
            },
            "formattedTotalResults": {
              "type": "string",
              "description": "The total number of search results, formatted according to locale style."
            }
          }
        },
        "queries": {
          "description": "Query metadata for the previous, current, and next pages of results.",
          "type": "object",
          "properties": {
            "nextPage": {
              "type": "array",
              "items": {
                "properties": {
                  "cr": {
                    "type": "string",
                    "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) for a list of valid values for this parameter."
                  },
                  "disableCnTwTranslation": {
                    "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled",
                    "type": "string"
                  },
                  "hl": {
                    "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.",
                    "type": "string"
                  },
                  "imgType": {
                    "description": "Restricts results to images of a specified type. Supported values are: * `clipart` (Clip art) * `face` (Face) * `lineart` (Line drawing) * `photo` (Photo) * `animated` (Animated) * `stock` (Stock)",
                    "type": "string"
                  },
                  "outputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search results."
                  },
                  "linkSite": {
                    "type": "string",
                    "description": "Specifies that all results should contain a link to a specific URL."
                  },
                  "imgDominantColor": {
                    "description": "Restricts results to images with a specific dominant color. Supported values are: * `red` * `orange` * `yellow` * `green` * `teal` * `blue` * `purple` * `pink` * `white` * `gray` * `black` * `brown`",
                    "type": "string"
                  },
                  "searchTerms": {
                    "description": "The search terms entered by the user.",
                    "type": "string"
                  },
                  "lowRange": {
                    "description": "Specifies the starting value for a search range. Use `cse:lowRange` and `cse:highrange` to append an inclusive search range of `lowRange...highRange` to the query.",
                    "type": "string"
                  },
                  "safe": {
                    "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/json_api_reference#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch",
                    "type": "string"
                  },
                  "siteSearch": {
                    "type": "string",
                    "description": "Restricts results to URLs from a specified site."
                  },
                  "cx": {
                    "type": "string",
                    "description": "The identifier of an engine created using the Programmable Search Engine [Control Panel](https://programmablesearchengine.google.com/). This is a custom property not defined in the OpenSearch spec. This parameter is **required**."
                  },
                  "highRange": {
                    "description": "Specifies the ending value for a search range. Use `cse:lowRange` and `cse:highrange` to append an inclusive search range of `lowRange...highRange` to the query.",
                    "type": "string"
                  },
                  "hq": {
                    "description": "Appends the specified query terms to the query, as if they were combined with a logical `AND` operator.",
                    "type": "string"
                  },
                  "startIndex": {
                    "format": "int32",
                    "description": "The index of the current set of search results into the total set of results, where the index of the first result is 1.",
                    "type": "integer"
                  },
                  "inputEncoding": {
                    "description": "The character encoding supported for search requests.",
                    "type": "string"
                  },
                  "imgSize": {
                    "description": "Restricts results to images of a specified size. Supported values are: * `icon` (small) * `small | medium | large | xlarge` (medium) * `xxlarge` (large) * `huge` (extra-large)",
                    "type": "string"
                  },
                  "searchType": {
                    "type": "string",
                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited to webpages."
                  },
                  "count": {
                    "format": "int32",
                    "description": "Number of search results returned in this set.",
                    "type": "integer"
                  },
                  "excludeTerms": {
                    "description": "Identifies a word or phrase that should not appear in any documents in the search results.",
                    "type": "string"
                  },
                  "siteSearchFilter": {
                    "description": "Specifies whether to include or exclude results from the site named in the `sitesearch` parameter. Supported values are: * `i`: include content from site * `e`: exclude content from site",
                    "type": "string"
                  },
                  "title": {
                    "description": "A description of the query.",
                    "type": "string"
                  },
                  "startPage": {
                    "format": "int32",
                    "type": "integer",
                    "description": "The page number of this set of results, where the page length is set by the `count` property."
                  },
                  "exactTerms": {
                    "type": "string",
                    "description": "Identifies a phrase that all documents in the search results must contain."
                  },
                  "orTerms": {
                    "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) query term for this type of query.",
                    "type": "string"
                  },
                  "filter": {
                    "type": "string",
                    "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results."
                  },
                  "googleHost": {
                    "type": "string",
                    "description": "Specifies the Google domain (for example, google.com, google.de, or google.fr) to which the search should be limited."
                  },
                  "totalResults": {
                    "type": "string",
                    "description": "Estimated number of total search results. May not be accurate.",
                    "format": "int64"
                  },
                  "fileType": {
                    "type": "string",
                    "description": "Restricts results to files of a specified extension. Filetypes supported by Google include: * Adobe Portable Document Format (`pdf`) * Adobe PostScript (`ps`) * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`) * Lotus WordPro (`lwp`) * Macwrite (`mw`) * Microsoft Excel (`xls`) * Microsoft PowerPoint (`ppt`) * Microsoft Word (`doc`) * Microsoft Works (`wks`, `wps`, `wdb`) * Microsoft Write (`wri`) * Rich Text Format (`rtf`) * Shockwave Flash (`swf`) * Text (`ans`, `txt`). Additional filetypes may be added in the future. An up-to-date list can always be found in Google's [file type FAQ](https://support.google.com/webmasters/answer/35287)."
                  },
                  "gl": {
                    "type": "string",
                    "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States."
                  },
                  "dateRestrict": {
                    "type": "string",
                    "description": "Restricts results to URLs based on date. Supported values include: * `d[number]`: requests results from the specified number of past days. * `w[number]`: requests results from the specified number of past weeks. * `m[number]`: requests results from the specified number of past months. * `y[number]`: requests results from the specified number of past years."
                  },
                  "imgColorType": {
                    "type": "string",
                    "description": "Restricts results to images of a specified color type. Supported values are: * `mono` (black and white) * `gray` (grayscale) * `color` (color)"
                  },
                  "relatedSite": {
                    "description": "Specifies that all search results should be pages that are related to the specified URL. The parameter value should be a URL.",
                    "type": "string"
                  },
                  "language": {
                    "description": "The language of the search results.",
                    "type": "string"
                  },
                  "rights": {
                    "type": "string",
                    "description": "Filters based on licensing. Supported values include: * `cc_publicdomain` * `cc_attribute` * `cc_sharealike` * `cc_noncommercial` * `cc_nonderived`"
                  },
                  "sort": {
                    "description": "Specifies that results should be sorted according to the specified expression. For example, sort by date.",
                    "type": "string"
                  }
                },
                "type": "object",
                "description": "Custom search request metadata."
              },
              "description": "Metadata representing the next page of results, if applicable."
            },
            "previousPage": {
              "type": "array",
              "items": {
                "properties": {
                  "cr": {
                    "type": "string",
                    "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) for a list of valid values for this parameter."
                  },
                  "disableCnTwTranslation": {
                    "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled",
                    "type": "string"
                  },
                  "hl": {
                    "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.",
                    "type": "string"
                  },
                  "searchTerms": {
                    "description": "The search terms entered by the user.",
                    "type": "string"
                  },
                  "lowRange": {
                    "description": "Specifies the starting value for a search range. Use `cse:lowRange` and `cse:highrange` to append an inclusive search range of `lowRange...highRange` to the query.",
                    "type": "string"
                  },
                  "imgType": {
                    "type": "string",
                    "description": "Restricts results to images of a specified type. Supported values are: * `clipart` (Clip art) * `face` (Face) * `lineart` (Line drawing) * `photo` (Photo) * `animated` (Animated) * `stock` (Stock)"
                  },
                  "outputEncoding": {
                    "description": "The character encoding supported for search results.",
                    "type": "string"
                  },
                  "linkSite": {
                    "description": "Specifies that all results should contain a link to a specific URL.",
                    "type": "string"
                  },
                  "imgDominantColor": {
                    "type": "string",
                    "description": "Restricts results to images with a specific dominant color. Supported values are: * `red` * `orange` * `yellow` * `green` * `teal` * `blue` * `purple` * `pink` * `white` * `gray` * `black` * `brown`"
                  },
                  "safe": {
                    "type": "string",
                    "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/json_api_reference#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch"
                  },
                  "siteSearch": {
                    "description": "Restricts results to URLs from a specified site.",
                    "type": "string"
                  },
                  "cx": {
                    "description": "The identifier of an engine created using the Programmable Search Engine [Control Panel](https://programmablesearchengine.google.com/). This is a custom property not defined in the OpenSearch spec. This parameter is **required**.",
                    "type": "string"
                  },
                  "hq": {
                    "type": "string",
                    "description": "Appends the specified query terms to the query, as if they were combined with a logical `AND` operator."
                  },
                  "startIndex": {
                    "description": "The index of the current set of search results into the total set of results, where the index of the first result is 1.",
                    "type": "integer",
                    "format": "int32"
                  },
                  "highRange": {
                    "description": "Specifies the ending value for a search range. Use `cse:lowRange` and `cse:highrange` to append an inclusive search range of `lowRange...highRange` to the query.",
                    "type": "string"
                  },
                  "inputEncoding": {
                    "description": "The character encoding supported for search requests.",
                    "type": "string"
                  },
                  "imgSize": {
                    "type": "string",
                    "description": "Restricts results to images of a specified size. Supported values are: * `icon` (small) * `small | medium | large | xlarge` (medium) * `xxlarge` (large) * `huge` (extra-large)"
                  },
                  "siteSearchFilter": {
                    "type": "string",
                    "description": "Specifies whether to include or exclude results from the site named in the `sitesearch` parameter. Supported values are: * `i`: include content from site * `e`: exclude content from site"
                  },
                  "searchType": {
                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited to webpages.",
                    "type": "string"
                  },
                  "count": {
                    "type": "integer",
                    "description": "Number of search results returned in this set.",
                    "format": "int32"
                  },
                  "excludeTerms": {
                    "type": "string",
                    "description": "Identifies a word or phrase that should not appear in any documents in the search results."
                  },
                  "title": {
                    "description": "A description of the query.",
                    "type": "string"
                  },
                  "startPage": {
                    "format": "int32",
                    "type": "integer",
                    "description": "The page number of this set of results, where the page length is set by the `count` property."
                  },
                  "exactTerms": {
                    "description": "Identifies a phrase that all documents in the search results must contain.",
                    "type": "string"
                  },
                  "orTerms": {
                    "type": "string",
                    "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) query term for this type of query."
                  },
                  "filter": {
                    "type": "string",
                    "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results."
                  },
                  "googleHost": {
                    "description": "Specifies the Google domain (for example, google.com, google.de, or google.fr) to which the search should be limited.",
                    "type": "string"
                  },
                  "gl": {
                    "type": "string",
                    "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States."
                  },
                  "totalResults": {
                    "format": "int64",
                    "description": "Estimated number of total search results. May not be accurate.",
                    "type": "string"
                  },
                  "fileType": {
                    "type": "string",
                    "description": "Restricts results to files of a specified extension. Filetypes supported by Google include: * Adobe Portable Document Format (`pdf`) * Adobe PostScript (`ps`) * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`) * Lotus WordPro (`lwp`) * Macwrite (`mw`) * Microsoft Excel (`xls`) * Microsoft PowerPoint (`ppt`) * Microsoft Word (`doc`) * Microsoft Works (`wks`, `wps`, `wdb`) * Microsoft Write (`wri`) * Rich Text Format (`rtf`) * Shockwave Flash (`swf`) * Text (`ans`, `txt`). Additional filetypes may be added in the future. An up-to-date list can always be found in Google's [file type FAQ](https://support.google.com/webmasters/answer/35287)."
                  },
                  "imgColorType": {
                    "description": "Restricts results to images of a specified color type. Supported values are: * `mono` (black and white) * `gray` (grayscale) * `color` (color)",
                    "type": "string"
                  },
                  "dateRestrict": {
                    "type": "string",
                    "description": "Restricts results to URLs based on date. Supported values include: * `d[number]`: requests results from the specified number of past days. * `w[number]`: requests results from the specified number of past weeks. * `m[number]`: requests results from the specified number of past months. * `y[number]`: requests results from the specified number of past years."
                  },
                  "language": {
                    "description": "The language of the search results.",
                    "type": "string"
                  },
                  "rights": {
                    "description": "Filters based on licensing. Supported values include: * `cc_publicdomain` * `cc_attribute` * `cc_sharealike` * `cc_noncommercial` * `cc_nonderived`",
                    "type": "string"
                  },
                  "sort": {
                    "description": "Specifies that results should be sorted according to the specified expression. For example, sort by date.",
                    "type": "string"
                  },
                  "relatedSite": {
                    "description": "Specifies that all search results should be pages that are related to the specified URL. The parameter value should be a URL.",
                    "type": "string"
                  }
                },
                "description": "Custom search request metadata.",
                "type": "object"
              },
              "description": "Metadata representing the previous page of results, if applicable."
            },
            "request": {
              "type": "array",
              "items": {
                "description": "Custom search request metadata.",
                "type": "object",
                "properties": {
                  "dateRestrict": {
                    "type": "string",
                    "description": "Restricts results to URLs based on date. Supported values include: * `d[number]`: requests results from the specified number of past days. * `w[number]`: requests results from the specified number of past weeks. * `m[number]`: requests results from the specified number of past months. * `y[number]`: requests results from the specified number of past years."
                  },
                  "imgColorType": {
                    "type": "string",
                    "description": "Restricts results to images of a specified color type. Supported values are: * `mono` (black and white) * `gray` (grayscale) * `color` (color)"
                  },
                  "totalResults": {
                    "description": "Estimated number of total search results. May not be accurate.",
                    "type": "string",
                    "format": "int64"
                  },
                  "fileType": {
                    "description": "Restricts results to files of a specified extension. Filetypes supported by Google include: * Adobe Portable Document Format (`pdf`) * Adobe PostScript (`ps`) * Lotus 1-2-3 (`wk1`, `wk2`, `wk3`, `wk4`, `wk5`, `wki`, `wks`, `wku`) * Lotus WordPro (`lwp`) * Macwrite (`mw`) * Microsoft Excel (`xls`) * Microsoft PowerPoint (`ppt`) * Microsoft Word (`doc`) * Microsoft Works (`wks`, `wps`, `wdb`) * Microsoft Write (`wri`) * Rich Text Format (`rtf`) * Shockwave Flash (`swf`) * Text (`ans`, `txt`). Additional filetypes may be added in the future. An up-to-date list can always be found in Google's [file type FAQ](https://support.google.com/webmasters/answer/35287).",
                    "type": "string"
                  },
                  "gl": {
                    "type": "string",
                    "description": "Boosts search results whose country of origin matches the parameter value. See [Country Codes](https://developers.google.com/custom-search/docs/json_api_reference#countryCodes) for a list of valid values. Specifying a `gl` parameter value in WebSearch requests should improve the relevance of results. This is particularly true for international customers and, even more specifically, for customers in English-speaking countries other than the United States."
                  },
                  "relatedSite": {
                    "description": "Specifies that all search results should be pages that are related to the specified URL. The parameter value should be a URL.",
                    "type": "string"
                  },
                  "sort": {
                    "type": "string",
                    "description": "Specifies that results should be sorted according to the specified expression. For example, sort by date."
                  },
                  "language": {
                    "type": "string",
                    "description": "The language of the search results."
                  },
                  "rights": {
                    "type": "string",
                    "description": "Filters based on licensing. Supported values include: * `cc_publicdomain` * `cc_attribute` * `cc_sharealike` * `cc_noncommercial` * `cc_nonderived`"
                  },
                  "filter": {
                    "description": "Activates or deactivates the automatic filtering of Google search results. See [Automatic Filtering](https://developers.google.com/custom-search/docs/json_api_reference#automaticFiltering) for more information about Google's search results filters. Valid values for this parameter are: * `0`: Disabled * `1`: Enabled (default) **Note**: By default, Google applies filtering to all search results to improve the quality of those results.",
                    "type": "string"
                  },
                  "googleHost": {
                    "description": "Specifies the Google domain (for example, google.com, google.de, or google.fr) to which the search should be limited.",
                    "type": "string"
                  },
                  "orTerms": {
                    "description": "Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms. You can also use the [Boolean OR](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) query term for this type of query.",
                    "type": "string"
                  },
                  "imgSize": {
                    "description": "Restricts results to images of a specified size. Supported values are: * `icon` (small) * `small | medium | large | xlarge` (medium) * `xxlarge` (large) * `huge` (extra-large)",
                    "type": "string"
                  },
                  "inputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search requests."
                  },
                  "exactTerms": {
                    "description": "Identifies a phrase that all documents in the search results must contain.",
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "description": "A description of the query."
                  },
                  "startPage": {
                    "description": "The page number of this set of results, where the page length is set by the `count` property.",
                    "type": "integer",
                    "format": "int32"
                  },
                  "count": {
                    "description": "Number of search results returned in this set.",
                    "type": "integer",
                    "format": "int32"
                  },
                  "excludeTerms": {
                    "description": "Identifies a word or phrase that should not appear in any documents in the search results.",
                    "type": "string"
                  },
                  "searchType": {
                    "type": "string",
                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited to webpages."
                  },
                  "siteSearchFilter": {
                    "type": "string",
                    "description": "Specifies whether to include or exclude results from the site named in the `sitesearch` parameter. Supported values are: * `i`: include content from site * `e`: exclude content from site"
                  },
                  "outputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search results."
                  },
                  "linkSite": {
                    "type": "string",
                    "description": "Specifies that all results should contain a link to a specific URL."
                  },
                  "imgDominantColor": {
                    "description": "Restricts results to images with a specific dominant color. Supported values are: * `red` * `orange` * `yellow` * `green` * `teal` * `blue` * `purple` * `pink` * `white` * `gray` * `black` * `brown`",
                    "type": "string"
                  },
                  "imgType": {
                    "description": "Restricts results to images of a specified type. Supported values are: * `clipart` (Clip art) * `face` (Face) * `lineart` (Line drawing) * `photo` (Photo) * `animated` (Animated) * `stock` (Stock)",
                    "type": "string"
                  },
                  "searchTerms": {
                    "type": "string",
                    "description": "The search terms entered by the user."
                  },
                  "lowRange": {
                    "type": "string",
                    "description": "Specifies the starting value for a search range. Use `cse:lowRange` and `cse:highrange` to append an inclusive search range of `lowRange...highRange` to the query."
                  },
                  "cr": {
                    "type": "string",
                    "description": "Restricts search results to documents originating in a particular country. You may use [Boolean operators](https://developers.google.com/custom-search/docs/json_api_reference#BooleanOrSearch) in the `cr` parameter's value. Google WebSearch determines the country of a document by analyzing the following: * The top-level domain (TLD) of the document's URL. * The geographic location of the web server's IP address. See [Country (cr) Parameter Values](https://developers.google.com/custom-search/docs/json_api_reference#countryCollections) for a list of valid values for this parameter."
                  },
                  "disableCnTwTranslation": {
                    "description": "Enables or disables the [Simplified and Traditional Chinese Search](https://developers.google.com/custom-search/docs/json_api_reference#chineseSearch) feature. Supported values are: * `0`: enabled (default) * `1`: disabled",
                    "type": "string"
                  },
                  "hl": {
                    "description": "Specifies the interface language (host language) of your user interface. Explicitly setting this parameter improves the performance and the quality of your search results. See the [Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#wsInterfaceLanguages) section of [Internationalizing Queries and Results Presentation](https://developers.google.com/custom-search/docs/json_api_reference#wsInternationalizing) for more information, and [Supported Interface Languages](https://developers.google.com/custom-search/docs/json_api_reference#interfaceLanguages) for a list of supported languages.",
                    "type": "string"
                  },
                  "highRange": {
                    "type": "string",
                    "description": "Specifies the ending value for a search range. Use `cse:lowRange` and `cse:highrange` to append an inclusive search range of `lowRange...highRange` to the query."
                  },
                  "startIndex": {
                    "description": "The index of the current set of search results into the total set of results, where the index of the first result is 1.",
                    "type": "integer",
                    "format": "int32"
                  },
                  "hq": {
                    "type": "string",
                    "description": "Appends the specified query terms to the query, as if they were combined with a logical `AND` operator."
                  },
                  "cx": {
                    "description": "The identifier of an engine created using the Programmable Search Engine [Control Panel](https://programmablesearchengine.google.com/). This is a custom property not defined in the OpenSearch spec. This parameter is **required**.",
                    "type": "string"
                  },
                  "safe": {
                    "description": "Specifies the [SafeSearch level](https://developers.google.com/custom-search/docs/json_api_reference#safeSearchLevels) used for filtering out adult results. This is a custom property not defined in the OpenSearch spec. Valid parameter values are: * `\"off\"`: Disable SafeSearch * `\"active\"`: Enable SafeSearch",
                    "type": "string"
                  },
                  "siteSearch": {
                    "description": "Restricts results to URLs from a specified site.",
                    "type": "string"
                  }
                }
              },
              "description": "Metadata representing the current request."
            }
          }
        },
        "context": {
          "type": "object",
          "description": "Metadata and refinements associated with the given search engine, including: * The name of the search engine that was used for the query. * A set of [facet objects](https://developers.google.com/custom-search/docs/refinements#create) (refinements) you can use for refining a search.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "url": {
          "type": "object",
          "description": "OpenSearch template and URL.",
          "properties": {
            "type": {
              "description": "The MIME type of the OpenSearch URL template for the Custom Search JSON API.",
              "type": "string"
            },
            "template": {
              "description": "The actual [OpenSearch template](http://www.opensearch.org/specifications/opensearch/1.1#opensearch_url_template_syntax) for this API.",
              "type": "string"
            }
          }
        },
        "promotions": {
          "description": "The set of [promotions](https://developers.google.com/custom-search/docs/promotions). Present only if the custom search engine's configuration files define any promotions for the given query.",
          "type": "array",
          "items": {
            "$ref": "Promotion"
          }
        },
        "spelling": {
          "type": "object",
          "description": "Spell correction information for a query.",
          "properties": {
            "correctedQuery": {
              "type": "string",
              "description": "The corrected query."
            },
            "htmlCorrectedQuery": {
              "type": "string",
              "description": "The corrected query, formatted in HTML."
            }
          }
        },
        "kind": {
          "type": "string",
          "description": "Unique identifier for the type of current object. For this API, it is customsearch#search."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "Result"
          },
          "description": "The current set of custom search results."
        }
      },
      "description": "Response to a custom search request.",
      "id": "Search",
      "type": "object"
    },
    "Promotion": {
      "properties": {
        "title": {
          "type": "string",
          "description": "The title of the promotion."
        },
        "image": {
          "properties": {
            "height": {
              "type": "integer",
              "description": "Image height in pixels.",
              "format": "int32"
            },
            "source": {
              "description": "URL of the image for this promotion link.",
              "type": "string"
            },
            "width": {
              "format": "int32",
              "type": "integer",
              "description": "Image width in pixels."
            }
          },
          "type": "object",
          "description": "Image belonging to a promotion."
        },
        "bodyLines": {
          "type": "array",
          "items": {
            "properties": {
              "title": {
                "description": "The block object's text, if it has text.",
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "The URL of the block object's link, if it has one."
              },
              "link": {
                "description": "The anchor text of the block object's link, if it has a link.",
                "type": "string"
              },
              "htmlTitle": {
                "description": "The block object's text in HTML, if it has text.",
                "type": "string"
              }
            },
            "type": "object",
            "description": "Block object belonging to a promotion."
          },
          "description": "An array of block objects for this promotion."
        },
        "link": {
          "description": "The URL of the promotion.",
          "type": "string"
        },
        "displayLink": {
          "type": "string",
          "description": "An abridged version of this search's result URL, e.g. www.example.com."
        },
        "htmlTitle": {
          "type": "string",
          "description": "The title of the promotion, in HTML."
        }
      },
      "description": "Promotion result.",
      "id": "Promotion",
      "type": "object"
    },
    "Result": {
      "properties": {
        "snippet": {
          "description": "The snippet of the search result, in plain text.",
          "type": "string"
        },
        "image": {
          "properties": {
            "width": {
              "type": "integer",
              "description": "The width of the image, in pixels.",
              "format": "int32"
            },
            "thumbnailHeight": {
              "format": "int32",
              "description": "The height of the thumbnail image, in pixels.",
              "type": "integer"
            },
            "thumbnailLink": {
              "description": "A URL to the thumbnail image.",
              "type": "string"
            },
            "height": {
              "format": "int32",
              "type": "integer",
              "description": "The height of the image, in pixels."
            },
            "byteSize": {
              "description": "The size of the image, in bytes.",
              "type": "integer",
              "format": "int32"
            },
            "thumbnailWidth": {
              "type": "integer",
              "description": "The width of the thumbnail image, in pixels.",
              "format": "int32"
            },
            "contextLink": {
              "type": "string",
              "description": "A URL pointing to the webpage hosting the image."
            }
          },
          "description": "Image belonging to a custom search result.",
          "type": "object"
        },
        "htmlTitle": {
          "type": "string",
          "description": "The title of the search result, in HTML."
        },
        "mime": {
          "description": "The MIME type of the search result.",
          "type": "string"
        },
        "formattedUrl": {
          "type": "string",
          "description": "The URL displayed after the snippet for each search result."
        },
        "link": {
          "type": "string",
          "description": "The full URL to which the search result is pointing, e.g. http://www.example.com/foo/bar."
        },
        "labels": {
          "type": "array",
          "items": {
            "properties": {
              "name": {
                "description": "The name of a refinement label, which you can use to refine searches. Don't display this in your user interface; instead, use displayName.",
                "type": "string"
              },
              "displayName": {
                "type": "string",
                "description": "The display name of a refinement label. This is the name you should display in your user interface."
              },
              "label_with_op": {
                "type": "string",
                "description": "Refinement label and the associated refinement operation."
              }
            },
            "description": "Refinement label associated with a custom search result.",
            "type": "object"
          },
          "description": "Encapsulates all information about refinement labels."
        },
        "htmlSnippet": {
          "description": "The snippet of the search result, in HTML.",
          "type": "string"
        },
        "pagemap": {
          "description": "Contains [PageMap](https://developers.google.com/custom-search/docs/structured_data#pagemaps) information for this search result.",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object"
        },
        "fileFormat": {
          "type": "string",
          "description": "The file format of the search result."
        },
        "kind": {
          "description": "A unique identifier for the type of current object. For this API, it is `customsearch#result.`",
          "type": "string"
        },
        "displayLink": {
          "description": "An abridged version of this search result’s URL, e.g. www.example.com.",
          "type": "string"
        },
        "cacheId": {
          "type": "string",
          "description": "Indicates the ID of Google's cached version of the search result."
        },
        "htmlFormattedUrl": {
          "type": "string",
          "description": "The HTML-formatted URL displayed after the snippet for each search result."
        },
        "title": {
          "type": "string",
          "description": "The title of the search result, in plain text."
        }
      },
      "id": "Result",
      "type": "object",
      "description": "A custom search result."
    }
  },
  "rootUrl": "https://customsearch.googleapis.com/",
  "servicePath": "",
  "ownerDomain": "google.com",
  "basePath": "",
  "description": "Searches over a website or collection of websites",
  "version": "v1"
}
