{
  "ownerDomain": "google.com",
  "servicePath": "",
  "kind": "discovery#restDescription",
  "title": "Custom Search API",
  "documentationLink": "https://developers.google.com/custom-search/v1/introduction",
  "protocol": "rest",
  "version": "v1",
  "canonicalName": "CustomSearch API",
  "name": "customsearch",
  "resources": {
    "cse": {
      "methods": {
        "list": {
          "description": "Returns metadata about the search performed, metadata about the engine used for the search, and the search results.",
          "id": "search.cse.list",
          "response": {
            "$ref": "Search"
          },
          "parameters": {
            "lowRange": {
              "location": "query",
              "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"
            },
            "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."
            },
            "cx": {
              "type": "string",
              "location": "query",
              "description": "The Programmable Search Engine ID to use for this request."
            },
            "enableAlternateSearchHandler": {
              "location": "query",
              "description": "Optional. Enables routing of Programmable Search Engine requests to an alternate search handler.",
              "type": "boolean"
            },
            "q": {
              "type": "string",
              "location": "query",
              "description": "Query"
            },
            "num": {
              "type": "integer",
              "location": "query",
              "description": "Number of search results to return. * Valid values are integers between 1 and 10, inclusive.",
              "format": "int32"
            },
            "rights": {
              "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).",
              "location": "query"
            },
            "sort": {
              "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",
              "location": "query"
            },
            "relatedSite": {
              "description": "Deprecated.",
              "deprecated": true,
              "location": "query",
              "type": "string"
            },
            "lr": {
              "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)",
              "location": "query",
              "type": "string"
            },
            "siteSearchFilter": {
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Filter mode unspecified.",
                "Exclude results from the listed sites.",
                "Include only results from the listed sites."
              ],
              "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"
            },
            "filter": {
              "type": "string",
              "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."
            },
            "searchType": {
              "enum": [
                "searchTypeUndefined",
                "image"
              ],
              "location": "query",
              "description": "Specifies the search type: `image`. If unspecified, results are limited to webpages. Acceptable values are: * `\"image\"`: custom image search.",
              "type": "string",
              "enumDescriptions": [
                "Search type unspecified (defaults to web search).",
                "Image search."
              ]
            },
            "siteSearch": {
              "location": "query",
              "description": "Specifies a given site which should always be included or excluded from results (see `siteSearchFilter` parameter, below).",
              "type": "string"
            },
            "imgColorType": {
              "description": "Returns black and white, grayscale, transparent, or color images. Acceptable values are: * `\"color\"` * `\"gray\"` * `\"mono\"`: black and white * `\"trans\"`: transparent background",
              "enum": [
                "imgColorTypeUndefined",
                "mono",
                "gray",
                "color",
                "trans"
              ],
              "type": "string",
              "enumDescriptions": [
                "No image color type specified.",
                "Black and white images only.",
                "Grayscale images only.",
                "Color images only.",
                "Images with transparent background"
              ],
              "location": "query"
            },
            "highRange": {
              "location": "query",
              "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"
            },
            "hq": {
              "location": "query",
              "type": "string",
              "description": "Appends the specified query terms to the query, as if they were combined with a logical AND operator."
            },
            "fileType": {
              "type": "string",
              "location": "query",
              "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",
              "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.",
              "type": "string"
            },
            "hl": {
              "type": "string",
              "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.",
              "location": "query"
            },
            "snippetLength": {
              "type": "integer",
              "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."
            },
            "exactTerms": {
              "location": "query",
              "description": "Identifies a phrase that all documents in the search results must contain.",
              "type": "string"
            },
            "imgDominantColor": {
              "enum": [
                "imgDominantColorUndefined",
                "black",
                "blue",
                "brown",
                "gray",
                "green",
                "orange",
                "pink",
                "purple",
                "red",
                "teal",
                "white",
                "yellow"
              ],
              "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",
              "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."
              ],
              "type": "string"
            },
            "cr": {
              "type": "string",
              "location": "query",
              "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."
            },
            "orTerms": {
              "type": "string",
              "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."
            },
            "excludeTerms": {
              "location": "query",
              "type": "string",
              "description": "Identifies a word or phrase that should not appear in any documents in the search results."
            },
            "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"
            },
            "start": {
              "type": "integer",
              "format": "uint32",
              "location": "query",
              "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."
            },
            "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."
            },
            "safe": {
              "description": "Search safety level. Acceptable values are: * `\"active\"`: Enables SafeSearch filtering. * `\"off\"`: Disables SafeSearch filtering. (default)",
              "type": "string",
              "location": "query",
              "enumDeprecated": [
                false,
                false,
                true,
                true,
                false
              ],
              "enum": [
                "safeUndefined",
                "active",
                "high",
                "medium",
                "off"
              ],
              "enumDescriptions": [
                "SafeSearch mode unspecified. (Falls back to engine's configuration.)",
                "Turn SafeSearch on.",
                "Deprecated, equivalent to \"active\".",
                "Deprecated, equivalent to \"active\".",
                "Turn SafeSearch off."
              ]
            },
            "linkSite": {
              "description": "Specifies that all search results should contain a link to a particular URL.",
              "location": "query",
              "type": "string"
            },
            "imgType": {
              "description": "Returns images of a type. Acceptable values are: * `\"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."
              ],
              "location": "query",
              "enum": [
                "imgTypeUndefined",
                "clipart",
                "face",
                "lineart",
                "stock",
                "photo",
                "animated"
              ]
            },
            "imgSize": {
              "location": "query",
              "enum": [
                "imgSizeUndefined",
                "HUGE",
                "ICON",
                "LARGE",
                "MEDIUM",
                "SMALL",
                "XLARGE",
                "XXLARGE"
              ],
              "type": "string",
              "description": "Returns images of a specified size. Acceptable values are: * `\"huge\"` * `\"icon\"` * `\"large\"` * `\"medium\"` * `\"small\"` * `\"xlarge\"` * `\"xxlarge\"`",
              "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."
              ]
            }
          },
          "flatPath": "customsearch/v1",
          "path": "customsearch/v1",
          "parameterOrder": [],
          "httpMethod": "GET"
        }
      },
      "resources": {
        "siterestrict": {
          "methods": {
            "list": {
              "id": "search.cse.siterestrict.list",
              "path": "customsearch/v1/siterestrict",
              "parameterOrder": [],
              "response": {
                "$ref": "Search"
              },
              "httpMethod": "GET",
              "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",
              "parameters": {
                "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"
                },
                "snippetLength": {
                  "format": "int32",
                  "location": "query",
                  "type": "integer",
                  "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."
                },
                "imgColorType": {
                  "location": "query",
                  "type": "string",
                  "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"
                  ]
                },
                "siteSearchFilter": {
                  "enumDescriptions": [
                    "Filter mode unspecified.",
                    "Exclude results from the listed sites.",
                    "Include only results from the listed sites."
                  ],
                  "type": "string",
                  "enum": [
                    "siteSearchFilterUndefined",
                    "e",
                    "i"
                  ],
                  "location": "query",
                  "description": "Controls whether to include or exclude results from the site named in the `siteSearch` parameter. Acceptable values are: * `\"e\"`: exclude * `\"i\"`: include"
                },
                "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"
                },
                "hq": {
                  "description": "Appends the specified query terms to the query, as if they were combined with a logical AND operator.",
                  "location": "query",
                  "type": "string"
                },
                "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."
                },
                "relatedSite": {
                  "location": "query",
                  "deprecated": true,
                  "description": "Deprecated.",
                  "type": "string"
                },
                "lowRange": {
                  "location": "query",
                  "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."
                },
                "start": {
                  "format": "uint32",
                  "location": "query",
                  "type": "integer",
                  "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."
                },
                "hl": {
                  "type": "string",
                  "location": "query",
                  "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."
                },
                "enableAlternateSearchHandler": {
                  "location": "query",
                  "type": "boolean",
                  "description": "Optional. Enables routing of Programmable Search Engine requests to an alternate search handler."
                },
                "orTerms": {
                  "location": "query",
                  "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."
                },
                "cr": {
                  "type": "string",
                  "location": "query",
                  "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."
                },
                "searchType": {
                  "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.",
                  "location": "query",
                  "enum": [
                    "searchTypeUndefined",
                    "image"
                  ]
                },
                "siteSearch": {
                  "location": "query",
                  "description": "Specifies a given site which should always be included or excluded from results (see `siteSearchFilter` parameter, below).",
                  "type": "string"
                },
                "filter": {
                  "type": "string",
                  "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.",
                  "location": "query"
                },
                "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.",
                  "location": "query"
                },
                "imgSize": {
                  "location": "query",
                  "description": "Returns images of a specified size. Acceptable values are: * `\"huge\"` * `\"icon\"` * `\"large\"` * `\"medium\"` * `\"small\"` * `\"xlarge\"` * `\"xxlarge\"`",
                  "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."
                  ],
                  "enum": [
                    "imgSizeUndefined",
                    "HUGE",
                    "ICON",
                    "LARGE",
                    "MEDIUM",
                    "SMALL",
                    "XLARGE",
                    "XXLARGE"
                  ],
                  "type": "string"
                },
                "imgType": {
                  "location": "query",
                  "description": "Returns images of a type. Acceptable values are: * `\"clipart\"` * `\"face\"` * `\"lineart\"` * `\"stock\"` * `\"photo\"` * `\"animated\"`",
                  "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."
                  ]
                },
                "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."
                  ],
                  "enum": [
                    "imgDominantColorUndefined",
                    "black",
                    "blue",
                    "brown",
                    "gray",
                    "green",
                    "orange",
                    "pink",
                    "purple",
                    "red",
                    "teal",
                    "white",
                    "yellow"
                  ],
                  "type": "string",
                  "location": "query"
                },
                "cx": {
                  "description": "The Programmable Search Engine ID to use for this request.",
                  "location": "query",
                  "type": "string"
                },
                "fileType": {
                  "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).",
                  "type": "string",
                  "location": "query"
                },
                "exactTerms": {
                  "description": "Identifies a phrase that all documents in the search results must contain.",
                  "type": "string",
                  "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"
                },
                "num": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Number of search results to return. * Valid values are integers between 1 and 10, inclusive."
                },
                "excludeTerms": {
                  "type": "string",
                  "description": "Identifies a word or phrase that should not appear in any documents in the search results.",
                  "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."
                },
                "q": {
                  "location": "query",
                  "description": "Query",
                  "type": "string"
                },
                "safe": {
                  "enum": [
                    "safeUndefined",
                    "active",
                    "high",
                    "medium",
                    "off"
                  ],
                  "enumDescriptions": [
                    "SafeSearch mode unspecified. (Falls back to engine's configuration.)",
                    "Turn SafeSearch on.",
                    "Deprecated, equivalent to \"active\".",
                    "Deprecated, equivalent to \"active\".",
                    "Turn SafeSearch off."
                  ],
                  "location": "query",
                  "enumDeprecated": [
                    false,
                    false,
                    true,
                    true,
                    false
                  ],
                  "description": "Search safety level. Acceptable values are: * `\"active\"`: Enables SafeSearch filtering. * `\"off\"`: Disables SafeSearch filtering. (default)",
                  "type": "string"
                },
                "linkSite": {
                  "description": "Specifies that all search results should contain a link to a particular URL.",
                  "location": "query",
                  "type": "string"
                },
                "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"
                },
                "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.",
                  "location": "query",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20260929",
  "version_module": true,
  "discoveryVersion": "v1",
  "basePath": "",
  "rootUrl": "https://customsearch.googleapis.com/",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "parameters": {
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "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": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "access_token": {
      "location": "query",
      "description": "OAuth access token.",
      "type": "string"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "alt": {
      "description": "Data format for response.",
      "type": "string",
      "location": "query",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "key": {
      "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.",
      "location": "query",
      "type": "string"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    }
  },
  "mtlsRootUrl": "https://customsearch.mtls.googleapis.com/",
  "schemas": {
    "Search": {
      "type": "object",
      "properties": {
        "context": {
          "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": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object"
        },
        "kind": {
          "description": "Unique identifier for the type of current object. For this API, it is customsearch#search.",
          "type": "string"
        },
        "spelling": {
          "type": "object",
          "description": "Spell correction information for a query.",
          "properties": {
            "htmlCorrectedQuery": {
              "description": "The corrected query, formatted in HTML.",
              "type": "string"
            },
            "correctedQuery": {
              "description": "The corrected query.",
              "type": "string"
            }
          }
        },
        "promotions": {
          "type": "array",
          "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.",
          "items": {
            "$ref": "Promotion"
          }
        },
        "queries": {
          "type": "object",
          "properties": {
            "request": {
              "type": "array",
              "items": {
                "description": "Custom search request metadata.",
                "properties": {
                  "language": {
                    "description": "The language of the search results.",
                    "type": "string"
                  },
                  "linkSite": {
                    "description": "Specifies that all results should contain a link to a specific URL.",
                    "type": "string"
                  },
                  "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"
                  },
                  "title": {
                    "type": "string",
                    "description": "A description of 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.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "count": {
                    "format": "int32",
                    "type": "integer",
                    "description": "Number of search results returned in this set."
                  },
                  "rights": {
                    "description": "Filters based on licensing. Supported values include: * `cc_publicdomain` * `cc_attribute` * `cc_sharealike` * `cc_noncommercial` * `cc_nonderived`",
                    "type": "string"
                  },
                  "exactTerms": {
                    "description": "Identifies a phrase that all documents in the search results must contain.",
                    "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)."
                  },
                  "inputEncoding": {
                    "description": "The character encoding supported for search requests.",
                    "type": "string"
                  },
                  "outputEncoding": {
                    "description": "The character encoding supported for search results.",
                    "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."
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "totalResults": {
                    "description": "Estimated number of total search results. May not be accurate.",
                    "format": "int64",
                    "type": "string"
                  },
                  "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"
                  },
                  "searchTerms": {
                    "type": "string",
                    "description": "The search terms entered by the user."
                  },
                  "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"
                  },
                  "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"
                  },
                  "imgColorType": {
                    "type": "string",
                    "description": "Restricts results to images of a specified color type. Supported values are: * `mono` (black and white) * `gray` (grayscale) * `color` (color)"
                  },
                  "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)"
                  },
                  "sort": {
                    "description": "Specifies that results should be sorted according to the specified expression. For example, sort by date.",
                    "type": "string"
                  },
                  "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."
                  },
                  "startPage": {
                    "format": "int32",
                    "description": "The page number of this set of results, where the page length is set by the `count` property.",
                    "type": "integer"
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "excludeTerms": {
                    "type": "string",
                    "description": "Identifies a word or phrase that should not appear in any documents in the search results."
                  },
                  "siteSearch": {
                    "description": "Restricts results to URLs from a specified site.",
                    "type": "string"
                  },
                  "searchType": {
                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited to webpages.",
                    "type": "string"
                  },
                  "hl": {
                    "type": "string",
                    "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."
                  },
                  "googleHost": {
                    "type": "string",
                    "description": "Specifies the Google domain (for example, google.com, google.de, or google.fr) to which the search should be limited."
                  },
                  "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`"
                  },
                  "gl": {
                    "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.",
                    "type": "string"
                  },
                  "hq": {
                    "type": "string",
                    "description": "Appends the specified query terms to the query, as if they were combined with a logical `AND` operator."
                  }
                },
                "type": "object"
              },
              "description": "Metadata representing the current request."
            },
            "nextPage": {
              "description": "Metadata representing the next page of results, if applicable.",
              "items": {
                "type": "object",
                "description": "Custom search request metadata.",
                "properties": {
                  "searchTerms": {
                    "description": "The search terms entered by the user.",
                    "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"
                  },
                  "linkSite": {
                    "description": "Specifies that all results should contain a link to a specific URL.",
                    "type": "string"
                  },
                  "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"
                  },
                  "googleHost": {
                    "description": "Specifies the Google domain (for example, google.com, google.de, or google.fr) to which the search should be limited.",
                    "type": "string"
                  },
                  "language": {
                    "type": "string",
                    "description": "The language of the search results."
                  },
                  "siteSearch": {
                    "description": "Restricts results to URLs from a specified site.",
                    "type": "string"
                  },
                  "searchType": {
                    "type": "string",
                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited to webpages."
                  },
                  "count": {
                    "format": "int32",
                    "type": "integer",
                    "description": "Number of search results returned in this set."
                  },
                  "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"
                  },
                  "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**."
                  },
                  "title": {
                    "description": "A description of 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)"
                  },
                  "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"
                  },
                  "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"
                  },
                  "disableCnTwTranslation": {
                    "type": "string",
                    "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"
                  },
                  "excludeTerms": {
                    "type": "string",
                    "description": "Identifies a word or phrase that should not appear in any documents in the search results."
                  },
                  "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"
                  },
                  "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"
                  },
                  "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"
                  },
                  "outputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search results."
                  },
                  "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": {
                    "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"
                  },
                  "hq": {
                    "description": "Appends the specified query terms to the query, as if they were combined with a logical `AND` operator.",
                    "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."
                  },
                  "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."
                  },
                  "startPage": {
                    "description": "The page number of this set of results, where the page length is set by the `count` property.",
                    "type": "integer",
                    "format": "int32"
                  },
                  "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": {
                    "format": "int64",
                    "description": "Estimated number of total search results. May not be accurate.",
                    "type": "string"
                  },
                  "sort": {
                    "description": "Specifies that results should be sorted according to the specified expression. For example, sort by date.",
                    "type": "string"
                  },
                  "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."
                  },
                  "rights": {
                    "description": "Filters based on licensing. Supported values include: * `cc_publicdomain` * `cc_attribute` * `cc_sharealike` * `cc_noncommercial` * `cc_nonderived`",
                    "type": "string"
                  },
                  "exactTerms": {
                    "description": "Identifies a phrase that all documents in the search results must contain.",
                    "type": "string"
                  },
                  "cr": {
                    "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.",
                    "type": "string"
                  },
                  "startIndex": {
                    "format": "int32",
                    "type": "integer",
                    "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."
                  },
                  "inputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search requests."
                  }
                }
              },
              "type": "array"
            },
            "previousPage": {
              "description": "Metadata representing the previous page of results, if applicable.",
              "items": {
                "properties": {
                  "exactTerms": {
                    "type": "string",
                    "description": "Identifies a phrase that all documents in the search results must contain."
                  },
                  "rights": {
                    "type": "string",
                    "description": "Filters based on licensing. Supported values include: * `cc_publicdomain` * `cc_attribute` * `cc_sharealike` * `cc_noncommercial` * `cc_nonderived`"
                  },
                  "cr": {
                    "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.",
                    "type": "string"
                  },
                  "searchTerms": {
                    "type": "string",
                    "description": "The search terms entered by the user."
                  },
                  "relatedSite": {
                    "type": "string",
                    "description": "Specifies that all search results should be pages that are related to the specified URL. The parameter value should be a URL."
                  },
                  "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."
                  },
                  "inputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search requests."
                  },
                  "startPage": {
                    "type": "integer",
                    "description": "The page number of this set of results, where the page length is set by the `count` property.",
                    "format": "int32"
                  },
                  "startIndex": {
                    "type": "integer",
                    "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.",
                    "format": "int32"
                  },
                  "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)."
                  },
                  "sort": {
                    "description": "Specifies that results should be sorted according to the specified expression. For example, sort by date.",
                    "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"
                  },
                  "linkSite": {
                    "type": "string",
                    "description": "Specifies that all results should contain a link to a specific URL."
                  },
                  "hq": {
                    "description": "Appends the specified query terms to the query, as if they were combined with a logical `AND` operator.",
                    "type": "string"
                  },
                  "gl": {
                    "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.",
                    "type": "string"
                  },
                  "title": {
                    "description": "A description of the query.",
                    "type": "string"
                  },
                  "language": {
                    "description": "The language of the search results.",
                    "type": "string"
                  },
                  "count": {
                    "format": "int32",
                    "type": "integer",
                    "description": "Number of search results returned in this set."
                  },
                  "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"
                  },
                  "hl": {
                    "type": "string",
                    "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."
                  },
                  "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)"
                  },
                  "excludeTerms": {
                    "description": "Identifies a word or phrase that should not appear in any documents in the search results.",
                    "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`"
                  },
                  "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)"
                  },
                  "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."
                  },
                  "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"
                  },
                  "disableCnTwTranslation": {
                    "type": "string",
                    "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"
                  },
                  "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**."
                  },
                  "imgColorType": {
                    "type": "string",
                    "description": "Restricts results to images of a specified color type. Supported values are: * `mono` (black and white) * `gray` (grayscale) * `color` (color)"
                  },
                  "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"
                  },
                  "outputEncoding": {
                    "type": "string",
                    "description": "The character encoding supported for search results."
                  },
                  "totalResults": {
                    "description": "Estimated number of total search results. May not be accurate.",
                    "format": "int64",
                    "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"
                  },
                  "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"
                  },
                  "siteSearch": {
                    "description": "Restricts results to URLs from a specified site.",
                    "type": "string"
                  },
                  "searchType": {
                    "description": "Allowed values are `web` or `image`. If unspecified, results are limited to webpages.",
                    "type": "string"
                  }
                },
                "description": "Custom search request metadata.",
                "type": "object"
              },
              "type": "array"
            }
          },
          "description": "Query metadata for the previous, current, and next pages of results."
        },
        "url": {
          "type": "object",
          "description": "OpenSearch template and URL.",
          "properties": {
            "template": {
              "type": "string",
              "description": "The actual [OpenSearch template](http://www.opensearch.org/specifications/opensearch/1.1#opensearch_url_template_syntax) for this API."
            },
            "type": {
              "type": "string",
              "description": "The MIME type of the OpenSearch URL template for the Custom Search JSON API."
            }
          }
        },
        "items": {
          "type": "array",
          "description": "The current set of custom search results.",
          "items": {
            "$ref": "Result"
          }
        },
        "searchInformation": {
          "description": "Metadata about a search operation.",
          "type": "object",
          "properties": {
            "searchTime": {
              "description": "The time taken for the server to return search results.",
              "type": "number",
              "format": "double"
            },
            "formattedTotalResults": {
              "description": "The total number of search results, formatted according to locale style.",
              "type": "string"
            },
            "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."
            }
          }
        }
      },
      "id": "Search",
      "description": "Response to a custom search request."
    },
    "Result": {
      "type": "object",
      "properties": {
        "htmlSnippet": {
          "type": "string",
          "description": "The snippet of the search result, in HTML."
        },
        "kind": {
          "description": "A unique identifier for the type of current object. For this API, it is `customsearch#result.`",
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "The title of the search result, in plain text."
        },
        "htmlFormattedUrl": {
          "description": "The HTML-formatted URL displayed after the snippet for each search result.",
          "type": "string"
        },
        "labels": {
          "items": {
            "properties": {
              "label_with_op": {
                "description": "Refinement label and the associated refinement operation.",
                "type": "string"
              },
              "name": {
                "type": "string",
                "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."
              },
              "displayName": {
                "description": "The display name of a refinement label. This is the name you should display in your user interface.",
                "type": "string"
              }
            },
            "type": "object",
            "description": "Refinement label associated with a custom search result."
          },
          "description": "Encapsulates all information about refinement labels.",
          "type": "array"
        },
        "mime": {
          "type": "string",
          "description": "The MIME type of the search result."
        },
        "cacheId": {
          "type": "string",
          "description": "Indicates the ID of Google's cached version of the search result."
        },
        "snippet": {
          "type": "string",
          "description": "The snippet of the search result, in plain text."
        },
        "formattedUrl": {
          "description": "The URL displayed after the snippet for each search result.",
          "type": "string"
        },
        "image": {
          "properties": {
            "byteSize": {
              "format": "int32",
              "description": "The size of the image, in bytes.",
              "type": "integer"
            },
            "thumbnailLink": {
              "description": "A URL to the thumbnail image.",
              "type": "string"
            },
            "thumbnailHeight": {
              "type": "integer",
              "description": "The height of the thumbnail image, in pixels.",
              "format": "int32"
            },
            "thumbnailWidth": {
              "description": "The width of the thumbnail image, in pixels.",
              "type": "integer",
              "format": "int32"
            },
            "width": {
              "type": "integer",
              "description": "The width of the image, in pixels.",
              "format": "int32"
            },
            "contextLink": {
              "type": "string",
              "description": "A URL pointing to the webpage hosting the image."
            },
            "height": {
              "format": "int32",
              "description": "The height of the image, in pixels.",
              "type": "integer"
            }
          },
          "type": "object",
          "description": "Image belonging to a custom search result."
        },
        "link": {
          "type": "string",
          "description": "The full URL to which the search result is pointing, e.g. http://www.example.com/foo/bar."
        },
        "htmlTitle": {
          "description": "The title of the search result, in HTML.",
          "type": "string"
        },
        "fileFormat": {
          "type": "string",
          "description": "The file format of the search result."
        },
        "displayLink": {
          "description": "An abridged version of this search result’s URL, e.g. www.example.com.",
          "type": "string"
        },
        "pagemap": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "Contains [PageMap](https://developers.google.com/custom-search/docs/structured_data#pagemaps) information for this search result.",
          "type": "object"
        }
      },
      "id": "Result",
      "description": "A custom search result."
    },
    "Promotion": {
      "type": "object",
      "description": "Promotion result.",
      "properties": {
        "htmlTitle": {
          "description": "The title of the promotion, in HTML.",
          "type": "string"
        },
        "displayLink": {
          "description": "An abridged version of this search's result URL, e.g. www.example.com.",
          "type": "string"
        },
        "bodyLines": {
          "items": {
            "type": "object",
            "description": "Block object belonging to a promotion.",
            "properties": {
              "title": {
                "type": "string",
                "description": "The block object's text, if it has text."
              },
              "url": {
                "description": "The URL of the block object's link, if it has one.",
                "type": "string"
              },
              "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"
              }
            }
          },
          "description": "An array of block objects for this promotion.",
          "type": "array"
        },
        "link": {
          "description": "The URL of the promotion.",
          "type": "string"
        },
        "title": {
          "description": "The title of the promotion.",
          "type": "string"
        },
        "image": {
          "description": "Image belonging to a promotion.",
          "type": "object",
          "properties": {
            "source": {
              "description": "URL of the image for this promotion link.",
              "type": "string"
            },
            "height": {
              "format": "int32",
              "description": "Image height in pixels.",
              "type": "integer"
            },
            "width": {
              "format": "int32",
              "type": "integer",
              "description": "Image width in pixels."
            }
          }
        }
      },
      "id": "Promotion"
    }
  },
  "baseUrl": "https://customsearch.googleapis.com/",
  "ownerName": "Google",
  "id": "customsearch:v1",
  "description": "Searches over a website or collection of websites",
  "batchPath": "batch"
}
