diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3c5335..cdf1b04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -50,6 +50,7 @@ jobs: - name: Build sdist and wheel run: | pip install build + python typing/generate_type_stubs.py --check python -m build - uses: actions/upload-artifact@v7 diff --git a/MANIFEST.in b/MANIFEST.in index 3ba6fe2..8d79ff7 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ include README.md HISTORY.md LICENSE -recursive-include tests *.py \ No newline at end of file +recursive-include serpapi *.pyi py.typed +recursive-include tests *.py diff --git a/pyproject.toml b/pyproject.toml index 0df45a5..8e0b90f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ readme = "README.md" license = { text = "MIT" } authors = [{ name = "SerpApi", email = "support@serpapi.com" }] requires-python = ">=3.6" -dependencies = ["requests"] +dependencies = ["requests", "typing_extensions"] keywords = [ "scrape", "serp", "api", "serpapi", "scraping", "json", "search", "localized", "rank", "google", "bing", "baidu", "yandex", "yahoo", @@ -39,6 +39,7 @@ classifiers = [ [project.optional-dependencies] color = ["pygments"] test = ["pytest"] +dev = ["markdownify"] [project.urls] Homepage = "https://github.com/serpapi/serpapi-python" @@ -50,6 +51,10 @@ version = { attr = "serpapi.__version__.__version__" } [tool.setuptools.packages.find] exclude = ["tests", "tests.*"] +namespaces = false + +[tool.setuptools.package-data] +serpapi = ["*.pyi", "py.typed"] [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/serpapi/__init__.pyi b/serpapi/__init__.pyi new file mode 100644 index 0000000..c609b29 --- /dev/null +++ b/serpapi/__init__.pyi @@ -0,0 +1,6 @@ +# This file is generated by typing/generate_type_stubs.py. +# Do not edit by hand; update typing/engines/*.json and rerun the generator. +from .__version__ import __version__ as __version__ +from .core import Client as Client, account as account, locations as locations, search as search, search_archive as search_archive +from .exceptions import APIKeyNotProvided as APIKeyNotProvided, HTTPConnectionError as HTTPConnectionError, HTTPError as HTTPError, SearchIDNotProvided as SearchIDNotProvided, SerpApiError as SerpApiError, TimeoutError as TimeoutError +from .models import SerpResults as SerpResults diff --git a/serpapi/core.pyi b/serpapi/core.pyi new file mode 100644 index 0000000..2915078 --- /dev/null +++ b/serpapi/core.pyi @@ -0,0 +1,18237 @@ +# This file is generated by typing/generate_type_stubs.py. +# Do not edit by hand; update typing/engines/*.json and rerun the generator. +from typing import Any, Dict, List, Mapping, Optional, Union, overload + +from .engine_params import ( + AmazonJsonSearchParams, + AmazonHtmlSearchParams, + AmazonProductJsonSearchParams, + AmazonProductHtmlSearchParams, + AppleAppStoreJsonSearchParams, + AppleAppStoreHtmlSearchParams, + AppleMapsJsonSearchParams, + AppleMapsHtmlSearchParams, + AppleMapsPlacesJsonSearchParams, + AppleMapsPlacesHtmlSearchParams, + AppleProductJsonSearchParams, + AppleProductHtmlSearchParams, + AppleReviewsJsonSearchParams, + AppleReviewsHtmlSearchParams, + BaiduJsonSearchParams, + BaiduHtmlSearchParams, + BaiduNewsJsonSearchParams, + BaiduNewsHtmlSearchParams, + BingJsonSearchParams, + BingHtmlSearchParams, + BingCopilotJsonSearchParams, + BingCopilotHtmlSearchParams, + BingImagesJsonSearchParams, + BingImagesHtmlSearchParams, + BingMapsJsonSearchParams, + BingMapsHtmlSearchParams, + BingNewsJsonSearchParams, + BingNewsHtmlSearchParams, + BingProductJsonSearchParams, + BingProductHtmlSearchParams, + BingReverseImageJsonSearchParams, + BingReverseImageHtmlSearchParams, + BingShoppingJsonSearchParams, + BingShoppingHtmlSearchParams, + BingVideosJsonSearchParams, + BingVideosHtmlSearchParams, + BraveAiModeJsonSearchParams, + BraveAiModeHtmlSearchParams, + DuckduckgoJsonSearchParams, + DuckduckgoHtmlSearchParams, + DuckduckgoLightJsonSearchParams, + DuckduckgoLightHtmlSearchParams, + DuckduckgoMapsJsonSearchParams, + DuckduckgoMapsHtmlSearchParams, + DuckduckgoNewsJsonSearchParams, + DuckduckgoNewsHtmlSearchParams, + EbayJsonSearchParams, + EbayHtmlSearchParams, + EbayProductJsonSearchParams, + EbayProductHtmlSearchParams, + FacebookProfileJsonSearchParams, + FacebookProfileHtmlSearchParams, + GoogleJsonSearchParams, + GoogleHtmlSearchParams, + GoogleAboutThisResultJsonSearchParams, + GoogleAboutThisResultHtmlSearchParams, + GoogleAdsJsonSearchParams, + GoogleAdsHtmlSearchParams, + GoogleAdsTransparencyCenterJsonSearchParams, + GoogleAdsTransparencyCenterHtmlSearchParams, + GoogleAdsTransparencyCenterAdDetailsJsonSearchParams, + GoogleAdsTransparencyCenterAdDetailsHtmlSearchParams, + GoogleAiModeJsonSearchParams, + GoogleAiModeHtmlSearchParams, + GoogleAiOverviewJsonSearchParams, + GoogleAiOverviewHtmlSearchParams, + GoogleAutocompleteJsonSearchParams, + GoogleAutocompleteHtmlSearchParams, + GoogleEventsJsonSearchParams, + GoogleEventsHtmlSearchParams, + GoogleFinanceJsonSearchParams, + GoogleFinanceHtmlSearchParams, + GoogleFinanceMarketsJsonSearchParams, + GoogleFinanceMarketsHtmlSearchParams, + GoogleFlightsJsonSearchParams, + GoogleFlightsHtmlSearchParams, + GoogleFlightsAutocompleteJsonSearchParams, + GoogleFlightsAutocompleteHtmlSearchParams, + GoogleFlightsDealsJsonSearchParams, + GoogleFlightsDealsHtmlSearchParams, + GoogleForumsJsonSearchParams, + GoogleForumsHtmlSearchParams, + GoogleHotelsJsonSearchParams, + GoogleHotelsHtmlSearchParams, + GoogleHotelsAutocompleteJsonSearchParams, + GoogleHotelsAutocompleteHtmlSearchParams, + GoogleHotelsPhotosJsonSearchParams, + GoogleHotelsPhotosHtmlSearchParams, + GoogleHotelsReviewsJsonSearchParams, + GoogleHotelsReviewsHtmlSearchParams, + GoogleImagesJsonSearchParams, + GoogleImagesHtmlSearchParams, + GoogleImagesLightJsonSearchParams, + GoogleImagesLightHtmlSearchParams, + GoogleImagesRelatedContentJsonSearchParams, + GoogleImagesRelatedContentHtmlSearchParams, + GoogleImmersiveProductJsonSearchParams, + GoogleImmersiveProductHtmlSearchParams, + GoogleJobsJsonSearchParams, + GoogleJobsHtmlSearchParams, + GoogleJobsListingJsonSearchParams, + GoogleJobsListingHtmlSearchParams, + GoogleLensJsonSearchParams, + GoogleLensHtmlSearchParams, + GoogleLightJsonSearchParams, + GoogleLightHtmlSearchParams, + GoogleLocalJsonSearchParams, + GoogleLocalHtmlSearchParams, + GoogleLocalServicesJsonSearchParams, + GoogleLocalServicesHtmlSearchParams, + GoogleMapsJsonSearchParams, + GoogleMapsHtmlSearchParams, + GoogleMapsAutocompleteJsonSearchParams, + GoogleMapsAutocompleteHtmlSearchParams, + GoogleMapsContributorReviewsJsonSearchParams, + GoogleMapsContributorReviewsHtmlSearchParams, + GoogleMapsDirectionsJsonSearchParams, + GoogleMapsDirectionsHtmlSearchParams, + GoogleMapsPhotoMetaJsonSearchParams, + GoogleMapsPhotoMetaHtmlSearchParams, + GoogleMapsPhotosJsonSearchParams, + GoogleMapsPhotosHtmlSearchParams, + GoogleMapsPostsJsonSearchParams, + GoogleMapsPostsHtmlSearchParams, + GoogleMapsReviewsJsonSearchParams, + GoogleMapsReviewsHtmlSearchParams, + GoogleNewsJsonSearchParams, + GoogleNewsHtmlSearchParams, + GoogleNewsLightJsonSearchParams, + GoogleNewsLightHtmlSearchParams, + GooglePatentsJsonSearchParams, + GooglePatentsHtmlSearchParams, + GooglePatentsDetailsJsonSearchParams, + GooglePatentsDetailsHtmlSearchParams, + GooglePlayJsonSearchParams, + GooglePlayHtmlSearchParams, + GooglePlayBooksJsonSearchParams, + GooglePlayBooksHtmlSearchParams, + GooglePlayGamesJsonSearchParams, + GooglePlayGamesHtmlSearchParams, + GooglePlayMoviesJsonSearchParams, + GooglePlayMoviesHtmlSearchParams, + GooglePlayProductJsonSearchParams, + GooglePlayProductHtmlSearchParams, + GoogleRelatedQuestionsJsonSearchParams, + GoogleRelatedQuestionsHtmlSearchParams, + GoogleReverseImageJsonSearchParams, + GoogleReverseImageHtmlSearchParams, + GoogleScholarJsonSearchParams, + GoogleScholarHtmlSearchParams, + GoogleScholarAuthorJsonSearchParams, + GoogleScholarAuthorHtmlSearchParams, + GoogleScholarCaseLawJsonSearchParams, + GoogleScholarCaseLawHtmlSearchParams, + GoogleScholarCiteJsonSearchParams, + GoogleScholarCiteHtmlSearchParams, + GoogleShoppingJsonSearchParams, + GoogleShoppingHtmlSearchParams, + GoogleShoppingFiltersJsonSearchParams, + GoogleShoppingFiltersHtmlSearchParams, + GoogleShoppingLightJsonSearchParams, + GoogleShoppingLightHtmlSearchParams, + GoogleShortVideosJsonSearchParams, + GoogleShortVideosHtmlSearchParams, + GoogleSportsJsonSearchParams, + GoogleSportsHtmlSearchParams, + GoogleTravelExploreJsonSearchParams, + GoogleTravelExploreHtmlSearchParams, + GoogleTrendsJsonSearchParams, + GoogleTrendsHtmlSearchParams, + GoogleTrendsAutocompleteJsonSearchParams, + GoogleTrendsAutocompleteHtmlSearchParams, + GoogleTrendsNewsJsonSearchParams, + GoogleTrendsNewsHtmlSearchParams, + GoogleTrendsTrendingNowJsonSearchParams, + GoogleTrendsTrendingNowHtmlSearchParams, + GoogleVideosJsonSearchParams, + GoogleVideosHtmlSearchParams, + GoogleVideosLightJsonSearchParams, + GoogleVideosLightHtmlSearchParams, + HomeDepotJsonSearchParams, + HomeDepotHtmlSearchParams, + HomeDepotProductJsonSearchParams, + HomeDepotProductHtmlSearchParams, + HomeDepotProductReviewsJsonSearchParams, + HomeDepotProductReviewsHtmlSearchParams, + InstagramProfileJsonSearchParams, + InstagramProfileHtmlSearchParams, + NaverJsonSearchParams, + NaverHtmlSearchParams, + NaverAiOverviewJsonSearchParams, + NaverAiOverviewHtmlSearchParams, + OpenTableReviewsJsonSearchParams, + OpenTableReviewsHtmlSearchParams, + SearchIndexJsonSearchParams, + SearchIndexHtmlSearchParams, + TripadvisorJsonSearchParams, + TripadvisorHtmlSearchParams, + TripadvisorPlaceJsonSearchParams, + TripadvisorPlaceHtmlSearchParams, + TripadvisorReviewsJsonSearchParams, + TripadvisorReviewsHtmlSearchParams, + WalmartJsonSearchParams, + WalmartHtmlSearchParams, + WalmartProductJsonSearchParams, + WalmartProductHtmlSearchParams, + WalmartProductReviewsJsonSearchParams, + WalmartProductReviewsHtmlSearchParams, + WalmartProductSellersJsonSearchParams, + WalmartProductSellersHtmlSearchParams, + YahooJsonSearchParams, + YahooHtmlSearchParams, + YahooImagesJsonSearchParams, + YahooImagesHtmlSearchParams, + YahooShoppingJsonSearchParams, + YahooShoppingHtmlSearchParams, + YahooVideosJsonSearchParams, + YahooVideosHtmlSearchParams, + YandexJsonSearchParams, + YandexHtmlSearchParams, + YandexImagesJsonSearchParams, + YandexImagesHtmlSearchParams, + YandexVideosJsonSearchParams, + YandexVideosHtmlSearchParams, + YelpJsonSearchParams, + YelpHtmlSearchParams, + YelpPlaceJsonSearchParams, + YelpPlaceHtmlSearchParams, + YelpReviewsJsonSearchParams, + YelpReviewsHtmlSearchParams, + YoutubeJsonSearchParams, + YoutubeHtmlSearchParams, + YoutubeVideoJsonSearchParams, + YoutubeVideoHtmlSearchParams, + YoutubeVideoTranscriptJsonSearchParams, + YoutubeVideoTranscriptHtmlSearchParams, +) +from .http import HTTPClient +from .models import SerpResults +from typing_extensions import Literal + + +class Client(HTTPClient): + DASHBOARD_URL: str + + def __init__(self, *, api_key: Optional[str] = ..., timeout: Any = ...) -> None: ... + def __repr__(self) -> str: ... + + @overload + def search( + self, + params: AmazonHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AmazonJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["amazon"], + output: Literal["html"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + dc: bool = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + k: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + node: str = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rh: str = ..., + s: Literal["relevanceblender", "price-asc-rank", "price-desc-rank", "review-rank", "date-desc-rank", "exact-aware-popularity-rank"] = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["amazon"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + dc: bool = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + k: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + node: str = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rh: str = ..., + s: Literal["relevanceblender", "price-asc-rank", "price-desc-rank", "review-rank", "date-desc-rank", "exact-aware-popularity-rank"] = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: AmazonProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AmazonProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + asin: str, + engine: Literal["amazon_product"], + output: Literal["html"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + other_sellers: bool = ..., + proxies: Any = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + asin: str, + engine: Literal["amazon_product"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + other_sellers: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: AppleAppStoreHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AppleAppStoreJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["apple_app_store"], + output: Literal["html"], + term: str, + api_key: str = ..., + category_id: Any = ..., + cert: Any = ..., + country: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + disallow_explicit: bool = ..., + json_restrictor: str = ..., + lang: Literal["pt-br", "it-it", "hi-in", "ca-es", "es-es", "zh-tw", "th-th", "da-dk", "fi-fi", "en-gb", "nl-nl", "pl-pl", "ro-ro", "zh-cn", "no-no", "pt-pt", "de-ch", "uk-ua", "en-us", "vi-vi", "sv-se", "en-ca", "fr-fr", "sk-sk", "zh-hk", "hr-hr", "en-au", "ko-kr", "tr-tr", "el-gr", "ms-my", "id-id", "cs-cz", "hu-hu", "fr-ca", "es-mx", "de-de", "ru-ru", "ja-jp"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + property: Literal["developer"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["apple_app_store"], + term: str, + api_key: str = ..., + category_id: Any = ..., + cert: Any = ..., + country: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + disallow_explicit: bool = ..., + json_restrictor: str = ..., + lang: Literal["pt-br", "it-it", "hi-in", "ca-es", "es-es", "zh-tw", "th-th", "da-dk", "fi-fi", "en-gb", "nl-nl", "pl-pl", "ro-ro", "zh-cn", "no-no", "pt-pt", "de-ch", "uk-ua", "en-us", "vi-vi", "sv-se", "en-ca", "fr-fr", "sk-sk", "zh-hk", "hr-hr", "en-au", "ko-kr", "tr-tr", "el-gr", "ms-my", "id-id", "cs-cz", "hu-hu", "fr-ca", "es-mx", "de-de", "ru-ru", "ja-jp"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + property: Literal["developer"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: AppleMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AppleMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["apple_maps"], + output: Literal["html"], + query: str, + api_key: str = ..., + center: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + location: str = ..., + multi_select_options: str = ..., + no_cache: bool = ..., + open_at: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["default", "distance", "ratings"] = ..., + span: str = ..., + stream: Any = ..., + timeout: Any = ..., + toggles: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["apple_maps"], + query: str, + api_key: str = ..., + center: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + location: str = ..., + multi_select_options: str = ..., + no_cache: bool = ..., + open_at: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sort: Literal["default", "distance", "ratings"] = ..., + span: str = ..., + stream: Any = ..., + timeout: Any = ..., + toggles: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: AppleMapsPlacesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AppleMapsPlacesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["apple_maps_places"], + muid: str, + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["apple_maps_places"], + muid: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: AppleProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AppleProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["apple_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["app"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["apple_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["app"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: AppleReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: AppleReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["apple_reviews"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["mostrecent", "mosthelpful", "mostfavorable", "mostcritical"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["apple_reviews"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["mostrecent", "mosthelpful", "mostfavorable", "mostcritical"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BaiduHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BaiduJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["baidu"], + output: Literal["html"], + q: str, + api_key: str = ..., + bs: str = ..., + cert: Any = ..., + ct: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + f: str = ..., + gpc: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + oq: str = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + q5: str = ..., + q6: str = ..., + rn: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["baidu"], + q: str, + api_key: str = ..., + bs: str = ..., + cert: Any = ..., + ct: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + f: str = ..., + gpc: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + oq: str = ..., + output: Literal["json"] = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + q5: str = ..., + q6: str = ..., + rn: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BaiduNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BaiduNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["baidu_news"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + ct: Any = ..., + json_restrictor: str = ..., + medium: Any = ..., + no_cache: bool = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + rn: Union[float, int] = ..., + rtt: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["baidu_news"], + q: str, + api_key: str = ..., + cert: Any = ..., + ct: Any = ..., + json_restrictor: str = ..., + medium: Any = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + rn: Union[float, int] = ..., + rtt: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filters: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filters: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingCopilotHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingCopilotJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_copilot"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_copilot"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_images"], + output: Literal["html"], + q: str, + age: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + api_key: str = ..., + aspect: Literal["square", "wide", "tall"] = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + color2: Literal["color", "bw", "FGcls_RED", "FGcls_ORANGE", "FGcls_YELLOW", "FGcls_GREEN", "FGcls_TEAL", "FGcls_BLUE", "FGcls_PURPLE", "FGcls_PINK", "FGcls_BROWN", "FGcls_BLACK", "FGcls_GRAY", "FGcls_WHITE"] = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + face: Literal["face", "portrait"] = ..., + first: Union[float, int] = ..., + imagesize: Literal["small", "medium", "large", "wallpaper"] = ..., + json_restrictor: str = ..., + license: Literal["Type-Any", "L1", "L2_L3_L4_L5_L6_L7", "L2_L3_L4", "L2_L3_L5_L6", "L2_L3"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + photo: Literal["photo", "clipart", "linedrawing", "animatedgif", "animatedgifhttps", "transparent", "shopping"] = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_images"], + q: str, + age: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + api_key: str = ..., + aspect: Literal["square", "wide", "tall"] = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + color2: Literal["color", "bw", "FGcls_RED", "FGcls_ORANGE", "FGcls_YELLOW", "FGcls_GREEN", "FGcls_TEAL", "FGcls_BLUE", "FGcls_PURPLE", "FGcls_PINK", "FGcls_BROWN", "FGcls_BLACK", "FGcls_GRAY", "FGcls_WHITE"] = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + face: Literal["face", "portrait"] = ..., + first: Union[float, int] = ..., + imagesize: Literal["small", "medium", "large", "wallpaper"] = ..., + json_restrictor: str = ..., + license: Literal["Type-Any", "L1", "L2_L3_L4_L5_L6_L7", "L2_L3_L4", "L2_L3_L5_L6", "L2_L3"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + photo: Literal["photo", "clipart", "linedrawing", "animatedgif", "animatedgifhttps", "transparent", "shopping"] = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_maps"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + count: Union[float, int] = ..., + cp: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + place_id: str = ..., + proxies: Any = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_maps"], + q: str, + api_key: str = ..., + cert: Any = ..., + count: Union[float, int] = ..., + cp: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + place_id: str = ..., + proxies: Any = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_news"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + qft: Literal["interval=\"4\"", "interval=\"7\"", "interval=\"8\"", "interval=\"9\"", "sortbydate=\"1\""] = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_news"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + qft: Literal["interval=\"4\"", "interval=\"7\"", "interval=\"8\"", "interval=\"9\"", "sortbydate=\"1\""] = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_product"], + output: Literal["html"], + product_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_product"], + product_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingReverseImageHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingReverseImageJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_reverse_image"], + image_url: str, + output: Literal["html"], + api_key: str = ..., + cab: Union[float, int] = ..., + cal: Union[float, int] = ..., + car: Union[float, int] = ..., + cat: Union[float, int] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_reverse_image"], + image_url: str, + api_key: str = ..., + cab: Union[float, int] = ..., + cal: Union[float, int] = ..., + car: Union[float, int] = ..., + cat: Union[float, int] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingShoppingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingShoppingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_shopping"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + efirst: Union[float, int] = ..., + filters: str = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_shopping"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + efirst: Union[float, int] = ..., + filters: str = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BingVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BingVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["bing_videos"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + date: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + length: Literal["short", "medium", "long"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + price: Literal["free", "paid"] = ..., + proxies: Any = ..., + resolution: Literal["lowerthan_360p", "360p", "480p", "720p", "1080p"] = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + source_site: Literal["dailymotion.com", "vimeo.com", "metacafe.com", "hulu.com", "vevo.com", "myspace.com", "mtv.com", "cbsnews.com", "foxnews.com", "cnn.com", "msn.com"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["bing_videos"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + date: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + length: Literal["short", "medium", "long"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + price: Literal["free", "paid"] = ..., + proxies: Any = ..., + resolution: Literal["lowerthan_360p", "360p", "480p", "720p", "1080p"] = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + source_site: Literal["dailymotion.com", "vimeo.com", "metacafe.com", "hulu.com", "vevo.com", "myspace.com", "mtv.com", "cbsnews.com", "foxnews.com", "cnn.com", "msn.com"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: BraveAiModeHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: BraveAiModeJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["brave_ai_mode"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["ar", "au", "at", "be", "br", "ca", "cl", "cn", "dk", "fi", "fr", "de", "gr", "hk", "in", "id", "it", "jp", "kr", "my", "mx", "nl", "nz", "no", "pl", "pt", "ph", "ru", "sa", "sg", "za", "es", "se", "ch", "tw", "tr", "gb", "us"] = ..., + json_restrictor: str = ..., + language: Literal["az", "bg", "br", "ca", "cs", "cy", "da", "de", "el", "en", "es", "et", "eu", "fi", "fr", "gl", "hr", "hu", "id", "it", "ja", "ka", "ko", "lt", "lv", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh"] = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safeSearch: Literal["off", "moderate", "strict"] = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + units_of_measurement: Literal["metric", "us"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["brave_ai_mode"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["ar", "au", "at", "be", "br", "ca", "cl", "cn", "dk", "fi", "fr", "de", "gr", "hk", "in", "id", "it", "jp", "kr", "my", "mx", "nl", "nz", "no", "pl", "pt", "ph", "ru", "sa", "sg", "za", "es", "se", "ch", "tw", "tr", "gb", "us"] = ..., + json_restrictor: str = ..., + language: Literal["az", "bg", "br", "ca", "cs", "cy", "da", "de", "el", "en", "es", "et", "eu", "fi", "fr", "gl", "hr", "hu", "id", "it", "ja", "ka", "ko", "lt", "lv", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh"] = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safeSearch: Literal["off", "moderate", "strict"] = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + units_of_measurement: Literal["metric", "us"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: DuckduckgoHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: DuckduckgoJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["duckduckgo"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Any = ..., + search_assist: bool = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["duckduckgo"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Any = ..., + search_assist: bool = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: DuckduckgoLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: DuckduckgoLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["duckduckgo_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["duckduckgo_light"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: DuckduckgoMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: DuckduckgoMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["duckduckgo_maps"], + output: Literal["html"], + q: str, + api_key: str = ..., + bbox: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + strict_bbox: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["duckduckgo_maps"], + q: str, + api_key: str = ..., + bbox: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + strict_bbox: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: DuckduckgoNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: DuckduckgoNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["duckduckgo_news"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["duckduckgo_news"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: EbayHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: EbayJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + _nkw: str, + engine: Literal["ebay"], + output: Literal["html"], + LH_ItemCondition: str = ..., + LH_PrefLoc: Any = ..., + _blrs: bool = ..., + _dmd: Any = ..., + _ipg: Any = ..., + _pgn: Union[float, int] = ..., + _salic: Any = ..., + _sasl: str = ..., + _saslop: Any = ..., + _sop: Any = ..., + _stpos: str = ..., + _udhi: Union[float, int] = ..., + _udlo: Union[float, int] = ..., + api_key: str = ..., + buying_format: Literal["Auction", "BIN", "BO"] = ..., + category_id: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + show_only: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + _nkw: str, + engine: Literal["ebay"], + LH_ItemCondition: str = ..., + LH_PrefLoc: Any = ..., + _blrs: bool = ..., + _dmd: Any = ..., + _ipg: Any = ..., + _pgn: Union[float, int] = ..., + _salic: Any = ..., + _sasl: str = ..., + _saslop: Any = ..., + _sop: Any = ..., + _stpos: str = ..., + _udhi: Union[float, int] = ..., + _udlo: Union[float, int] = ..., + api_key: str = ..., + buying_format: Literal["Auction", "BIN", "BO"] = ..., + category_id: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + show_only: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: EbayProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: EbayProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["ebay_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + lang: Literal["en-us"] = ..., + locale: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + shipping_country: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["ebay_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + lang: Literal["en-us"] = ..., + locale: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shipping_country: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: FacebookProfileHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: FacebookProfileJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["facebook_profile"], + output: Literal["html"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["facebook_profile"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + *, + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAboutThisResultHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAboutThisResultJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_about_this_result"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ilps: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_about_this_result"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ilps: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAdsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAdsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_ads"], + location: str, + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + hl: str = ..., + json_restrictor: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_ads"], + location: str, + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + hl: str = ..., + json_restrictor: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAdsTransparencyCenterHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAdsTransparencyCenterJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_ads_transparency_center"], + output: Literal["html"], + advertiser_id: str = ..., + api_key: str = ..., + cert: Any = ..., + creative_format: Literal["text", "image", "video"] = ..., + end_date: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + platform: Literal["PLAY", "MAPS", "SEARCH", "SHOPPING", "YOUTUBE"] = ..., + political_ads: bool = ..., + proxies: Any = ..., + region: Any = ..., + start_date: str = ..., + stream: Any = ..., + text: str = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_ads_transparency_center"], + advertiser_id: str = ..., + api_key: str = ..., + cert: Any = ..., + creative_format: Literal["text", "image", "video"] = ..., + end_date: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + platform: Literal["PLAY", "MAPS", "SEARCH", "SHOPPING", "YOUTUBE"] = ..., + political_ads: bool = ..., + proxies: Any = ..., + region: Any = ..., + start_date: str = ..., + stream: Any = ..., + text: str = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAdsTransparencyCenterAdDetailsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAdsTransparencyCenterAdDetailsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + advertiser_id: str, + creative_id: str, + engine: Literal["google_ads_transparency_center_ad_details"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + region: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + advertiser_id: str, + creative_id: str, + engine: Literal["google_ads_transparency_center_ad_details"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + region: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAiModeHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAiModeJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_ai_mode"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + continuable: bool = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + hl: str = ..., + image_url: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_ai_mode"], + q: str, + api_key: str = ..., + cert: Any = ..., + continuable: bool = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + hl: str = ..., + image_url: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAiOverviewHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAiOverviewJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_ai_overview"], + output: Literal["html"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_ai_overview"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + client: Literal["chrome", "chrome-omni", "gws-wiz", "safari", "firefox", "psy-ab", "toolbar", "youtube", "gws-wiz-local"] = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + client: Literal["chrome", "chrome-omni", "gws-wiz", "safari", "firefox", "psy-ab", "toolbar", "youtube", "gws-wiz-local"] = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleEventsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleEventsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_events"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + htichips: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_events"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + htichips: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleFinanceHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleFinanceJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_finance"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + window: Literal["1D", "5D", "1M", "6M", "YTD", "1Y", "5Y", "MAX"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_finance"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + window: Literal["1D", "5D", "1M", "6M", "YTD", "1Y", "5Y", "MAX"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleFinanceMarketsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleFinanceMarketsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_finance_markets"], + output: Literal["html"], + trend: Literal["indexes"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_finance_markets"], + trend: Literal["indexes"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleFlightsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleFlightsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_flights"], + output: Literal["html"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + booking_token: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + deep_search: bool = ..., + departure_id: str = ..., + departure_token: str = ..., + emissions: Any = ..., + exclude_airlines: str = ..., + exclude_basic: bool = ..., + exclude_conns: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + layover_duration: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + multi_city_json: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + outbound_times: str = ..., + proxies: Any = ..., + return_date: str = ..., + return_times: str = ..., + selected_flights_json: str = ..., + show_hidden: bool = ..., + sort_by: Any = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_flights"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + booking_token: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + deep_search: bool = ..., + departure_id: str = ..., + departure_token: str = ..., + emissions: Any = ..., + exclude_airlines: str = ..., + exclude_basic: bool = ..., + exclude_conns: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + layover_duration: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + multi_city_json: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + outbound_times: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + return_date: str = ..., + return_times: str = ..., + selected_flights_json: str = ..., + show_hidden: bool = ..., + sort_by: Any = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleFlightsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleFlightsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_flights_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + exclude_regions: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_flights_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + exclude_regions: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleFlightsDealsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleFlightsDealsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_flights_deals"], + output: Literal["html"], + adults: Union[float, int] = ..., + api_key: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + departure_id: str = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + no_cache: bool = ..., + outbound_date: str = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + trip_length: str = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_flights_deals"], + adults: Union[float, int] = ..., + api_key: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + departure_id: str = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + no_cache: bool = ..., + outbound_date: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + trip_length: str = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleForumsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleForumsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_forums"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_forums"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleHotelsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleHotelsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + check_in_date: str, + check_out_date: str, + engine: Literal["google_hotels"], + output: Literal["html"], + q: str, + adults: Union[float, int] = ..., + amenities: str = ..., + api_key: str = ..., + bathrooms: Union[float, int] = ..., + bedrooms: Union[float, int] = ..., + brands: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + children_ages: str = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + eco_certified: bool = ..., + free_cancellation: bool = ..., + gl: str = ..., + hl: str = ..., + hotel_class: str = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + property_token: str = ..., + property_types: str = ..., + proxies: Any = ..., + rating: Any = ..., + sort_by: Any = ..., + special_offers: bool = ..., + stream: Any = ..., + timeout: Any = ..., + vacation_rentals: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + check_in_date: str, + check_out_date: str, + engine: Literal["google_hotels"], + q: str, + adults: Union[float, int] = ..., + amenities: str = ..., + api_key: str = ..., + bathrooms: Union[float, int] = ..., + bedrooms: Union[float, int] = ..., + brands: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + children_ages: str = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + eco_certified: bool = ..., + free_cancellation: bool = ..., + gl: str = ..., + hl: str = ..., + hotel_class: str = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + property_token: str = ..., + property_types: str = ..., + proxies: Any = ..., + rating: Any = ..., + sort_by: Any = ..., + special_offers: bool = ..., + stream: Any = ..., + timeout: Any = ..., + vacation_rentals: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleHotelsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleHotelsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_hotels_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_hotels_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleHotelsPhotosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleHotelsPhotosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_hotels_photos"], + output: Literal["html"], + property_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_hotels_photos"], + property_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleHotelsReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleHotelsReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_hotels_reviews"], + output: Literal["html"], + property_token: str, + api_key: str = ..., + category_token: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + sort_by: Any = ..., + source_number: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_hotels_reviews"], + property_token: str, + api_key: str = ..., + category_token: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sort_by: Any = ..., + source_number: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_images"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + chips: str = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ijn: Union[float, int] = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_images"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + chips: str = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ijn: Union[float, int] = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleImagesLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleImagesLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_images_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_images_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleImagesRelatedContentHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleImagesRelatedContentJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_images_related_content"], + output: Literal["html"], + related_content_id: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_images_related_content"], + related_content_id: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleImmersiveProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleImmersiveProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_immersive_product"], + output: Literal["html"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + more_stores: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_immersive_product"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + more_stores: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleJobsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleJobsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_jobs"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + chips: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lrad: Union[float, int] = ..., + ltype: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_jobs"], + q: str, + api_key: str = ..., + cert: Any = ..., + chips: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lrad: Union[float, int] = ..., + ltype: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleJobsListingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleJobsListingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_jobs_listing"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_jobs_listing"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleLensHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleLensJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_lens"], + output: Literal["html"], + type: Literal["all", "about_this_image", "products", "exact_matches", "visual_matches"], + url: str, + api_key: str = ..., + auto_crop: bool = ..., + cert: Any = ..., + country: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_lens"], + type: Literal["all", "about_this_image", "products", "exact_matches", "visual_matches"], + url: str, + api_key: str = ..., + auto_crop: bool = ..., + cert: Any = ..., + country: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleLocalHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleLocalJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_local"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + ludocid: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_local"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + ludocid: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleLocalServicesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleLocalServicesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + data_cid: Union[float, int], + engine: Literal["google_local_services"], + output: Literal["html"], + q: str, + api_key: str = ..., + bid: Union[float, int] = ..., + cert: Any = ..., + cid: Union[float, int] = ..., + hl: str = ..., + job_type: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + pid: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + data_cid: Union[float, int], + engine: Literal["google_local_services"], + q: str, + api_key: str = ..., + bid: Union[float, int] = ..., + cert: Any = ..., + cid: Union[float, int] = ..., + hl: str = ..., + job_type: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + pid: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_maps"], + output: Literal["html"], + type: Literal["search", "place"], + api_key: str = ..., + cert: Any = ..., + data: str = ..., + data_cid: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + ll: str = ..., + location: str = ..., + lon: Union[float, int] = ..., + m: Union[float, int] = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + min_rating: Literal["2.0", "2.5", "3.0", "3.5", "4.0", "4.5"] = ..., + nearby: bool = ..., + no_cache: bool = ..., + open_at_hour: Any = ..., + open_on_day: Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"] = ..., + open_state: Literal["now", "24h"] = ..., + place_id: str = ..., + proxies: Any = ..., + q: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + z: Union[float, int] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_maps"], + type: Literal["search", "place"], + api_key: str = ..., + cert: Any = ..., + data: str = ..., + data_cid: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + ll: str = ..., + location: str = ..., + lon: Union[float, int] = ..., + m: Union[float, int] = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + min_rating: Literal["2.0", "2.5", "3.0", "3.5", "4.0", "4.5"] = ..., + nearby: bool = ..., + no_cache: bool = ..., + open_at_hour: Any = ..., + open_on_day: Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"] = ..., + open_state: Literal["now", "24h"] = ..., + output: Literal["json"] = ..., + place_id: str = ..., + proxies: Any = ..., + q: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + z: Union[float, int] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_maps_autocomplete"], + ll: str, + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_maps_autocomplete"], + ll: str, + q: str, + api_key: str = ..., + cert: Any = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsContributorReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsContributorReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + contributor_id: str, + engine: Literal["google_maps_contributor_reviews"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + contributor_id: str, + engine: Literal["google_maps_contributor_reviews"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsDirectionsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsDirectionsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_maps_directions"], + output: Literal["html"], + api_key: str = ..., + avoid: str = ..., + cert: Any = ..., + distance_unit: Any = ..., + end_addr: str = ..., + end_coords: str = ..., + end_data_id: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + prefer: str = ..., + proxies: Any = ..., + route: Any = ..., + start_addr: str = ..., + start_coords: str = ..., + start_data_id: str = ..., + stream: Any = ..., + time: str = ..., + timeout: Any = ..., + travel_mode: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_maps_directions"], + api_key: str = ..., + avoid: str = ..., + cert: Any = ..., + distance_unit: Any = ..., + end_addr: str = ..., + end_coords: str = ..., + end_data_id: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + prefer: str = ..., + proxies: Any = ..., + route: Any = ..., + start_addr: str = ..., + start_coords: str = ..., + start_data_id: str = ..., + stream: Any = ..., + time: str = ..., + timeout: Any = ..., + travel_mode: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsPhotoMetaHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsPhotoMetaJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + data_id: str, + engine: Literal["google_maps_photo_meta"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + data_id: str, + engine: Literal["google_maps_photo_meta"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsPhotosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsPhotosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + data_id: str, + engine: Literal["google_maps_photos"], + output: Literal["html"], + api_key: str = ..., + category_id: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + data_id: str, + engine: Literal["google_maps_photos"], + api_key: str = ..., + category_id: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsPostsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsPostsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + data_id: str, + engine: Literal["google_maps_posts"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + data_id: str, + engine: Literal["google_maps_posts"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleMapsReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleMapsReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_maps_reviews"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + data_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: str = ..., + place_id: str = ..., + proxies: Any = ..., + query: str = ..., + sort_by: Literal["qualityScore", "newestFirst", "ratingHigh", "ratingLow"] = ..., + stream: Any = ..., + timeout: Any = ..., + topic_id: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_maps_reviews"], + api_key: str = ..., + cert: Any = ..., + data_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: str = ..., + output: Literal["json"] = ..., + place_id: str = ..., + proxies: Any = ..., + query: str = ..., + sort_by: Literal["qualityScore", "newestFirst", "ratingHigh", "ratingLow"] = ..., + stream: Any = ..., + timeout: Any = ..., + topic_id: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_news"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + publication_token: str = ..., + q: str = ..., + section_token: str = ..., + so: Any = ..., + story_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + topic_token: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_news"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + publication_token: str = ..., + q: str = ..., + section_token: str = ..., + so: Any = ..., + story_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + topic_token: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleNewsLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleNewsLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_news_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_news_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePatentsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePatentsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_patents"], + output: Literal["html"], + after: str = ..., + api_key: str = ..., + assignee: str = ..., + before: str = ..., + cert: Any = ..., + clustered: Literal["true"] = ..., + country: str = ..., + dups: Literal["language"] = ..., + inventor: str = ..., + json_restrictor: str = ..., + language: str = ..., + litigation: Literal["YES", "NO"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + page: Union[float, int] = ..., + patents: bool = ..., + proxies: Any = ..., + q: str = ..., + scholar: bool = ..., + sort: Literal["new", "old"] = ..., + status: Literal["GRANT", "APPLICATION"] = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["PATENT", "DESIGN"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_patents"], + after: str = ..., + api_key: str = ..., + assignee: str = ..., + before: str = ..., + cert: Any = ..., + clustered: Literal["true"] = ..., + country: str = ..., + dups: Literal["language"] = ..., + inventor: str = ..., + json_restrictor: str = ..., + language: str = ..., + litigation: Literal["YES", "NO"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + patents: bool = ..., + proxies: Any = ..., + q: str = ..., + scholar: bool = ..., + sort: Literal["new", "old"] = ..., + status: Literal["GRANT", "APPLICATION"] = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["PATENT", "DESIGN"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePatentsDetailsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePatentsDetailsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_patents_details"], + output: Literal["html"], + patent_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_patents_details"], + patent_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePlayHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePlayJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_play"], + output: Literal["html"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + apps_category: Literal["ART_AND_DESIGN", "AUTO_AND_VEHICLES", "BEAUTY", "BOOKS_AND_REFERENCE", "BUSINESS", "COMICS", "COMMUNICATION", "DATING", "EDUCATION", "ENTERTAINMENT", "EVENTS", "FINANCE", "FOOD_AND_DRINK", "HEALTH_AND_FITNESS", "HOUSE_AND_HOME", "LIBRARIES_AND_DEMO", "LIFESTYLE", "MAPS_AND_NAVIGATION", "MEDICAL", "MUSIC_AND_AUDIO", "NEWS_AND_MAGAZINES", "PARENTING", "PERSONALIZATION", "PHOTOGRAPHY", "PRODUCTIVITY", "SHOPPING", "SOCIAL", "SPORTS", "TOOLS", "TRAVEL_AND_LOCAL", "VIDEO_PLAYERS", "ANDROID_WEAR", "WATCH_FACE", "WEATHER", "FAMILY"] = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "tablet", "tv", "chromebook", "watch", "car"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_play"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + apps_category: Literal["ART_AND_DESIGN", "AUTO_AND_VEHICLES", "BEAUTY", "BOOKS_AND_REFERENCE", "BUSINESS", "COMICS", "COMMUNICATION", "DATING", "EDUCATION", "ENTERTAINMENT", "EVENTS", "FINANCE", "FOOD_AND_DRINK", "HEALTH_AND_FITNESS", "HOUSE_AND_HOME", "LIBRARIES_AND_DEMO", "LIFESTYLE", "MAPS_AND_NAVIGATION", "MEDICAL", "MUSIC_AND_AUDIO", "NEWS_AND_MAGAZINES", "PARENTING", "PERSONALIZATION", "PHOTOGRAPHY", "PRODUCTIVITY", "SHOPPING", "SOCIAL", "SPORTS", "TOOLS", "TRAVEL_AND_LOCAL", "VIDEO_PLAYERS", "ANDROID_WEAR", "WATCH_FACE", "WEATHER", "FAMILY"] = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "tablet", "tv", "chromebook", "watch", "car"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePlayBooksHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePlayBooksJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_play_books"], + output: Literal["html"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + books_category: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + price: Any = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_play_books"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + books_category: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + price: Any = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePlayGamesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePlayGamesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_play_games"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + games_category: Literal["GAME", "GAME_ACTION", "GAME_ADVENTURE", "GAME_ARCADE", "GAME_BOARD", "GAME_CARD", "GAME_CASINO", "GAME_CASUAL", "GAME_EDUCATIONAL", "GAME_MUSIC", "GAME_PUZZLE", "GAME_RACING", "GAME_ROLE_PLAYING", "GAME_SIMULATION", "GAME_SPORTS", "GAME_STRATEGY", "GAME_TRIVIA", "GAME_WORD"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "windows", "tablet", "tv", "chromebook", "watch"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_play_games"], + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + games_category: Literal["GAME", "GAME_ACTION", "GAME_ADVENTURE", "GAME_ARCADE", "GAME_BOARD", "GAME_CARD", "GAME_CASINO", "GAME_CASUAL", "GAME_EDUCATIONAL", "GAME_MUSIC", "GAME_PUZZLE", "GAME_RACING", "GAME_ROLE_PLAYING", "GAME_SIMULATION", "GAME_SPORTS", "GAME_STRATEGY", "GAME_TRIVIA", "GAME_WORD"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "windows", "tablet", "tv", "chromebook", "watch"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePlayMoviesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePlayMoviesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_play_movies"], + output: Literal["html"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + movies_category: Any = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_play_movies"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + movies_category: Any = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GooglePlayProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GooglePlayProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_play_product"], + output: Literal["html"], + product_id: str, + store: Literal["apps", "movies", "tv", "books", "audiobooks"], + all_reviews: bool = ..., + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + platform: Literal["phone", "tablet", "watch", "chromebook", "tv", "car"] = ..., + proxies: Any = ..., + rating: Any = ..., + season_id: str = ..., + sort_by: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_play_product"], + product_id: str, + store: Literal["apps", "movies", "tv", "books", "audiobooks"], + all_reviews: bool = ..., + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + platform: Literal["phone", "tablet", "watch", "chromebook", "tv", "car"] = ..., + proxies: Any = ..., + rating: Any = ..., + season_id: str = ..., + sort_by: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleRelatedQuestionsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleRelatedQuestionsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_related_questions"], + next_page_token: str, + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_related_questions"], + next_page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleReverseImageHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleReverseImageJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_reverse_image"], + image_url: str, + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_reverse_image"], + image_url: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleScholarHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleScholarJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_scholar"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_rr: bool = ..., + as_sdt: str = ..., + as_vis: bool = ..., + as_yhi: Union[float, int] = ..., + as_ylo: Union[float, int] = ..., + cert: Any = ..., + cites: str = ..., + cluster: str = ..., + filter: bool = ..., + hl: str = ..., + json_restrictor: str = ..., + lr: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + scisbd: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_scholar"], + q: str, + api_key: str = ..., + as_rr: bool = ..., + as_sdt: str = ..., + as_vis: bool = ..., + as_yhi: Union[float, int] = ..., + as_ylo: Union[float, int] = ..., + cert: Any = ..., + cites: str = ..., + cluster: str = ..., + filter: bool = ..., + hl: str = ..., + json_restrictor: str = ..., + lr: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + scisbd: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleScholarAuthorHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleScholarAuthorJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + author_id: str, + engine: Literal["google_scholar_author"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + citation_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["title", "pubdate"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + view_op: Literal["view_citation", "list_colleagues"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + author_id: str, + engine: Literal["google_scholar_author"], + api_key: str = ..., + cert: Any = ..., + citation_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sort: Literal["title", "pubdate"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + view_op: Literal["view_citation", "list_colleagues"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleScholarCaseLawHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleScholarCaseLawJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + case_id: str, + engine: Literal["google_scholar_case_law"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + case_id: str, + engine: Literal["google_scholar_case_law"], + api_key: str = ..., + cert: Any = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleScholarCiteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleScholarCiteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_scholar_cite"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_scholar_cite"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleShoppingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleShoppingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_shopping"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_shopping"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleShoppingFiltersHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleShoppingFiltersJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_shopping_filters"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + shoprs: str = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_shopping_filters"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shoprs: str = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleShoppingLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleShoppingLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_shopping_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_shopping_light"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleShortVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleShortVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_short_videos"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_short_videos"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleSportsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleSportsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_sports"], + kgmid: str, + output: Literal["html"], + sp: Literal["ft", "bs", "bb", "cr", "af", "ih", "rg"], + type: Literal["game", "league", "team"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + moa: str = ..., + mob: str = ..., + mpd: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + season_kgmid: str = ..., + stream: Any = ..., + tab: Literal["gm", "sn", "pl", "br", "st", "rn", "ov"] = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_sports"], + kgmid: str, + sp: Literal["ft", "bs", "bb", "cr", "af", "ih", "rg"], + type: Literal["game", "league", "team"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + moa: str = ..., + mob: str = ..., + mpd: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + season_kgmid: str = ..., + stream: Any = ..., + tab: Literal["gm", "sn", "pl", "br", "st", "rn", "ov"] = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleTravelExploreHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleTravelExploreJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + departure_id: str, + engine: Literal["google_travel_explore"], + output: Literal["html"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_area_id: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + interest: Any = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + month: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + travel_mode: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + departure_id: str, + engine: Literal["google_travel_explore"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_area_id: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + interest: Any = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + month: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + travel_mode: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleTrendsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleTrendsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_trends"], + output: Literal["html"], + q: str, + api_key: str = ..., + cat: Any = ..., + cert: Any = ..., + csv: bool = ..., + data_type: Literal["TIMESERIES", "GEO_MAP", "GEO_MAP_0", "RELATED_TOPICS", "RELATED_QUERIES"] = ..., + date: str = ..., + geo: Any = ..., + gprop: Literal["", "images", "news", "froogle", "youtube"] = ..., + hl: str = ..., + include_low_search_volume: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + region: Literal["COUNTRY", "REGION", "DMA", "CITY"] = ..., + stream: Any = ..., + timeout: Any = ..., + tz: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_trends"], + q: str, + api_key: str = ..., + cat: Any = ..., + cert: Any = ..., + csv: bool = ..., + data_type: Literal["TIMESERIES", "GEO_MAP", "GEO_MAP_0", "RELATED_TOPICS", "RELATED_QUERIES"] = ..., + date: str = ..., + geo: Any = ..., + gprop: Literal["", "images", "news", "froogle", "youtube"] = ..., + hl: str = ..., + include_low_search_volume: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + region: Literal["COUNTRY", "REGION", "DMA", "CITY"] = ..., + stream: Any = ..., + timeout: Any = ..., + tz: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleTrendsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleTrendsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_trends_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_trends_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleTrendsNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleTrendsNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_trends_news"], + output: Literal["html"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_trends_news"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleTrendsTrendingNowHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleTrendsTrendingNowJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_trends_trending_now"], + frequency: Literal["daily", "realtime"], + geo: Any, + output: Literal["html"], + api_key: str = ..., + cat: Literal["all", "b", "e", "m", "t", "s", "h"] = ..., + category_id: Any = ..., + cert: Any = ..., + date: str = ..., + hl: str = ..., + hours: Union[float, int] = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + only_active: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_trends_trending_now"], + frequency: Literal["daily", "realtime"], + geo: Any, + api_key: str = ..., + cat: Literal["all", "b", "e", "m", "t", "s", "h"] = ..., + category_id: Any = ..., + cert: Any = ..., + date: str = ..., + hl: str = ..., + hours: Union[float, int] = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + only_active: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_videos"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_videos"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: GoogleVideosLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: GoogleVideosLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["google_videos_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["google_videos_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: HomeDepotHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: HomeDepotJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["home_depot"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["us", "ca"] = ..., + delivery_zip: str = ..., + filter: str = ..., + hd_filter_tokens: str = ..., + hd_sort: Literal["top_sellers", "price_low_to_high", "price_high_to_low", "top_rated", "best_match"] = ..., + json_restrictor: str = ..., + lowerbound: Union[float, int] = ..., + minmax: str = ..., + nao: str = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + pagesize: str = ..., + proxies: Any = ..., + ps: Union[float, int] = ..., + sort: Literal["price-asc", "price-desc", "reviewAvgRating", "relevance"] = ..., + store: str = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + upperbound: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["home_depot"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["us", "ca"] = ..., + delivery_zip: str = ..., + filter: str = ..., + hd_filter_tokens: str = ..., + hd_sort: Literal["top_sellers", "price_low_to_high", "price_high_to_low", "top_rated", "best_match"] = ..., + json_restrictor: str = ..., + lowerbound: Union[float, int] = ..., + minmax: str = ..., + nao: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + pagesize: str = ..., + proxies: Any = ..., + ps: Union[float, int] = ..., + sort: Literal["price-asc", "price-desc", "reviewAvgRating", "relevance"] = ..., + store: str = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + upperbound: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: HomeDepotProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: HomeDepotProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["home_depot_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["home_depot_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: HomeDepotProductReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: HomeDepotProductReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["home_depot_product_reviews"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + pagesize: str = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["photoreview", "mosthelpfull", "oldest", "newest", "highestrating", "lowestrating"] = ..., + start: str = ..., + stream: Any = ..., + term: str = ..., + timeout: Any = ..., + verified_purchases: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["home_depot_product_reviews"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + pagesize: str = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["photoreview", "mosthelpfull", "oldest", "newest", "highestrating", "lowestrating"] = ..., + start: str = ..., + stream: Any = ..., + term: str = ..., + timeout: Any = ..., + verified_purchases: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: InstagramProfileHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: InstagramProfileJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["instagram_profile"], + output: Literal["html"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["instagram_profile"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: NaverHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: NaverJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["naver"], + output: Literal["html"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + page: str = ..., + period: str = ..., + proxies: Any = ..., + sort_by: Any = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + where: Literal["nexearch", "web", "news", "video", "image"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["naver"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + page: str = ..., + period: str = ..., + proxies: Any = ..., + sort_by: Any = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + where: Literal["nexearch", "web", "news", "video", "image"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: NaverAiOverviewHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: NaverAiOverviewJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["naver_ai_overview"], + output: Literal["html"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["naver_ai_overview"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: OpenTableReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: OpenTableReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["open_table_reviews"], + output: Literal["html"], + rid: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + open_table_domain: Literal["opentable.com", "opentable.jp", "opentable.de", "opentable.es", "opentable.ca", "opentable.hk", "opentable.ie", "opentable.sg", "opentable.nl", "opentable.com.mx", "opentable.co.uk", "opentable.com.au", "opentable.ae", "opentable.co.th", "opentable.it", "opentable.com.tw", "opentable.fr"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["open_table_reviews"], + rid: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + open_table_domain: Literal["opentable.com", "opentable.jp", "opentable.de", "opentable.es", "opentable.ca", "opentable.hk", "opentable.ie", "opentable.sg", "opentable.nl", "opentable.com.mx", "opentable.co.uk", "opentable.com.au", "opentable.ae", "opentable.co.th", "opentable.it", "opentable.com.tw", "opentable.fr"] = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: SearchIndexHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: SearchIndexJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["search_index"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["search_index"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: TripadvisorHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: TripadvisorJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["tripadvisor"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + limit: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + offset: Union[float, int] = ..., + proxies: Any = ..., + ssrc: Literal["a", "r", "A", "h", "g", "v", "f"] = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["tripadvisor"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + limit: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + offset: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + ssrc: Literal["a", "r", "A", "h", "g", "v", "f"] = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: TripadvisorPlaceHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: TripadvisorPlaceJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["tripadvisor_place"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["tripadvisor_place"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: TripadvisorReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: TripadvisorReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["tripadvisor_reviews"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language: Literal["ar", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ru", "sk", "sr", "sv", "th", "tr", "vi", "zh"] = ..., + limit: str = ..., + month: str = ..., + no_cache: bool = ..., + offset: str = ..., + original_language: str = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["most_recent", "detailed_review"] = ..., + stream: Any = ..., + timeout: Any = ..., + translate: bool = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + type_of_visit: Literal["Business", "Couples", "Family", "Friends", "Solo"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["tripadvisor_reviews"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language: Literal["ar", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ru", "sk", "sr", "sv", "th", "tr", "vi", "zh"] = ..., + limit: str = ..., + month: str = ..., + no_cache: bool = ..., + offset: str = ..., + original_language: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["most_recent", "detailed_review"] = ..., + stream: Any = ..., + timeout: Any = ..., + translate: bool = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + type_of_visit: Literal["Business", "Couples", "Family", "Friends", "Solo"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: WalmartHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: WalmartJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["walmart"], + output: Literal["html"], + query: str, + api_key: str = ..., + cat_id: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + facet: str = ..., + include_filters: bool = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + nd_en: bool = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + soft_sort: bool = ..., + sort: Literal["price_low", "price_high", "best_seller", "best_match", "rating_high"] = ..., + spelling: bool = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + walmart_domain: Literal["walmart.com", "walmart.com.mx"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["walmart"], + query: str, + api_key: str = ..., + cat_id: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + facet: str = ..., + include_filters: bool = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + nd_en: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + soft_sort: bool = ..., + sort: Literal["price_low", "price_high", "best_seller", "best_match", "rating_high"] = ..., + spelling: bool = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + walmart_domain: Literal["walmart.com", "walmart.com.mx"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: WalmartProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: WalmartProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["walmart_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["walmart_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: WalmartProductReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: WalmartProductReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["walmart_product_reviews"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rating: Any = ..., + sort: Literal["relevancy", "helpful", "submission-desc", "submission-asc", "rating-desc", "rating-asc"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["walmart_product_reviews"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rating: Any = ..., + sort: Literal["relevancy", "helpful", "submission-desc", "submission-asc", "rating-desc", "rating-asc"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: WalmartProductSellersHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: WalmartProductSellersJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["walmart_product_sellers"], + output: Literal["html"], + product_id: str, + store_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["walmart_product_sellers"], + product_id: str, + store_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YahooHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YahooJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yahoo"], + output: Literal["html"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + d: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + fr2: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vc: str = ..., + verify: Any = ..., + vf: Literal["html", "pdf", "xls", "ppt", "doc", "txt"] = ..., + vl: Literal["lang_ar", "lang_bg", "lang_zh_chs", "lang_zh_cht", "lang_hr", "lang_cs", "lang_da", "lang_nl", "lang_en", "lang_et", "lang_fi", "lang_fr", "lang_de", "lang_el", "lang_he", "lang_hu", "lang_it", "lang_ja", "lang_ko", "lang_lv", "lang_lt", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_es", "lang_sv", "lang_th", "lang_tr"] = ..., + vm: Literal["r", "i", "p"] = ..., + vs: str = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yahoo"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + d: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + fr2: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vc: str = ..., + verify: Any = ..., + vf: Literal["html", "pdf", "xls", "ppt", "doc", "txt"] = ..., + vl: Literal["lang_ar", "lang_bg", "lang_zh_chs", "lang_zh_cht", "lang_hr", "lang_cs", "lang_da", "lang_nl", "lang_en", "lang_et", "lang_fi", "lang_fr", "lang_de", "lang_el", "lang_he", "lang_hu", "lang_it", "lang_ja", "lang_ko", "lang_lv", "lang_lt", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_es", "lang_sv", "lang_th", "lang_tr"] = ..., + vm: Literal["r", "i", "p"] = ..., + vs: str = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YahooImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YahooImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yahoo_images"], + output: Literal["html"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + imga: Literal["square", "wide", "tall"] = ..., + imgc: Literal["color", "bw", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "brown", "black", "gray", "white"] = ..., + imgf: Literal["face", "portrait", "nonportrait"] = ..., + imgl: Literal["cc", "pd", "fsu", "fsuc", "fmsu", "fmsuc"] = ..., + imgsz: Literal["small", "medium", "large", "wallpaper"] = ..., + imgt: Literal["day", "week", "month", "year"] = ..., + imgty: Literal["photo", "clipart", "linedrawing", "gif", "transparent"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yahoo_domain: Literal["espanol", "fr", "br", "ca", "de", "es", "in", "id", "it", "malaysia", "nl", "no", "at", "ph", "qc", "ch", "sg", "fi", "se", "uk", "vn", "ru", "hk", "tw"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yahoo_images"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + imga: Literal["square", "wide", "tall"] = ..., + imgc: Literal["color", "bw", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "brown", "black", "gray", "white"] = ..., + imgf: Literal["face", "portrait", "nonportrait"] = ..., + imgl: Literal["cc", "pd", "fsu", "fsuc", "fmsu", "fmsuc"] = ..., + imgsz: Literal["small", "medium", "large", "wallpaper"] = ..., + imgt: Literal["day", "week", "month", "year"] = ..., + imgty: Literal["photo", "clipart", "linedrawing", "gif", "transparent"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yahoo_domain: Literal["espanol", "fr", "br", "ca", "de", "es", "in", "id", "it", "malaysia", "nl", "no", "at", "ph", "qc", "ch", "sg", "fi", "se", "uk", "vn", "ru", "hk", "tw"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YahooShoppingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YahooShoppingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yahoo_shopping"], + output: Literal["html"], + p: str, + api_key: str = ..., + category_attr_values: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + limit: str = ..., + max_price: str = ..., + merchants: str = ..., + min_price: str = ..., + no_cache: bool = ..., + order_by: Literal["ASC", "DESC"] = ..., + page: str = ..., + proxies: Any = ..., + sort_by: Literal["price", "relevancy", "popularity", "discountPercentage"] = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yahoo_shopping"], + p: str, + api_key: str = ..., + category_attr_values: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + limit: str = ..., + max_price: str = ..., + merchants: str = ..., + min_price: str = ..., + no_cache: bool = ..., + order_by: Literal["ASC", "DESC"] = ..., + output: Literal["json"] = ..., + page: str = ..., + proxies: Any = ..., + sort_by: Literal["price", "relevancy", "popularity", "discountPercentage"] = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YahooVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YahooVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yahoo_videos"], + output: Literal["html"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + durs: Literal["short", "medium", "long"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vage: Literal["day", "week", "month", "year"] = ..., + verify: Any = ..., + vres: Literal["360p", "480p", "720p", "1080p"] = ..., + vsite: Literal["youtube", "dailymotion", "vimeo", "mtv", "cbsnews", "foxnews", "cnn", "msn"] = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yahoo_videos"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + durs: Literal["short", "medium", "long"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vage: Literal["day", "week", "month", "year"] = ..., + verify: Any = ..., + vres: Literal["360p", "480p", "720p", "1080p"] = ..., + vsite: Literal["youtube", "dailymotion", "vimeo", "mtv", "cbsnews", "foxnews", "cnn", "msn"] = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YandexHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YandexJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yandex"], + output: Literal["html"], + text: str, + api_key: str = ..., + cert: Any = ..., + family_mode: Any = ..., + fix_typo: Literal["false", "true"] = ..., + groups_on_page: Union[float, int] = ..., + json_restrictor: str = ..., + lang: Literal["ru", "en", "be", "kk", "tr", "uk"] = ..., + lr: Any = ..., + no_cache: bool = ..., + p: Union[float, int] = ..., + period: Literal["all", "day", "last_two_weeks", "month"] = ..., + proxies: Any = ..., + sort_mode: Literal["relevance", "time"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yandex"], + text: str, + api_key: str = ..., + cert: Any = ..., + family_mode: Any = ..., + fix_typo: Literal["false", "true"] = ..., + groups_on_page: Union[float, int] = ..., + json_restrictor: str = ..., + lang: Literal["ru", "en", "be", "kk", "tr", "uk"] = ..., + lr: Any = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + p: Union[float, int] = ..., + period: Literal["all", "day", "last_two_weeks", "month"] = ..., + proxies: Any = ..., + sort_mode: Literal["relevance", "time"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YandexImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YandexImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yandex_images"], + output: Literal["html"], + text: str, + api_key: str = ..., + cert: Any = ..., + color: Literal["color", "gray", "red", "orange", "yellow", "cyan", "green", "blue", "violet", "white", "black"] = ..., + crop: str = ..., + crop_id: Union[float, int] = ..., + family_mode: Any = ..., + file_type: Literal["jpg", "png", "gifan"] = ..., + height: Union[float, int] = ..., + image_type: Literal["photo", "clipart", "lineart", "face", "demotivator"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + orientation: Literal["horizontal", "vertical", "square"] = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + recent: bool = ..., + site: str = ..., + stream: Any = ..., + tab: Literal["about", "similar"] = ..., + timeout: Any = ..., + url: str = ..., + verify: Any = ..., + width: Union[float, int] = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yandex_images"], + text: str, + api_key: str = ..., + cert: Any = ..., + color: Literal["color", "gray", "red", "orange", "yellow", "cyan", "green", "blue", "violet", "white", "black"] = ..., + crop: str = ..., + crop_id: Union[float, int] = ..., + family_mode: Any = ..., + file_type: Literal["jpg", "png", "gifan"] = ..., + height: Union[float, int] = ..., + image_type: Literal["photo", "clipart", "lineart", "face", "demotivator"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + orientation: Literal["horizontal", "vertical", "square"] = ..., + output: Literal["json"] = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + recent: bool = ..., + site: str = ..., + stream: Any = ..., + tab: Literal["about", "similar"] = ..., + timeout: Any = ..., + url: str = ..., + verify: Any = ..., + width: Union[float, int] = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YandexVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YandexVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yandex_videos"], + output: Literal["html"], + text: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + duration: Literal["short", "medium", "long"] = ..., + hd: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + within: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yandex_videos"], + text: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + duration: Literal["short", "medium", "long"] = ..., + hd: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + within: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YelpHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YelpJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yelp"], + find_loc: str, + output: Literal["html"], + api_key: str = ..., + attrs: str = ..., + cert: Any = ..., + cflt: str = ..., + find_desc: str = ..., + json_restrictor: str = ..., + l: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + sortby: Literal["recommended", "rating", "review_count"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yelp"], + find_loc: str, + api_key: str = ..., + attrs: str = ..., + cert: Any = ..., + cflt: str = ..., + find_desc: str = ..., + json_restrictor: str = ..., + l: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sortby: Literal["recommended", "rating", "review_count"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YelpPlaceHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YelpPlaceJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yelp_place"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + business_alert: bool = ..., + cert: Any = ..., + full_menu: bool = ..., + json_restrictor: str = ..., + menu_name: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yelp_place"], + place_id: str, + api_key: str = ..., + business_alert: bool = ..., + cert: Any = ..., + full_menu: bool = ..., + json_restrictor: str = ..., + menu_name: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YelpReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YelpReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["yelp_reviews"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + hl: Literal["ms", "cs", "da", "de", "en", "es", "fil", "fr", "it", "nl", "nb", "pl", "pt", "fi", "sv", "tr", "ja", "zh"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + not_recommended: bool = ..., + not_recommended_start: Union[float, int] = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + q: str = ..., + rating: str = ..., + sortby: Literal["relevance_desc", "date_desc", "date_asc", "rating_desc", "rating_asc", "elites_desc"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["yelp_reviews"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + hl: Literal["ms", "cs", "da", "de", "en", "es", "fil", "fr", "it", "nl", "nb", "pl", "pt", "fi", "sv", "tr", "ja", "zh"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + not_recommended: bool = ..., + not_recommended_start: Union[float, int] = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + rating: str = ..., + sortby: Literal["relevance_desc", "date_desc", "date_asc", "rating_desc", "rating_asc", "elites_desc"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YoutubeHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YoutubeJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["youtube"], + output: Literal["html"], + search_query: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + sp: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["youtube"], + search_query: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sp: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YoutubeVideoHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YoutubeVideoJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["youtube_video"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + v: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["youtube_video"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + v: str = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: YoutubeVideoTranscriptHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> str: ... + + @overload + def search( + self, + params: YoutubeVideoTranscriptJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> SerpResults: ... + + + @overload + def search( + self, + *, + engine: Literal["youtube_video_transcript"], + output: Literal["html"], + v: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language_code: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + title: str = ..., + type: Literal["asr"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> str: ... + + @overload + def search( + self, + *, + engine: Literal["youtube_video_transcript"], + v: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language_code: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + title: str = ..., + type: Literal["asr"] = ..., + verify: Any = ..., + zero_trace: bool = ..., + ) -> SerpResults: ... + + @overload + def search( + self, + params: Mapping[str, Any], + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., + ) -> Union[SerpResults, str]: ... + + def search_archive(self, params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Union[SerpResults, str]: ... + def locations(self, params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> List[Dict[str, Any]]: ... + def account(self, params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Dict[str, Any]: ... + +@overload +def search( + params: AmazonHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AmazonJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["amazon"], + output: Literal["html"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + dc: bool = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + k: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + node: str = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rh: str = ..., + s: Literal["relevanceblender", "price-asc-rank", "price-desc-rank", "review-rank", "date-desc-rank", "exact-aware-popularity-rank"] = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["amazon"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + dc: bool = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + k: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + node: str = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rh: str = ..., + s: Literal["relevanceblender", "price-asc-rank", "price-desc-rank", "review-rank", "date-desc-rank", "exact-aware-popularity-rank"] = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: AmazonProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AmazonProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + asin: str, + engine: Literal["amazon_product"], + output: Literal["html"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + other_sellers: bool = ..., + proxies: Any = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + asin: str, + engine: Literal["amazon_product"], + amazon_domain: Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"] = ..., + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + language: Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"] = ..., + no_cache: bool = ..., + other_sellers: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shipping_location: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: AppleAppStoreHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AppleAppStoreJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["apple_app_store"], + output: Literal["html"], + term: str, + api_key: str = ..., + category_id: Any = ..., + cert: Any = ..., + country: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + disallow_explicit: bool = ..., + json_restrictor: str = ..., + lang: Literal["pt-br", "it-it", "hi-in", "ca-es", "es-es", "zh-tw", "th-th", "da-dk", "fi-fi", "en-gb", "nl-nl", "pl-pl", "ro-ro", "zh-cn", "no-no", "pt-pt", "de-ch", "uk-ua", "en-us", "vi-vi", "sv-se", "en-ca", "fr-fr", "sk-sk", "zh-hk", "hr-hr", "en-au", "ko-kr", "tr-tr", "el-gr", "ms-my", "id-id", "cs-cz", "hu-hu", "fr-ca", "es-mx", "de-de", "ru-ru", "ja-jp"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + property: Literal["developer"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["apple_app_store"], + term: str, + api_key: str = ..., + category_id: Any = ..., + cert: Any = ..., + country: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + disallow_explicit: bool = ..., + json_restrictor: str = ..., + lang: Literal["pt-br", "it-it", "hi-in", "ca-es", "es-es", "zh-tw", "th-th", "da-dk", "fi-fi", "en-gb", "nl-nl", "pl-pl", "ro-ro", "zh-cn", "no-no", "pt-pt", "de-ch", "uk-ua", "en-us", "vi-vi", "sv-se", "en-ca", "fr-fr", "sk-sk", "zh-hk", "hr-hr", "en-au", "ko-kr", "tr-tr", "el-gr", "ms-my", "id-id", "cs-cz", "hu-hu", "fr-ca", "es-mx", "de-de", "ru-ru", "ja-jp"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + property: Literal["developer"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: AppleMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AppleMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["apple_maps"], + output: Literal["html"], + query: str, + api_key: str = ..., + center: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + location: str = ..., + multi_select_options: str = ..., + no_cache: bool = ..., + open_at: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["default", "distance", "ratings"] = ..., + span: str = ..., + stream: Any = ..., + timeout: Any = ..., + toggles: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["apple_maps"], + query: str, + api_key: str = ..., + center: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + location: str = ..., + multi_select_options: str = ..., + no_cache: bool = ..., + open_at: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sort: Literal["default", "distance", "ratings"] = ..., + span: str = ..., + stream: Any = ..., + timeout: Any = ..., + toggles: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: AppleMapsPlacesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AppleMapsPlacesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["apple_maps_places"], + muid: str, + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["apple_maps_places"], + muid: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + locale: Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: AppleProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AppleProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["apple_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["app"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["apple_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["app"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: AppleReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: AppleReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["apple_reviews"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["mostrecent", "mosthelpful", "mostfavorable", "mostcritical"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["apple_reviews"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + country: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["mostrecent", "mosthelpful", "mostfavorable", "mostcritical"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BaiduHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BaiduJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["baidu"], + output: Literal["html"], + q: str, + api_key: str = ..., + bs: str = ..., + cert: Any = ..., + ct: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + f: str = ..., + gpc: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + oq: str = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + q5: str = ..., + q6: str = ..., + rn: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["baidu"], + q: str, + api_key: str = ..., + bs: str = ..., + cert: Any = ..., + ct: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + f: str = ..., + gpc: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + oq: str = ..., + output: Literal["json"] = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + q5: str = ..., + q6: str = ..., + rn: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BaiduNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BaiduNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["baidu_news"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + ct: Any = ..., + json_restrictor: str = ..., + medium: Any = ..., + no_cache: bool = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + rn: Union[float, int] = ..., + rtt: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["baidu_news"], + q: str, + api_key: str = ..., + cert: Any = ..., + ct: Any = ..., + json_restrictor: str = ..., + medium: Any = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + pn: Union[float, int] = ..., + proxies: Any = ..., + rn: Union[float, int] = ..., + rtt: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filters: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filters: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingCopilotHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingCopilotJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_copilot"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_copilot"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_images"], + output: Literal["html"], + q: str, + age: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + api_key: str = ..., + aspect: Literal["square", "wide", "tall"] = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + color2: Literal["color", "bw", "FGcls_RED", "FGcls_ORANGE", "FGcls_YELLOW", "FGcls_GREEN", "FGcls_TEAL", "FGcls_BLUE", "FGcls_PURPLE", "FGcls_PINK", "FGcls_BROWN", "FGcls_BLACK", "FGcls_GRAY", "FGcls_WHITE"] = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + face: Literal["face", "portrait"] = ..., + first: Union[float, int] = ..., + imagesize: Literal["small", "medium", "large", "wallpaper"] = ..., + json_restrictor: str = ..., + license: Literal["Type-Any", "L1", "L2_L3_L4_L5_L6_L7", "L2_L3_L4", "L2_L3_L5_L6", "L2_L3"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + photo: Literal["photo", "clipart", "linedrawing", "animatedgif", "animatedgifhttps", "transparent", "shopping"] = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_images"], + q: str, + age: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + api_key: str = ..., + aspect: Literal["square", "wide", "tall"] = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + color2: Literal["color", "bw", "FGcls_RED", "FGcls_ORANGE", "FGcls_YELLOW", "FGcls_GREEN", "FGcls_TEAL", "FGcls_BLUE", "FGcls_PURPLE", "FGcls_PINK", "FGcls_BROWN", "FGcls_BLACK", "FGcls_GRAY", "FGcls_WHITE"] = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + face: Literal["face", "portrait"] = ..., + first: Union[float, int] = ..., + imagesize: Literal["small", "medium", "large", "wallpaper"] = ..., + json_restrictor: str = ..., + license: Literal["Type-Any", "L1", "L2_L3_L4_L5_L6_L7", "L2_L3_L4", "L2_L3_L5_L6", "L2_L3"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + photo: Literal["photo", "clipart", "linedrawing", "animatedgif", "animatedgifhttps", "transparent", "shopping"] = ..., + proxies: Any = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_maps"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + count: Union[float, int] = ..., + cp: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + place_id: str = ..., + proxies: Any = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_maps"], + q: str, + api_key: str = ..., + cert: Any = ..., + count: Union[float, int] = ..., + cp: str = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + place_id: str = ..., + proxies: Any = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_news"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + qft: Literal["interval=\"4\"", "interval=\"7\"", "interval=\"8\"", "interval=\"9\"", "sortbydate=\"1\""] = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_news"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + qft: Literal["interval=\"4\"", "interval=\"7\"", "interval=\"8\"", "interval=\"9\"", "sortbydate=\"1\""] = ..., + safeSearch: Literal["strict", "moderate", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_product"], + output: Literal["html"], + product_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_product"], + product_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingReverseImageHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingReverseImageJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_reverse_image"], + image_url: str, + output: Literal["html"], + api_key: str = ..., + cab: Union[float, int] = ..., + cal: Union[float, int] = ..., + car: Union[float, int] = ..., + cat: Union[float, int] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_reverse_image"], + image_url: str, + api_key: str = ..., + cab: Union[float, int] = ..., + cal: Union[float, int] = ..., + car: Union[float, int] = ..., + cat: Union[float, int] = ..., + cert: Any = ..., + count: Union[float, int] = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingShoppingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingShoppingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_shopping"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + efirst: Union[float, int] = ..., + filters: str = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_shopping"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + efirst: Union[float, int] = ..., + filters: str = ..., + json_restrictor: str = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BingVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BingVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["bing_videos"], + output: Literal["html"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + date: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + length: Literal["short", "medium", "long"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + price: Literal["free", "paid"] = ..., + proxies: Any = ..., + resolution: Literal["lowerthan_360p", "360p", "480p", "720p", "1080p"] = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + source_site: Literal["dailymotion.com", "vimeo.com", "metacafe.com", "hulu.com", "vevo.com", "myspace.com", "mtv.com", "cbsnews.com", "foxnews.com", "cnn.com", "msn.com"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["bing_videos"], + q: str, + api_key: str = ..., + cc: Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"] = ..., + cert: Any = ..., + date: Literal["lt1440", "lt10080", "lt43200", "lt525600"] = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + first: Union[float, int] = ..., + json_restrictor: str = ..., + length: Literal["short", "medium", "long"] = ..., + mkt: Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + price: Literal["free", "paid"] = ..., + proxies: Any = ..., + resolution: Literal["lowerthan_360p", "360p", "480p", "720p", "1080p"] = ..., + setlang: Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"] = ..., + source_site: Literal["dailymotion.com", "vimeo.com", "metacafe.com", "hulu.com", "vevo.com", "myspace.com", "mtv.com", "cbsnews.com", "foxnews.com", "cnn.com", "msn.com"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: BraveAiModeHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: BraveAiModeJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["brave_ai_mode"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["ar", "au", "at", "be", "br", "ca", "cl", "cn", "dk", "fi", "fr", "de", "gr", "hk", "in", "id", "it", "jp", "kr", "my", "mx", "nl", "nz", "no", "pl", "pt", "ph", "ru", "sa", "sg", "za", "es", "se", "ch", "tw", "tr", "gb", "us"] = ..., + json_restrictor: str = ..., + language: Literal["az", "bg", "br", "ca", "cs", "cy", "da", "de", "el", "en", "es", "et", "eu", "fi", "fr", "gl", "hr", "hu", "id", "it", "ja", "ka", "ko", "lt", "lv", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh"] = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safeSearch: Literal["off", "moderate", "strict"] = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + units_of_measurement: Literal["metric", "us"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["brave_ai_mode"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["ar", "au", "at", "be", "br", "ca", "cl", "cn", "dk", "fi", "fr", "de", "gr", "hk", "in", "id", "it", "jp", "kr", "my", "mx", "nl", "nz", "no", "pl", "pt", "ph", "ru", "sa", "sg", "za", "es", "se", "ch", "tw", "tr", "gb", "us"] = ..., + json_restrictor: str = ..., + language: Literal["az", "bg", "br", "ca", "cs", "cy", "da", "de", "el", "en", "es", "et", "eu", "fi", "fr", "gl", "hr", "hu", "id", "it", "ja", "ka", "ko", "lt", "lv", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh"] = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safeSearch: Literal["off", "moderate", "strict"] = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + units_of_measurement: Literal["metric", "us"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: DuckduckgoHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: DuckduckgoJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["duckduckgo"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Any = ..., + search_assist: bool = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["duckduckgo"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Any = ..., + search_assist: bool = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: DuckduckgoLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: DuckduckgoLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["duckduckgo_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["duckduckgo_light"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: DuckduckgoMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: DuckduckgoMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["duckduckgo_maps"], + output: Literal["html"], + q: str, + api_key: str = ..., + bbox: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + strict_bbox: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["duckduckgo_maps"], + q: str, + api_key: str = ..., + bbox: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + strict_bbox: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: DuckduckgoNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: DuckduckgoNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["duckduckgo_news"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["duckduckgo_news"], + q: str, + api_key: str = ..., + cert: Any = ..., + df: str = ..., + json_restrictor: str = ..., + kl: Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"] = ..., + m: Union[float, int] = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: EbayHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: EbayJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + _nkw: str, + engine: Literal["ebay"], + output: Literal["html"], + LH_ItemCondition: str = ..., + LH_PrefLoc: Any = ..., + _blrs: bool = ..., + _dmd: Any = ..., + _ipg: Any = ..., + _pgn: Union[float, int] = ..., + _salic: Any = ..., + _sasl: str = ..., + _saslop: Any = ..., + _sop: Any = ..., + _stpos: str = ..., + _udhi: Union[float, int] = ..., + _udlo: Union[float, int] = ..., + api_key: str = ..., + buying_format: Literal["Auction", "BIN", "BO"] = ..., + category_id: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + show_only: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + _nkw: str, + engine: Literal["ebay"], + LH_ItemCondition: str = ..., + LH_PrefLoc: Any = ..., + _blrs: bool = ..., + _dmd: Any = ..., + _ipg: Any = ..., + _pgn: Union[float, int] = ..., + _salic: Any = ..., + _sasl: str = ..., + _saslop: Any = ..., + _sop: Any = ..., + _stpos: str = ..., + _udhi: Union[float, int] = ..., + _udlo: Union[float, int] = ..., + api_key: str = ..., + buying_format: Literal["Auction", "BIN", "BO"] = ..., + category_id: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + show_only: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: EbayProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: EbayProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["ebay_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + lang: Literal["en-us"] = ..., + locale: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + shipping_country: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["ebay_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + ebay_domain: Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"] = ..., + json_restrictor: str = ..., + lang: Literal["en-us"] = ..., + locale: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shipping_country: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: FacebookProfileHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: FacebookProfileJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["facebook_profile"], + output: Literal["html"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["facebook_profile"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + *, + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + color_scheme: Literal["light", "dark"] = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ibp: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + lat: Union[float, int] = ..., + location: str = ..., + lon: Union[float, int] = ..., + lr: str = ..., + lsig: str = ..., + ludocid: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + radius: Union[float, int] = ..., + safe: Literal["active", "off"] = ..., + si: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbm: Literal["isch", "lcl", "nws", "shop", "vid", "pts"] = ..., + tbs: str = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAboutThisResultHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAboutThisResultJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_about_this_result"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ilps: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_about_this_result"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ilps: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAdsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAdsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_ads"], + location: str, + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + hl: str = ..., + json_restrictor: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_ads"], + location: str, + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + hl: str = ..., + json_restrictor: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAdsTransparencyCenterHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAdsTransparencyCenterJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_ads_transparency_center"], + output: Literal["html"], + advertiser_id: str = ..., + api_key: str = ..., + cert: Any = ..., + creative_format: Literal["text", "image", "video"] = ..., + end_date: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + platform: Literal["PLAY", "MAPS", "SEARCH", "SHOPPING", "YOUTUBE"] = ..., + political_ads: bool = ..., + proxies: Any = ..., + region: Any = ..., + start_date: str = ..., + stream: Any = ..., + text: str = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_ads_transparency_center"], + advertiser_id: str = ..., + api_key: str = ..., + cert: Any = ..., + creative_format: Literal["text", "image", "video"] = ..., + end_date: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + platform: Literal["PLAY", "MAPS", "SEARCH", "SHOPPING", "YOUTUBE"] = ..., + political_ads: bool = ..., + proxies: Any = ..., + region: Any = ..., + start_date: str = ..., + stream: Any = ..., + text: str = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAdsTransparencyCenterAdDetailsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAdsTransparencyCenterAdDetailsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + advertiser_id: str, + creative_id: str, + engine: Literal["google_ads_transparency_center_ad_details"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + region: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + advertiser_id: str, + creative_id: str, + engine: Literal["google_ads_transparency_center_ad_details"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + region: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAiModeHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAiModeJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_ai_mode"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + continuable: bool = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + hl: str = ..., + image_url: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_ai_mode"], + q: str, + api_key: str = ..., + cert: Any = ..., + continuable: bool = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + hl: str = ..., + image_url: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + subsequent_request_token: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAiOverviewHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAiOverviewJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_ai_overview"], + output: Literal["html"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_ai_overview"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + client: Literal["chrome", "chrome-omni", "gws-wiz", "safari", "firefox", "psy-ab", "toolbar", "youtube", "gws-wiz-local"] = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + client: Literal["chrome", "chrome-omni", "gws-wiz", "safari", "firefox", "psy-ab", "toolbar", "youtube", "gws-wiz-local"] = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleEventsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleEventsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_events"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + htichips: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_events"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + htichips: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleFinanceHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleFinanceJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_finance"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + window: Literal["1D", "5D", "1M", "6M", "YTD", "1Y", "5Y", "MAX"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_finance"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + window: Literal["1D", "5D", "1M", "6M", "YTD", "1Y", "5Y", "MAX"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleFinanceMarketsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleFinanceMarketsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_finance_markets"], + output: Literal["html"], + trend: Literal["indexes"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_finance_markets"], + trend: Literal["indexes"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleFlightsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleFlightsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_flights"], + output: Literal["html"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + booking_token: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + deep_search: bool = ..., + departure_id: str = ..., + departure_token: str = ..., + emissions: Any = ..., + exclude_airlines: str = ..., + exclude_basic: bool = ..., + exclude_conns: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + layover_duration: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + multi_city_json: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + outbound_times: str = ..., + proxies: Any = ..., + return_date: str = ..., + return_times: str = ..., + selected_flights_json: str = ..., + show_hidden: bool = ..., + sort_by: Any = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_flights"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + booking_token: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + deep_search: bool = ..., + departure_id: str = ..., + departure_token: str = ..., + emissions: Any = ..., + exclude_airlines: str = ..., + exclude_basic: bool = ..., + exclude_conns: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + layover_duration: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + multi_city_json: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + outbound_times: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + return_date: str = ..., + return_times: str = ..., + selected_flights_json: str = ..., + show_hidden: bool = ..., + sort_by: Any = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleFlightsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleFlightsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_flights_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + exclude_regions: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_flights_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + exclude_regions: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleFlightsDealsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleFlightsDealsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_flights_deals"], + output: Literal["html"], + adults: Union[float, int] = ..., + api_key: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + departure_id: str = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + no_cache: bool = ..., + outbound_date: str = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + trip_length: str = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_flights_deals"], + adults: Union[float, int] = ..., + api_key: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + departure_id: str = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + no_cache: bool = ..., + outbound_date: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + trip_length: str = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleForumsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleForumsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_forums"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_forums"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleHotelsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleHotelsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + check_in_date: str, + check_out_date: str, + engine: Literal["google_hotels"], + output: Literal["html"], + q: str, + adults: Union[float, int] = ..., + amenities: str = ..., + api_key: str = ..., + bathrooms: Union[float, int] = ..., + bedrooms: Union[float, int] = ..., + brands: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + children_ages: str = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + eco_certified: bool = ..., + free_cancellation: bool = ..., + gl: str = ..., + hl: str = ..., + hotel_class: str = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + property_token: str = ..., + property_types: str = ..., + proxies: Any = ..., + rating: Any = ..., + sort_by: Any = ..., + special_offers: bool = ..., + stream: Any = ..., + timeout: Any = ..., + vacation_rentals: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + check_in_date: str, + check_out_date: str, + engine: Literal["google_hotels"], + q: str, + adults: Union[float, int] = ..., + amenities: str = ..., + api_key: str = ..., + bathrooms: Union[float, int] = ..., + bedrooms: Union[float, int] = ..., + brands: str = ..., + cert: Any = ..., + children: Union[float, int] = ..., + children_ages: str = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + eco_certified: bool = ..., + free_cancellation: bool = ..., + gl: str = ..., + hl: str = ..., + hotel_class: str = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + property_token: str = ..., + property_types: str = ..., + proxies: Any = ..., + rating: Any = ..., + sort_by: Any = ..., + special_offers: bool = ..., + stream: Any = ..., + timeout: Any = ..., + vacation_rentals: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleHotelsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleHotelsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_hotels_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_hotels_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleHotelsPhotosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleHotelsPhotosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_hotels_photos"], + output: Literal["html"], + property_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_hotels_photos"], + property_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleHotelsReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleHotelsReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_hotels_reviews"], + output: Literal["html"], + property_token: str, + api_key: str = ..., + category_token: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + sort_by: Any = ..., + source_number: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_hotels_reviews"], + property_token: str, + api_key: str = ..., + category_token: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sort_by: Any = ..., + source_number: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_images"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + chips: str = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ijn: Union[float, int] = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_images"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + chips: str = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + ijn: Union[float, int] = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleImagesLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleImagesLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_images_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_images_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + cr: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + end_date: str = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + image_color: Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"] = ..., + image_type: Literal["face", "photo", "clipart", "lineart", "animated"] = ..., + imgar: Literal["s", "t", "w", "xw"] = ..., + imgsz: Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"] = ..., + json_restrictor: str = ..., + licenses: Literal["f", "fc", "fm", "fmc", "cl", "ol"] = ..., + location: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + period_unit: Literal["s", "n", "h", "d", "w", "m", "y"] = ..., + period_value: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + start_date: str = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleImagesRelatedContentHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleImagesRelatedContentJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_images_related_content"], + output: Literal["html"], + related_content_id: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_images_related_content"], + related_content_id: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleImmersiveProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleImmersiveProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_immersive_product"], + output: Literal["html"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + more_stores: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_immersive_product"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + more_stores: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleJobsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleJobsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_jobs"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + chips: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lrad: Union[float, int] = ..., + ltype: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_jobs"], + q: str, + api_key: str = ..., + cert: Any = ..., + chips: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lrad: Union[float, int] = ..., + ltype: bool = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + uds: str = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleJobsListingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleJobsListingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_jobs_listing"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_jobs_listing"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleLensHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleLensJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_lens"], + output: Literal["html"], + type: Literal["all", "about_this_image", "products", "exact_matches", "visual_matches"], + url: str, + api_key: str = ..., + auto_crop: bool = ..., + cert: Any = ..., + country: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_lens"], + type: Literal["all", "about_this_image", "products", "exact_matches", "visual_matches"], + url: str, + api_key: str = ..., + auto_crop: bool = ..., + cert: Any = ..., + country: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleLocalHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleLocalJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_local"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + ludocid: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_local"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + ludocid: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleLocalServicesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleLocalServicesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + data_cid: Union[float, int], + engine: Literal["google_local_services"], + output: Literal["html"], + q: str, + api_key: str = ..., + bid: Union[float, int] = ..., + cert: Any = ..., + cid: Union[float, int] = ..., + hl: str = ..., + job_type: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + pid: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + data_cid: Union[float, int], + engine: Literal["google_local_services"], + q: str, + api_key: str = ..., + bid: Union[float, int] = ..., + cert: Any = ..., + cid: Union[float, int] = ..., + hl: str = ..., + job_type: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + pid: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_maps"], + output: Literal["html"], + type: Literal["search", "place"], + api_key: str = ..., + cert: Any = ..., + data: str = ..., + data_cid: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + ll: str = ..., + location: str = ..., + lon: Union[float, int] = ..., + m: Union[float, int] = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + min_rating: Literal["2.0", "2.5", "3.0", "3.5", "4.0", "4.5"] = ..., + nearby: bool = ..., + no_cache: bool = ..., + open_at_hour: Any = ..., + open_on_day: Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"] = ..., + open_state: Literal["now", "24h"] = ..., + place_id: str = ..., + proxies: Any = ..., + q: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + z: Union[float, int] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_maps"], + type: Literal["search", "place"], + api_key: str = ..., + cert: Any = ..., + data: str = ..., + data_cid: str = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + ll: str = ..., + location: str = ..., + lon: Union[float, int] = ..., + m: Union[float, int] = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + min_rating: Literal["2.0", "2.5", "3.0", "3.5", "4.0", "4.5"] = ..., + nearby: bool = ..., + no_cache: bool = ..., + open_at_hour: Any = ..., + open_on_day: Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"] = ..., + open_state: Literal["now", "24h"] = ..., + output: Literal["json"] = ..., + place_id: str = ..., + proxies: Any = ..., + q: str = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + z: Union[float, int] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_maps_autocomplete"], + ll: str, + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_maps_autocomplete"], + ll: str, + q: str, + api_key: str = ..., + cert: Any = ..., + cp: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsContributorReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsContributorReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + contributor_id: str, + engine: Literal["google_maps_contributor_reviews"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + contributor_id: str, + engine: Literal["google_maps_contributor_reviews"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsDirectionsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsDirectionsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_maps_directions"], + output: Literal["html"], + api_key: str = ..., + avoid: str = ..., + cert: Any = ..., + distance_unit: Any = ..., + end_addr: str = ..., + end_coords: str = ..., + end_data_id: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + prefer: str = ..., + proxies: Any = ..., + route: Any = ..., + start_addr: str = ..., + start_coords: str = ..., + start_data_id: str = ..., + stream: Any = ..., + time: str = ..., + timeout: Any = ..., + travel_mode: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_maps_directions"], + api_key: str = ..., + avoid: str = ..., + cert: Any = ..., + distance_unit: Any = ..., + end_addr: str = ..., + end_coords: str = ..., + end_data_id: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + prefer: str = ..., + proxies: Any = ..., + route: Any = ..., + start_addr: str = ..., + start_coords: str = ..., + start_data_id: str = ..., + stream: Any = ..., + time: str = ..., + timeout: Any = ..., + travel_mode: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsPhotoMetaHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsPhotoMetaJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + data_id: str, + engine: Literal["google_maps_photo_meta"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + data_id: str, + engine: Literal["google_maps_photo_meta"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsPhotosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsPhotosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + data_id: str, + engine: Literal["google_maps_photos"], + output: Literal["html"], + api_key: str = ..., + category_id: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + data_id: str, + engine: Literal["google_maps_photos"], + api_key: str = ..., + category_id: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsPostsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsPostsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + data_id: str, + engine: Literal["google_maps_posts"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + data_id: str, + engine: Literal["google_maps_posts"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleMapsReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleMapsReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_maps_reviews"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + data_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: str = ..., + place_id: str = ..., + proxies: Any = ..., + query: str = ..., + sort_by: Literal["qualityScore", "newestFirst", "ratingHigh", "ratingLow"] = ..., + stream: Any = ..., + timeout: Any = ..., + topic_id: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_maps_reviews"], + api_key: str = ..., + cert: Any = ..., + data_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: str = ..., + output: Literal["json"] = ..., + place_id: str = ..., + proxies: Any = ..., + query: str = ..., + sort_by: Literal["qualityScore", "newestFirst", "ratingHigh", "ratingLow"] = ..., + stream: Any = ..., + timeout: Any = ..., + topic_id: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_news"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + publication_token: str = ..., + q: str = ..., + section_token: str = ..., + so: Any = ..., + story_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + topic_token: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_news"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + kgmid: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + publication_token: str = ..., + q: str = ..., + section_token: str = ..., + so: Any = ..., + story_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + topic_token: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleNewsLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleNewsLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_news_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_news_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePatentsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePatentsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_patents"], + output: Literal["html"], + after: str = ..., + api_key: str = ..., + assignee: str = ..., + before: str = ..., + cert: Any = ..., + clustered: Literal["true"] = ..., + country: str = ..., + dups: Literal["language"] = ..., + inventor: str = ..., + json_restrictor: str = ..., + language: str = ..., + litigation: Literal["YES", "NO"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + page: Union[float, int] = ..., + patents: bool = ..., + proxies: Any = ..., + q: str = ..., + scholar: bool = ..., + sort: Literal["new", "old"] = ..., + status: Literal["GRANT", "APPLICATION"] = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["PATENT", "DESIGN"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_patents"], + after: str = ..., + api_key: str = ..., + assignee: str = ..., + before: str = ..., + cert: Any = ..., + clustered: Literal["true"] = ..., + country: str = ..., + dups: Literal["language"] = ..., + inventor: str = ..., + json_restrictor: str = ..., + language: str = ..., + litigation: Literal["YES", "NO"] = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + patents: bool = ..., + proxies: Any = ..., + q: str = ..., + scholar: bool = ..., + sort: Literal["new", "old"] = ..., + status: Literal["GRANT", "APPLICATION"] = ..., + stream: Any = ..., + timeout: Any = ..., + type: Literal["PATENT", "DESIGN"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePatentsDetailsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePatentsDetailsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_patents_details"], + output: Literal["html"], + patent_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_patents_details"], + patent_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePlayHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePlayJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_play"], + output: Literal["html"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + apps_category: Literal["ART_AND_DESIGN", "AUTO_AND_VEHICLES", "BEAUTY", "BOOKS_AND_REFERENCE", "BUSINESS", "COMICS", "COMMUNICATION", "DATING", "EDUCATION", "ENTERTAINMENT", "EVENTS", "FINANCE", "FOOD_AND_DRINK", "HEALTH_AND_FITNESS", "HOUSE_AND_HOME", "LIBRARIES_AND_DEMO", "LIFESTYLE", "MAPS_AND_NAVIGATION", "MEDICAL", "MUSIC_AND_AUDIO", "NEWS_AND_MAGAZINES", "PARENTING", "PERSONALIZATION", "PHOTOGRAPHY", "PRODUCTIVITY", "SHOPPING", "SOCIAL", "SPORTS", "TOOLS", "TRAVEL_AND_LOCAL", "VIDEO_PLAYERS", "ANDROID_WEAR", "WATCH_FACE", "WEATHER", "FAMILY"] = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "tablet", "tv", "chromebook", "watch", "car"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_play"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + apps_category: Literal["ART_AND_DESIGN", "AUTO_AND_VEHICLES", "BEAUTY", "BOOKS_AND_REFERENCE", "BUSINESS", "COMICS", "COMMUNICATION", "DATING", "EDUCATION", "ENTERTAINMENT", "EVENTS", "FINANCE", "FOOD_AND_DRINK", "HEALTH_AND_FITNESS", "HOUSE_AND_HOME", "LIBRARIES_AND_DEMO", "LIFESTYLE", "MAPS_AND_NAVIGATION", "MEDICAL", "MUSIC_AND_AUDIO", "NEWS_AND_MAGAZINES", "PARENTING", "PERSONALIZATION", "PHOTOGRAPHY", "PRODUCTIVITY", "SHOPPING", "SOCIAL", "SPORTS", "TOOLS", "TRAVEL_AND_LOCAL", "VIDEO_PLAYERS", "ANDROID_WEAR", "WATCH_FACE", "WEATHER", "FAMILY"] = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "tablet", "tv", "chromebook", "watch", "car"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePlayBooksHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePlayBooksJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_play_books"], + output: Literal["html"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + books_category: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + price: Any = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_play_books"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + books_category: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + price: Any = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePlayGamesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePlayGamesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_play_games"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + games_category: Literal["GAME", "GAME_ACTION", "GAME_ADVENTURE", "GAME_ARCADE", "GAME_BOARD", "GAME_CARD", "GAME_CASINO", "GAME_CASUAL", "GAME_EDUCATIONAL", "GAME_MUSIC", "GAME_PUZZLE", "GAME_RACING", "GAME_ROLE_PLAYING", "GAME_SIMULATION", "GAME_SPORTS", "GAME_STRATEGY", "GAME_TRIVIA", "GAME_WORD"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "windows", "tablet", "tv", "chromebook", "watch"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_play_games"], + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + games_category: Literal["GAME", "GAME_ACTION", "GAME_ADVENTURE", "GAME_ARCADE", "GAME_BOARD", "GAME_CARD", "GAME_CASINO", "GAME_CASUAL", "GAME_EDUCATIONAL", "GAME_MUSIC", "GAME_PUZZLE", "GAME_RACING", "GAME_ROLE_PLAYING", "GAME_SIMULATION", "GAME_SPORTS", "GAME_STRATEGY", "GAME_TRIVIA", "GAME_WORD"] = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + store_device: Literal["phone", "windows", "tablet", "tv", "chromebook", "watch"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePlayMoviesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePlayMoviesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_play_movies"], + output: Literal["html"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + movies_category: Any = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_play_movies"], + age: Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"] = ..., + api_key: str = ..., + cert: Any = ..., + chart: str = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + movies_category: Any = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + section_page_token: str = ..., + see_more_token: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GooglePlayProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GooglePlayProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_play_product"], + output: Literal["html"], + product_id: str, + store: Literal["apps", "movies", "tv", "books", "audiobooks"], + all_reviews: bool = ..., + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + platform: Literal["phone", "tablet", "watch", "chromebook", "tv", "car"] = ..., + proxies: Any = ..., + rating: Any = ..., + season_id: str = ..., + sort_by: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_play_product"], + product_id: str, + store: Literal["apps", "movies", "tv", "books", "audiobooks"], + all_reviews: bool = ..., + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + platform: Literal["phone", "tablet", "watch", "chromebook", "tv", "car"] = ..., + proxies: Any = ..., + rating: Any = ..., + season_id: str = ..., + sort_by: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleRelatedQuestionsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleRelatedQuestionsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_related_questions"], + next_page_token: str, + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_related_questions"], + next_page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleReverseImageHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleReverseImageJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_reverse_image"], + image_url: str, + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_reverse_image"], + image_url: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleScholarHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleScholarJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_scholar"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_rr: bool = ..., + as_sdt: str = ..., + as_vis: bool = ..., + as_yhi: Union[float, int] = ..., + as_ylo: Union[float, int] = ..., + cert: Any = ..., + cites: str = ..., + cluster: str = ..., + filter: bool = ..., + hl: str = ..., + json_restrictor: str = ..., + lr: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + scisbd: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_scholar"], + q: str, + api_key: str = ..., + as_rr: bool = ..., + as_sdt: str = ..., + as_vis: bool = ..., + as_yhi: Union[float, int] = ..., + as_ylo: Union[float, int] = ..., + cert: Any = ..., + cites: str = ..., + cluster: str = ..., + filter: bool = ..., + hl: str = ..., + json_restrictor: str = ..., + lr: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + scisbd: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleScholarAuthorHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleScholarAuthorJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + author_id: str, + engine: Literal["google_scholar_author"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + citation_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + sort: Literal["title", "pubdate"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + view_op: Literal["view_citation", "list_colleagues"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + author_id: str, + engine: Literal["google_scholar_author"], + api_key: str = ..., + cert: Any = ..., + citation_id: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sort: Literal["title", "pubdate"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + view_op: Literal["view_citation", "list_colleagues"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleScholarCaseLawHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleScholarCaseLawJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + case_id: str, + engine: Literal["google_scholar_case_law"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + case_id: str, + engine: Literal["google_scholar_case_law"], + api_key: str = ..., + cert: Any = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleScholarCiteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleScholarCiteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_scholar_cite"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_scholar_cite"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleShoppingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleShoppingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_shopping"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_shopping"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleShoppingFiltersHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleShoppingFiltersJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_shopping_filters"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + shoprs: str = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_shopping_filters"], + q: str, + api_key: str = ..., + cert: Any = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shoprs: str = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleShoppingLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleShoppingLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_shopping_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_shopping_light"], + q: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + free_shipping: bool = ..., + gl: Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"] = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + no_cache: bool = ..., + on_sale: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + shoprs: str = ..., + small_business: bool = ..., + sort_by: Any = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleShortVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleShortVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_short_videos"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_short_videos"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleSportsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleSportsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_sports"], + kgmid: str, + output: Literal["html"], + sp: Literal["ft", "bs", "bb", "cr", "af", "ih", "rg"], + type: Literal["game", "league", "team"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + moa: str = ..., + mob: str = ..., + mpd: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + season_kgmid: str = ..., + stream: Any = ..., + tab: Literal["gm", "sn", "pl", "br", "st", "rn", "ov"] = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_sports"], + kgmid: str, + sp: Literal["ft", "bs", "bb", "cr", "af", "ih", "rg"], + type: Literal["game", "league", "team"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + moa: str = ..., + mob: str = ..., + mpd: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + season_kgmid: str = ..., + stream: Any = ..., + tab: Literal["gm", "sn", "pl", "br", "st", "rn", "ov"] = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleTravelExploreHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleTravelExploreJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + departure_id: str, + engine: Literal["google_travel_explore"], + output: Literal["html"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_area_id: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + interest: Any = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + month: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + travel_mode: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + departure_id: str, + engine: Literal["google_travel_explore"], + adults: Union[float, int] = ..., + api_key: str = ..., + arrival_area_id: str = ..., + arrival_id: str = ..., + bags: Union[float, int] = ..., + cert: Any = ..., + children: Union[float, int] = ..., + currency: Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"] = ..., + exclude_airlines: str = ..., + gl: str = ..., + hl: str = ..., + include_airlines: str = ..., + infants_in_seat: Union[float, int] = ..., + infants_on_lap: Union[float, int] = ..., + interest: Any = ..., + json_restrictor: str = ..., + max_duration: Union[float, int] = ..., + max_price: Union[float, int] = ..., + month: str = ..., + no_cache: bool = ..., + outbound_date: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + return_date: str = ..., + stops: Any = ..., + stream: Any = ..., + timeout: Any = ..., + travel_class: Any = ..., + travel_duration: Any = ..., + travel_mode: Any = ..., + type: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleTrendsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleTrendsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_trends"], + output: Literal["html"], + q: str, + api_key: str = ..., + cat: Any = ..., + cert: Any = ..., + csv: bool = ..., + data_type: Literal["TIMESERIES", "GEO_MAP", "GEO_MAP_0", "RELATED_TOPICS", "RELATED_QUERIES"] = ..., + date: str = ..., + geo: Any = ..., + gprop: Literal["", "images", "news", "froogle", "youtube"] = ..., + hl: str = ..., + include_low_search_volume: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + region: Literal["COUNTRY", "REGION", "DMA", "CITY"] = ..., + stream: Any = ..., + timeout: Any = ..., + tz: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_trends"], + q: str, + api_key: str = ..., + cat: Any = ..., + cert: Any = ..., + csv: bool = ..., + data_type: Literal["TIMESERIES", "GEO_MAP", "GEO_MAP_0", "RELATED_TOPICS", "RELATED_QUERIES"] = ..., + date: str = ..., + geo: Any = ..., + gprop: Literal["", "images", "news", "froogle", "youtube"] = ..., + hl: str = ..., + include_low_search_volume: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + region: Literal["COUNTRY", "REGION", "DMA", "CITY"] = ..., + stream: Any = ..., + timeout: Any = ..., + tz: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleTrendsAutocompleteHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleTrendsAutocompleteJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_trends_autocomplete"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_trends_autocomplete"], + q: str, + api_key: str = ..., + cert: Any = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleTrendsNewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleTrendsNewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_trends_news"], + output: Literal["html"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_trends_news"], + page_token: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleTrendsTrendingNowHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleTrendsTrendingNowJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_trends_trending_now"], + frequency: Literal["daily", "realtime"], + geo: Any, + output: Literal["html"], + api_key: str = ..., + cat: Literal["all", "b", "e", "m", "t", "s", "h"] = ..., + category_id: Any = ..., + cert: Any = ..., + date: str = ..., + hl: str = ..., + hours: Union[float, int] = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + only_active: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_trends_trending_now"], + frequency: Literal["daily", "realtime"], + geo: Any, + api_key: str = ..., + cat: Literal["all", "b", "e", "m", "t", "s", "h"] = ..., + category_id: Any = ..., + cert: Any = ..., + date: str = ..., + hl: str = ..., + hours: Union[float, int] = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + only_active: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_videos"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_videos"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: GoogleVideosLightHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: GoogleVideosLightJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["google_videos_light"], + output: Literal["html"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["google_videos_light"], + q: str, + api_key: str = ..., + as_dt: str = ..., + as_epq: str = ..., + as_eq: str = ..., + as_lq: str = ..., + as_nhi: str = ..., + as_nlo: str = ..., + as_oq: str = ..., + as_q: str = ..., + as_qdr: str = ..., + as_rq: str = ..., + as_sitesearch: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + filter: bool = ..., + gl: str = ..., + google_domain: str = ..., + hl: str = ..., + json_restrictor: str = ..., + location: str = ..., + lr: str = ..., + nfpr: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + safe: Literal["active", "off"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + tbs: str = ..., + timeout: Any = ..., + uule: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: HomeDepotHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: HomeDepotJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["home_depot"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["us", "ca"] = ..., + delivery_zip: str = ..., + filter: str = ..., + hd_filter_tokens: str = ..., + hd_sort: Literal["top_sellers", "price_low_to_high", "price_high_to_low", "top_rated", "best_match"] = ..., + json_restrictor: str = ..., + lowerbound: Union[float, int] = ..., + minmax: str = ..., + nao: str = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + pagesize: str = ..., + proxies: Any = ..., + ps: Union[float, int] = ..., + sort: Literal["price-asc", "price-desc", "reviewAvgRating", "relevance"] = ..., + store: str = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + upperbound: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["home_depot"], + q: str, + api_key: str = ..., + cert: Any = ..., + country: Literal["us", "ca"] = ..., + delivery_zip: str = ..., + filter: str = ..., + hd_filter_tokens: str = ..., + hd_sort: Literal["top_sellers", "price_low_to_high", "price_high_to_low", "top_rated", "best_match"] = ..., + json_restrictor: str = ..., + lowerbound: Union[float, int] = ..., + minmax: str = ..., + nao: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + pagesize: str = ..., + proxies: Any = ..., + ps: Union[float, int] = ..., + sort: Literal["price-asc", "price-desc", "reviewAvgRating", "relevance"] = ..., + store: str = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + upperbound: Union[float, int] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: HomeDepotProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: HomeDepotProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["home_depot_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["home_depot_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + delivery_zip: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: HomeDepotProductReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: HomeDepotProductReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["home_depot_product_reviews"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + pagesize: str = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["photoreview", "mosthelpfull", "oldest", "newest", "highestrating", "lowestrating"] = ..., + start: str = ..., + stream: Any = ..., + term: str = ..., + timeout: Any = ..., + verified_purchases: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["home_depot_product_reviews"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + pagesize: str = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["photoreview", "mosthelpfull", "oldest", "newest", "highestrating", "lowestrating"] = ..., + start: str = ..., + stream: Any = ..., + term: str = ..., + timeout: Any = ..., + verified_purchases: bool = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: InstagramProfileHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: InstagramProfileJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["instagram_profile"], + output: Literal["html"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["instagram_profile"], + profile_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: NaverHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: NaverJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["naver"], + output: Literal["html"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + page: str = ..., + period: str = ..., + proxies: Any = ..., + sort_by: Any = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + where: Literal["nexearch", "web", "news", "video", "image"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["naver"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + page: str = ..., + period: str = ..., + proxies: Any = ..., + sort_by: Any = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + where: Literal["nexearch", "web", "news", "video", "image"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: NaverAiOverviewHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: NaverAiOverviewJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["naver_ai_overview"], + output: Literal["html"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["naver_ai_overview"], + query: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: OpenTableReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: OpenTableReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["open_table_reviews"], + output: Literal["html"], + rid: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + open_table_domain: Literal["opentable.com", "opentable.jp", "opentable.de", "opentable.es", "opentable.ca", "opentable.hk", "opentable.ie", "opentable.sg", "opentable.nl", "opentable.com.mx", "opentable.co.uk", "opentable.com.au", "opentable.ae", "opentable.co.th", "opentable.it", "opentable.com.tw", "opentable.fr"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["open_table_reviews"], + rid: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + open_table_domain: Literal["opentable.com", "opentable.jp", "opentable.de", "opentable.es", "opentable.ca", "opentable.hk", "opentable.ie", "opentable.sg", "opentable.nl", "opentable.com.mx", "opentable.co.uk", "opentable.com.au", "opentable.ae", "opentable.co.th", "opentable.it", "opentable.com.tw", "opentable.fr"] = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: SearchIndexHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: SearchIndexJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["search_index"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["search_index"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: TripadvisorHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: TripadvisorJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["tripadvisor"], + output: Literal["html"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + limit: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + offset: Union[float, int] = ..., + proxies: Any = ..., + ssrc: Literal["a", "r", "A", "h", "g", "v", "f"] = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["tripadvisor"], + q: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + lat: Union[float, int] = ..., + limit: Union[float, int] = ..., + lon: Union[float, int] = ..., + no_cache: bool = ..., + offset: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + ssrc: Literal["a", "r", "A", "h", "g", "v", "f"] = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: TripadvisorPlaceHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: TripadvisorPlaceJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["tripadvisor_place"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["tripadvisor_place"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: TripadvisorReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: TripadvisorReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["tripadvisor_reviews"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language: Literal["ar", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ru", "sk", "sr", "sv", "th", "tr", "vi", "zh"] = ..., + limit: str = ..., + month: str = ..., + no_cache: bool = ..., + offset: str = ..., + original_language: str = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["most_recent", "detailed_review"] = ..., + stream: Any = ..., + timeout: Any = ..., + translate: bool = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + type_of_visit: Literal["Business", "Couples", "Family", "Friends", "Solo"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["tripadvisor_reviews"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language: Literal["ar", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ru", "sk", "sr", "sv", "th", "tr", "vi", "zh"] = ..., + limit: str = ..., + month: str = ..., + no_cache: bool = ..., + offset: str = ..., + original_language: str = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + rating: str = ..., + sort_by: Literal["most_recent", "detailed_review"] = ..., + stream: Any = ..., + timeout: Any = ..., + translate: bool = ..., + tripadvisor_domain: Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"] = ..., + type_of_visit: Literal["Business", "Couples", "Family", "Friends", "Solo"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: WalmartHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: WalmartJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["walmart"], + output: Literal["html"], + query: str, + api_key: str = ..., + cat_id: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + facet: str = ..., + include_filters: bool = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + nd_en: bool = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + soft_sort: bool = ..., + sort: Literal["price_low", "price_high", "best_seller", "best_match", "rating_high"] = ..., + spelling: bool = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + walmart_domain: Literal["walmart.com", "walmart.com.mx"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["walmart"], + query: str, + api_key: str = ..., + cat_id: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + facet: str = ..., + include_filters: bool = ..., + json_restrictor: str = ..., + max_price: Union[float, int] = ..., + min_price: Union[float, int] = ..., + nd_en: bool = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + soft_sort: bool = ..., + sort: Literal["price_low", "price_high", "best_seller", "best_match", "rating_high"] = ..., + spelling: bool = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + walmart_domain: Literal["walmart.com", "walmart.com.mx"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: WalmartProductHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: WalmartProductJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["walmart_product"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["walmart_product"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + store_id: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: WalmartProductReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: WalmartProductReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["walmart_product_reviews"], + output: Literal["html"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rating: Any = ..., + sort: Literal["relevancy", "helpful", "submission-desc", "submission-asc", "rating-desc", "rating-asc"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["walmart_product_reviews"], + product_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + page: Union[float, int] = ..., + proxies: Any = ..., + rating: Any = ..., + sort: Literal["relevancy", "helpful", "submission-desc", "submission-asc", "rating-desc", "rating-asc"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: WalmartProductSellersHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: WalmartProductSellersJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["walmart_product_sellers"], + output: Literal["html"], + product_id: str, + store_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["walmart_product_sellers"], + product_id: str, + store_id: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YahooHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YahooJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yahoo"], + output: Literal["html"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + d: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + fr2: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vc: str = ..., + verify: Any = ..., + vf: Literal["html", "pdf", "xls", "ppt", "doc", "txt"] = ..., + vl: Literal["lang_ar", "lang_bg", "lang_zh_chs", "lang_zh_cht", "lang_hr", "lang_cs", "lang_da", "lang_nl", "lang_en", "lang_et", "lang_fi", "lang_fr", "lang_de", "lang_el", "lang_he", "lang_hu", "lang_it", "lang_ja", "lang_ko", "lang_lv", "lang_lt", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_es", "lang_sv", "lang_th", "lang_tr"] = ..., + vm: Literal["r", "i", "p"] = ..., + vs: str = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yahoo"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + d: str = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + fr2: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vc: str = ..., + verify: Any = ..., + vf: Literal["html", "pdf", "xls", "ppt", "doc", "txt"] = ..., + vl: Literal["lang_ar", "lang_bg", "lang_zh_chs", "lang_zh_cht", "lang_hr", "lang_cs", "lang_da", "lang_nl", "lang_en", "lang_et", "lang_fi", "lang_fr", "lang_de", "lang_el", "lang_he", "lang_hu", "lang_it", "lang_ja", "lang_ko", "lang_lv", "lang_lt", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_es", "lang_sv", "lang_th", "lang_tr"] = ..., + vm: Literal["r", "i", "p"] = ..., + vs: str = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YahooImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YahooImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yahoo_images"], + output: Literal["html"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + imga: Literal["square", "wide", "tall"] = ..., + imgc: Literal["color", "bw", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "brown", "black", "gray", "white"] = ..., + imgf: Literal["face", "portrait", "nonportrait"] = ..., + imgl: Literal["cc", "pd", "fsu", "fsuc", "fmsu", "fmsuc"] = ..., + imgsz: Literal["small", "medium", "large", "wallpaper"] = ..., + imgt: Literal["day", "week", "month", "year"] = ..., + imgty: Literal["photo", "clipart", "linedrawing", "gif", "transparent"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yahoo_domain: Literal["espanol", "fr", "br", "ca", "de", "es", "in", "id", "it", "malaysia", "nl", "no", "at", "ph", "qc", "ch", "sg", "fi", "se", "uk", "vn", "ru", "hk", "tw"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yahoo_images"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + imga: Literal["square", "wide", "tall"] = ..., + imgc: Literal["color", "bw", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "brown", "black", "gray", "white"] = ..., + imgf: Literal["face", "portrait", "nonportrait"] = ..., + imgl: Literal["cc", "pd", "fsu", "fsuc", "fmsu", "fmsuc"] = ..., + imgsz: Literal["small", "medium", "large", "wallpaper"] = ..., + imgt: Literal["day", "week", "month", "year"] = ..., + imgty: Literal["photo", "clipart", "linedrawing", "gif", "transparent"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yahoo_domain: Literal["espanol", "fr", "br", "ca", "de", "es", "in", "id", "it", "malaysia", "nl", "no", "at", "ph", "qc", "ch", "sg", "fi", "se", "uk", "vn", "ru", "hk", "tw"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YahooShoppingHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YahooShoppingJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yahoo_shopping"], + output: Literal["html"], + p: str, + api_key: str = ..., + category_attr_values: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + limit: str = ..., + max_price: str = ..., + merchants: str = ..., + min_price: str = ..., + no_cache: bool = ..., + order_by: Literal["ASC", "DESC"] = ..., + page: str = ..., + proxies: Any = ..., + sort_by: Literal["price", "relevancy", "popularity", "discountPercentage"] = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yahoo_shopping"], + p: str, + api_key: str = ..., + category_attr_values: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + limit: str = ..., + max_price: str = ..., + merchants: str = ..., + min_price: str = ..., + no_cache: bool = ..., + order_by: Literal["ASC", "DESC"] = ..., + output: Literal["json"] = ..., + page: str = ..., + proxies: Any = ..., + sort_by: Literal["price", "relevancy", "popularity", "discountPercentage"] = ..., + start: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YahooVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YahooVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yahoo_videos"], + output: Literal["html"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + durs: Literal["short", "medium", "long"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vage: Literal["day", "week", "month", "year"] = ..., + verify: Any = ..., + vres: Literal["360p", "480p", "720p", "1080p"] = ..., + vsite: Literal["youtube", "dailymotion", "vimeo", "mtv", "cbsnews", "foxnews", "cnn", "msn"] = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yahoo_videos"], + p: str, + api_key: str = ..., + b: Union[float, int] = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + durs: Literal["short", "medium", "long"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + vage: Literal["day", "week", "month", "year"] = ..., + verify: Any = ..., + vres: Literal["360p", "480p", "720p", "1080p"] = ..., + vsite: Literal["youtube", "dailymotion", "vimeo", "mtv", "cbsnews", "foxnews", "cnn", "msn"] = ..., + yahoo_domain: Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YandexHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YandexJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yandex"], + output: Literal["html"], + text: str, + api_key: str = ..., + cert: Any = ..., + family_mode: Any = ..., + fix_typo: Literal["false", "true"] = ..., + groups_on_page: Union[float, int] = ..., + json_restrictor: str = ..., + lang: Literal["ru", "en", "be", "kk", "tr", "uk"] = ..., + lr: Any = ..., + no_cache: bool = ..., + p: Union[float, int] = ..., + period: Literal["all", "day", "last_two_weeks", "month"] = ..., + proxies: Any = ..., + sort_mode: Literal["relevance", "time"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yandex"], + text: str, + api_key: str = ..., + cert: Any = ..., + family_mode: Any = ..., + fix_typo: Literal["false", "true"] = ..., + groups_on_page: Union[float, int] = ..., + json_restrictor: str = ..., + lang: Literal["ru", "en", "be", "kk", "tr", "uk"] = ..., + lr: Any = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + p: Union[float, int] = ..., + period: Literal["all", "day", "last_two_weeks", "month"] = ..., + proxies: Any = ..., + sort_mode: Literal["relevance", "time"] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YandexImagesHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YandexImagesJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yandex_images"], + output: Literal["html"], + text: str, + api_key: str = ..., + cert: Any = ..., + color: Literal["color", "gray", "red", "orange", "yellow", "cyan", "green", "blue", "violet", "white", "black"] = ..., + crop: str = ..., + crop_id: Union[float, int] = ..., + family_mode: Any = ..., + file_type: Literal["jpg", "png", "gifan"] = ..., + height: Union[float, int] = ..., + image_type: Literal["photo", "clipart", "lineart", "face", "demotivator"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + orientation: Literal["horizontal", "vertical", "square"] = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + recent: bool = ..., + site: str = ..., + stream: Any = ..., + tab: Literal["about", "similar"] = ..., + timeout: Any = ..., + url: str = ..., + verify: Any = ..., + width: Union[float, int] = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yandex_images"], + text: str, + api_key: str = ..., + cert: Any = ..., + color: Literal["color", "gray", "red", "orange", "yellow", "cyan", "green", "blue", "violet", "white", "black"] = ..., + crop: str = ..., + crop_id: Union[float, int] = ..., + family_mode: Any = ..., + file_type: Literal["jpg", "png", "gifan"] = ..., + height: Union[float, int] = ..., + image_type: Literal["photo", "clipart", "lineart", "face", "demotivator"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + orientation: Literal["horizontal", "vertical", "square"] = ..., + output: Literal["json"] = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + recent: bool = ..., + site: str = ..., + stream: Any = ..., + tab: Literal["about", "similar"] = ..., + timeout: Any = ..., + url: str = ..., + verify: Any = ..., + width: Union[float, int] = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YandexVideosHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YandexVideosJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yandex_videos"], + output: Literal["html"], + text: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + duration: Literal["short", "medium", "long"] = ..., + hd: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + within: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yandex_videos"], + text: str, + api_key: str = ..., + cert: Any = ..., + device: Literal["desktop", "tablet", "mobile"] = ..., + duration: Literal["short", "medium", "long"] = ..., + hd: bool = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + p: Union[float, int] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + within: Any = ..., + yandex_domain: Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YelpHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YelpJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yelp"], + find_loc: str, + output: Literal["html"], + api_key: str = ..., + attrs: str = ..., + cert: Any = ..., + cflt: str = ..., + find_desc: str = ..., + json_restrictor: str = ..., + l: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + sortby: Literal["recommended", "rating", "review_count"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yelp"], + find_loc: str, + api_key: str = ..., + attrs: str = ..., + cert: Any = ..., + cflt: str = ..., + find_desc: str = ..., + json_restrictor: str = ..., + l: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sortby: Literal["recommended", "rating", "review_count"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YelpPlaceHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YelpPlaceJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yelp_place"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + business_alert: bool = ..., + cert: Any = ..., + full_menu: bool = ..., + json_restrictor: str = ..., + menu_name: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yelp_place"], + place_id: str, + api_key: str = ..., + business_alert: bool = ..., + cert: Any = ..., + full_menu: bool = ..., + json_restrictor: str = ..., + menu_name: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YelpReviewsHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YelpReviewsJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["yelp_reviews"], + output: Literal["html"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + hl: Literal["ms", "cs", "da", "de", "en", "es", "fil", "fr", "it", "nl", "nb", "pl", "pt", "fi", "sv", "tr", "ja", "zh"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + not_recommended: bool = ..., + not_recommended_start: Union[float, int] = ..., + num: Union[float, int] = ..., + proxies: Any = ..., + q: str = ..., + rating: str = ..., + sortby: Literal["relevance_desc", "date_desc", "date_asc", "rating_desc", "rating_asc", "elites_desc"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["yelp_reviews"], + place_id: str, + api_key: str = ..., + cert: Any = ..., + hl: Literal["ms", "cs", "da", "de", "en", "es", "fil", "fr", "it", "nl", "nb", "pl", "pt", "fi", "sv", "tr", "ja", "zh"] = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + not_recommended: bool = ..., + not_recommended_start: Union[float, int] = ..., + num: Union[float, int] = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + q: str = ..., + rating: str = ..., + sortby: Literal["relevance_desc", "date_desc", "date_asc", "rating_desc", "rating_asc", "elites_desc"] = ..., + start: Union[float, int] = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + yelp_domain: Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"] = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YoutubeHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YoutubeJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["youtube"], + output: Literal["html"], + search_query: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + sp: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["youtube"], + search_query: str, + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + sp: str = ..., + stream: Any = ..., + timeout: Any = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YoutubeVideoHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YoutubeVideoJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["youtube_video"], + output: Literal["html"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + v: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["youtube_video"], + api_key: str = ..., + cert: Any = ..., + gl: str = ..., + hl: str = ..., + json_restrictor: str = ..., + next_page_token: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + v: str = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: YoutubeVideoTranscriptHtmlSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> str: ... + +@overload +def search( + params: YoutubeVideoTranscriptJsonSearchParams, + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> SerpResults: ... + + +@overload +def search( + *, + engine: Literal["youtube_video_transcript"], + output: Literal["html"], + v: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language_code: str = ..., + no_cache: bool = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + title: str = ..., + type: Literal["asr"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> str: ... + +@overload +def search( + *, + engine: Literal["youtube_video_transcript"], + v: str, + api_key: str = ..., + cert: Any = ..., + json_restrictor: str = ..., + language_code: str = ..., + no_cache: bool = ..., + output: Literal["json"] = ..., + proxies: Any = ..., + stream: Any = ..., + timeout: Any = ..., + title: str = ..., + type: Literal["asr"] = ..., + verify: Any = ..., + zero_trace: bool = ..., +) -> SerpResults: ... + +@overload +def search( + params: Mapping[str, Any], + *, + timeout: Any = ..., + proxies: Any = ..., + verify: Any = ..., + stream: Any = ..., + cert: Any = ..., +) -> Union[SerpResults, str]: ... + +def search_archive(params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Union[SerpResults, str]: ... +def locations(params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> List[Dict[str, Any]]: ... +def account(params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Dict[str, Any]: ... diff --git a/serpapi/engine_params.pyi b/serpapi/engine_params.pyi new file mode 100644 index 0000000..4c951a0 --- /dev/null +++ b/serpapi/engine_params.pyi @@ -0,0 +1,5694 @@ +# This file is generated by typing/generate_type_stubs.py. +# Do not edit by hand; update typing/engines/*.json and rerun the generator. +from typing import Any, Union +from typing_extensions import Literal, NotRequired, Required, TypedDict + +AmazonJsonSearchParams = TypedDict( + "AmazonJsonSearchParams", + { + "amazon_domain": NotRequired[Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "dc": NotRequired[bool], + "delivery_zip": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["amazon"]], + "json_restrictor": NotRequired[str], + "k": NotRequired[str], + "language": NotRequired[Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"]], + "no_cache": NotRequired[bool], + "node": NotRequired[str], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "rh": NotRequired[str], + "s": NotRequired[Literal["relevanceblender", "price-asc-rank", "price-desc-rank", "review-rank", "date-desc-rank", "exact-aware-popularity-rank"]], + "shipping_location": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AmazonHtmlSearchParams = TypedDict( + "AmazonHtmlSearchParams", + { + "amazon_domain": NotRequired[Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "dc": NotRequired[bool], + "delivery_zip": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["amazon"]], + "json_restrictor": NotRequired[str], + "k": NotRequired[str], + "language": NotRequired[Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"]], + "no_cache": NotRequired[bool], + "node": NotRequired[str], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "rh": NotRequired[str], + "s": NotRequired[Literal["relevanceblender", "price-asc-rank", "price-desc-rank", "review-rank", "date-desc-rank", "exact-aware-popularity-rank"]], + "shipping_location": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AmazonSearchParams = Union[AmazonJsonSearchParams, AmazonHtmlSearchParams] + +AmazonProductJsonSearchParams = TypedDict( + "AmazonProductJsonSearchParams", + { + "amazon_domain": NotRequired[Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"]], + "api_key": NotRequired[str], + "asin": Required[str], + "async": NotRequired[bool], + "delivery_zip": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["amazon_product"]], + "json_restrictor": NotRequired[str], + "language": NotRequired[Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"]], + "no_cache": NotRequired[bool], + "other_sellers": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "shipping_location": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AmazonProductHtmlSearchParams = TypedDict( + "AmazonProductHtmlSearchParams", + { + "amazon_domain": NotRequired[Literal["amazon.com.au", "amazon.com.be", "amazon.com.br", "amazon.ca", "amazon.cn", "amazon.eg", "amazon.fr", "amazon.de", "amazon.in", "amazon.it", "amazon.co.jp", "amazon.nl", "amazon.pl", "amazon.sa", "amazon.sg", "amazon.es", "amazon.se", "amazon.com.tr", "amazon.ae", "amazon.co.uk", "amazon.com", "amazon.com.mx"]], + "api_key": NotRequired[str], + "asin": Required[str], + "async": NotRequired[bool], + "delivery_zip": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["amazon_product"]], + "json_restrictor": NotRequired[str], + "language": NotRequired[Literal["amazon.com.au|en_AU", "amazon.com.be|nl_BE", "amazon.com.be|fr_BE", "amazon.com.be|en_GB", "amazon.com.br|pt_BR", "amazon.ca|en_CA", "amazon.ca|fr_CA", "amazon.cn|zh_CN", "amazon.eg|ar_AE", "amazon.eg|en_AE", "amazon.fr|fr_FR", "amazon.fr|en_GB", "amazon.de|de_DE", "amazon.de|en_GB", "amazon.de|cs_CZ", "amazon.de|nl_NL", "amazon.de|pl_PL", "amazon.de|tr_TR", "amazon.de|da_DK", "amazon.in|en_IN", "amazon.in|hi_IN", "amazon.in|ta_IN", "amazon.in|te_IN", "amazon.in|kn_IN", "amazon.in|ml_IN", "amazon.in|bn_IN", "amazon.in|mr_IN", "amazon.it|it_IT", "amazon.it|en_GB", "amazon.co.jp|ja_JP", "amazon.co.jp|en_US", "amazon.co.jp|zh_CN", "amazon.nl|nl_NL", "amazon.nl|en_GB", "amazon.pl|pl_PL", "amazon.sa|ar_AE", "amazon.sa|en_AE", "amazon.sg|en_SG", "amazon.es|es_ES", "amazon.es|pt_PT", "amazon.es|en_GB", "amazon.se|sv_SE", "amazon.se|en_GB", "amazon.com.tr|tr_TR", "amazon.ae|en_AE", "amazon.ae|ar_AE", "amazon.co.uk|en_GB", "amazon.com|en_US", "amazon.com|es_US", "amazon.com.mx|pt_MX"]], + "no_cache": NotRequired[bool], + "other_sellers": NotRequired[bool], + "output": Required[Literal["html"]], + "shipping_location": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AmazonProductSearchParams = Union[AmazonProductJsonSearchParams, AmazonProductHtmlSearchParams] + +AppleAppStoreJsonSearchParams = TypedDict( + "AppleAppStoreJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_id": NotRequired[Any], + "country": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "disallow_explicit": NotRequired[bool], + "engine": Required[Literal["apple_app_store"]], + "json_restrictor": NotRequired[str], + "lang": NotRequired[Literal["pt-br", "it-it", "hi-in", "ca-es", "es-es", "zh-tw", "th-th", "da-dk", "fi-fi", "en-gb", "nl-nl", "pl-pl", "ro-ro", "zh-cn", "no-no", "pt-pt", "de-ch", "uk-ua", "en-us", "vi-vi", "sv-se", "en-ca", "fr-fr", "sk-sk", "zh-hk", "hr-hr", "en-au", "ko-kr", "tr-tr", "el-gr", "ms-my", "id-id", "cs-cz", "hu-hu", "fr-ca", "es-mx", "de-de", "ru-ru", "ja-jp"]], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "property": NotRequired[Literal["developer"]], + "term": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleAppStoreHtmlSearchParams = TypedDict( + "AppleAppStoreHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_id": NotRequired[Any], + "country": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "disallow_explicit": NotRequired[bool], + "engine": Required[Literal["apple_app_store"]], + "json_restrictor": NotRequired[str], + "lang": NotRequired[Literal["pt-br", "it-it", "hi-in", "ca-es", "es-es", "zh-tw", "th-th", "da-dk", "fi-fi", "en-gb", "nl-nl", "pl-pl", "ro-ro", "zh-cn", "no-no", "pt-pt", "de-ch", "uk-ua", "en-us", "vi-vi", "sv-se", "en-ca", "fr-fr", "sk-sk", "zh-hk", "hr-hr", "en-au", "ko-kr", "tr-tr", "el-gr", "ms-my", "id-id", "cs-cz", "hu-hu", "fr-ca", "es-mx", "de-de", "ru-ru", "ja-jp"]], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "property": NotRequired[Literal["developer"]], + "term": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleAppStoreSearchParams = Union[AppleAppStoreJsonSearchParams, AppleAppStoreHtmlSearchParams] + +AppleMapsJsonSearchParams = TypedDict( + "AppleMapsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "center": NotRequired[str], + "engine": Required[Literal["apple_maps"]], + "json_restrictor": NotRequired[str], + "locale": NotRequired[Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"]], + "location": NotRequired[str], + "multi_select_options": NotRequired[str], + "no_cache": NotRequired[bool], + "open_at": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "query": Required[str], + "sort": NotRequired[Literal["default", "distance", "ratings"]], + "span": NotRequired[str], + "toggles": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleMapsHtmlSearchParams = TypedDict( + "AppleMapsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "center": NotRequired[str], + "engine": Required[Literal["apple_maps"]], + "json_restrictor": NotRequired[str], + "locale": NotRequired[Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"]], + "location": NotRequired[str], + "multi_select_options": NotRequired[str], + "no_cache": NotRequired[bool], + "open_at": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "query": Required[str], + "sort": NotRequired[Literal["default", "distance", "ratings"]], + "span": NotRequired[str], + "toggles": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleMapsSearchParams = Union[AppleMapsJsonSearchParams, AppleMapsHtmlSearchParams] + +AppleMapsPlacesJsonSearchParams = TypedDict( + "AppleMapsPlacesJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["apple_maps_places"]], + "json_restrictor": NotRequired[str], + "locale": NotRequired[Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"]], + "muid": Required[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleMapsPlacesHtmlSearchParams = TypedDict( + "AppleMapsPlacesHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["apple_maps_places"]], + "json_restrictor": NotRequired[str], + "locale": NotRequired[Literal["ar-SA", "bn-BD", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "en-AU", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", "it-IT", "ja-JP", "kn-IN", "ko-KR", "ml-IN", "mr-IN", "ms-MY", "nb-NO", "nl-NL", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "uk-UA", "ur-PK", "vi-VN", "zh-CN", "zh-HK", "zh-TW"]], + "muid": Required[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleMapsPlacesSearchParams = Union[AppleMapsPlacesJsonSearchParams, AppleMapsPlacesHtmlSearchParams] + +AppleProductJsonSearchParams = TypedDict( + "AppleProductJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[str], + "engine": Required[Literal["apple_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "product_id": Required[str], + "type": NotRequired[Literal["app"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleProductHtmlSearchParams = TypedDict( + "AppleProductHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[str], + "engine": Required[Literal["apple_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "product_id": Required[str], + "type": NotRequired[Literal["app"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleProductSearchParams = Union[AppleProductJsonSearchParams, AppleProductHtmlSearchParams] + +AppleReviewsJsonSearchParams = TypedDict( + "AppleReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[str], + "engine": Required[Literal["apple_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "product_id": Required[str], + "sort": NotRequired[Literal["mostrecent", "mosthelpful", "mostfavorable", "mostcritical"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleReviewsHtmlSearchParams = TypedDict( + "AppleReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[str], + "engine": Required[Literal["apple_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "product_id": Required[str], + "sort": NotRequired[Literal["mostrecent", "mosthelpful", "mostfavorable", "mostcritical"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +AppleReviewsSearchParams = Union[AppleReviewsJsonSearchParams, AppleReviewsHtmlSearchParams] + +BaiduJsonSearchParams = TypedDict( + "BaiduJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bs": NotRequired[str], + "ct": NotRequired[Any], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["baidu"]], + "f": NotRequired[str], + "gpc": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "oq": NotRequired[str], + "output": NotRequired[Literal["json"]], + "pn": NotRequired[Union[float, int]], + "q": Required[str], + "q5": NotRequired[str], + "q6": NotRequired[str], + "rn": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BaiduHtmlSearchParams = TypedDict( + "BaiduHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bs": NotRequired[str], + "ct": NotRequired[Any], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["baidu"]], + "f": NotRequired[str], + "gpc": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "oq": NotRequired[str], + "output": Required[Literal["html"]], + "pn": NotRequired[Union[float, int]], + "q": Required[str], + "q5": NotRequired[str], + "q6": NotRequired[str], + "rn": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BaiduSearchParams = Union[BaiduJsonSearchParams, BaiduHtmlSearchParams] + +BaiduNewsJsonSearchParams = TypedDict( + "BaiduNewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "ct": NotRequired[Any], + "engine": Required[Literal["baidu_news"]], + "json_restrictor": NotRequired[str], + "medium": NotRequired[Any], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "pn": NotRequired[Union[float, int]], + "q": Required[str], + "rn": NotRequired[Union[float, int]], + "rtt": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BaiduNewsHtmlSearchParams = TypedDict( + "BaiduNewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "ct": NotRequired[Any], + "engine": Required[Literal["baidu_news"]], + "json_restrictor": NotRequired[str], + "medium": NotRequired[Any], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "pn": NotRequired[Union[float, int]], + "q": Required[str], + "rn": NotRequired[Union[float, int]], + "rtt": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BaiduNewsSearchParams = Union[BaiduNewsJsonSearchParams, BaiduNewsHtmlSearchParams] + +BingJsonSearchParams = TypedDict( + "BingJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing"]], + "filters": NotRequired[str], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safeSearch": NotRequired[Literal["strict", "moderate", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingHtmlSearchParams = TypedDict( + "BingHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing"]], + "filters": NotRequired[str], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safeSearch": NotRequired[Literal["strict", "moderate", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingSearchParams = Union[BingJsonSearchParams, BingHtmlSearchParams] + +BingCopilotJsonSearchParams = TypedDict( + "BingCopilotJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["bing_copilot"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingCopilotHtmlSearchParams = TypedDict( + "BingCopilotHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["bing_copilot"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingCopilotSearchParams = Union[BingCopilotJsonSearchParams, BingCopilotHtmlSearchParams] + +BingImagesJsonSearchParams = TypedDict( + "BingImagesJsonSearchParams", + { + "age": NotRequired[Literal["lt1440", "lt10080", "lt43200", "lt525600"]], + "api_key": NotRequired[str], + "aspect": NotRequired[Literal["square", "wide", "tall"]], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "color2": NotRequired[Literal["color", "bw", "FGcls_RED", "FGcls_ORANGE", "FGcls_YELLOW", "FGcls_GREEN", "FGcls_TEAL", "FGcls_BLUE", "FGcls_PURPLE", "FGcls_PINK", "FGcls_BROWN", "FGcls_BLACK", "FGcls_GRAY", "FGcls_WHITE"]], + "count": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing_images"]], + "face": NotRequired[Literal["face", "portrait"]], + "first": NotRequired[Union[float, int]], + "imagesize": NotRequired[Literal["small", "medium", "large", "wallpaper"]], + "json_restrictor": NotRequired[str], + "license": NotRequired[Literal["Type-Any", "L1", "L2_L3_L4_L5_L6_L7", "L2_L3_L4", "L2_L3_L5_L6", "L2_L3"]], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "photo": NotRequired[Literal["photo", "clipart", "linedrawing", "animatedgif", "animatedgifhttps", "transparent", "shopping"]], + "q": Required[str], + "safeSearch": NotRequired[Literal["strict", "moderate", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingImagesHtmlSearchParams = TypedDict( + "BingImagesHtmlSearchParams", + { + "age": NotRequired[Literal["lt1440", "lt10080", "lt43200", "lt525600"]], + "api_key": NotRequired[str], + "aspect": NotRequired[Literal["square", "wide", "tall"]], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "color2": NotRequired[Literal["color", "bw", "FGcls_RED", "FGcls_ORANGE", "FGcls_YELLOW", "FGcls_GREEN", "FGcls_TEAL", "FGcls_BLUE", "FGcls_PURPLE", "FGcls_PINK", "FGcls_BROWN", "FGcls_BLACK", "FGcls_GRAY", "FGcls_WHITE"]], + "count": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing_images"]], + "face": NotRequired[Literal["face", "portrait"]], + "first": NotRequired[Union[float, int]], + "imagesize": NotRequired[Literal["small", "medium", "large", "wallpaper"]], + "json_restrictor": NotRequired[str], + "license": NotRequired[Literal["Type-Any", "L1", "L2_L3_L4_L5_L6_L7", "L2_L3_L4", "L2_L3_L5_L6", "L2_L3"]], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "photo": NotRequired[Literal["photo", "clipart", "linedrawing", "animatedgif", "animatedgifhttps", "transparent", "shopping"]], + "q": Required[str], + "safeSearch": NotRequired[Literal["strict", "moderate", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingImagesSearchParams = Union[BingImagesJsonSearchParams, BingImagesHtmlSearchParams] + +BingMapsJsonSearchParams = TypedDict( + "BingMapsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "count": NotRequired[Union[float, int]], + "cp": NotRequired[str], + "engine": Required[Literal["bing_maps"]], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "place_id": NotRequired[str], + "q": Required[str], + "setlang": NotRequired[Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingMapsHtmlSearchParams = TypedDict( + "BingMapsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "count": NotRequired[Union[float, int]], + "cp": NotRequired[str], + "engine": Required[Literal["bing_maps"]], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "place_id": NotRequired[str], + "q": Required[str], + "setlang": NotRequired[Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingMapsSearchParams = Union[BingMapsJsonSearchParams, BingMapsHtmlSearchParams] + +BingNewsJsonSearchParams = TypedDict( + "BingNewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "count": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing_news"]], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "qft": NotRequired[Literal["interval=\"4\"", "interval=\"7\"", "interval=\"8\"", "interval=\"9\"", "sortbydate=\"1\""]], + "safeSearch": NotRequired[Literal["strict", "moderate", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingNewsHtmlSearchParams = TypedDict( + "BingNewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "count": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing_news"]], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "qft": NotRequired[Literal["interval=\"4\"", "interval=\"7\"", "interval=\"8\"", "interval=\"9\"", "sortbydate=\"1\""]], + "safeSearch": NotRequired[Literal["strict", "moderate", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingNewsSearchParams = Union[BingNewsJsonSearchParams, BingNewsHtmlSearchParams] + +BingProductJsonSearchParams = TypedDict( + "BingProductJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["bing_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "product_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingProductHtmlSearchParams = TypedDict( + "BingProductHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["bing_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "product_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingProductSearchParams = Union[BingProductJsonSearchParams, BingProductHtmlSearchParams] + +BingReverseImageJsonSearchParams = TypedDict( + "BingReverseImageJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cab": NotRequired[Union[float, int]], + "cal": NotRequired[Union[float, int]], + "car": NotRequired[Union[float, int]], + "cat": NotRequired[Union[float, int]], + "count": NotRequired[Union[float, int]], + "engine": Required[Literal["bing_reverse_image"]], + "image_url": Required[str], + "json_restrictor": NotRequired[str], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingReverseImageHtmlSearchParams = TypedDict( + "BingReverseImageHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cab": NotRequired[Union[float, int]], + "cal": NotRequired[Union[float, int]], + "car": NotRequired[Union[float, int]], + "cat": NotRequired[Union[float, int]], + "count": NotRequired[Union[float, int]], + "engine": Required[Literal["bing_reverse_image"]], + "image_url": Required[str], + "json_restrictor": NotRequired[str], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingReverseImageSearchParams = Union[BingReverseImageJsonSearchParams, BingReverseImageHtmlSearchParams] + +BingShoppingJsonSearchParams = TypedDict( + "BingShoppingJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "efirst": NotRequired[Union[float, int]], + "engine": Required[Literal["bing_shopping"]], + "filters": NotRequired[str], + "json_restrictor": NotRequired[str], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingShoppingHtmlSearchParams = TypedDict( + "BingShoppingHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "efirst": NotRequired[Union[float, int]], + "engine": Required[Literal["bing_shopping"]], + "filters": NotRequired[str], + "json_restrictor": NotRequired[str], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingShoppingSearchParams = Union[BingShoppingJsonSearchParams, BingShoppingHtmlSearchParams] + +BingVideosJsonSearchParams = TypedDict( + "BingVideosJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "date": NotRequired[Literal["lt1440", "lt10080", "lt43200", "lt525600"]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing_videos"]], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "length": NotRequired[Literal["short", "medium", "long"]], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "price": NotRequired[Literal["free", "paid"]], + "q": Required[str], + "resolution": NotRequired[Literal["lowerthan_360p", "360p", "480p", "720p", "1080p"]], + "setlang": NotRequired[Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"]], + "source_site": NotRequired[Literal["dailymotion.com", "vimeo.com", "metacafe.com", "hulu.com", "vevo.com", "myspace.com", "mtv.com", "cbsnews.com", "foxnews.com", "cnn.com", "msn.com"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingVideosHtmlSearchParams = TypedDict( + "BingVideosHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cc": NotRequired[Literal["AR", "AU", "AT", "BE", "BR", "CA", "CL", "DK", "FI", "FR", "DE", "HK", "IN", "ID", "IT", "JP", "KR", "MY", "MX", "NL", "NZ", "NO", "CN", "PL", "PT", "PH", "RU", "SA", "ZA", "ES", "SE", "CH", "TW", "TR", "GB", "US"]], + "date": NotRequired[Literal["lt1440", "lt10080", "lt43200", "lt525600"]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["bing_videos"]], + "first": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "length": NotRequired[Literal["short", "medium", "long"]], + "mkt": NotRequired[Literal["es-ar", "en-au", "de-at", "nl-be", "fr-be", "pt-br", "en-ca", "fr-ca", "es-cl", "da-dk", "fi-fi", "fr-fr", "de-de", "zh-hk", "en-in", "en-id", "it-it", "ja-jp", "ko-kr", "en-my", "es-mx", "nl-nl", "en-nz", "no-no", "zh-cn", "pl-pl", "en-ph", "ru-ru", "en-za", "es-es", "sv-se", "fr-ch", "de-ch", "zh-tw", "tr-tr", "en-gb", "en-us", "es-us"]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "price": NotRequired[Literal["free", "paid"]], + "q": Required[str], + "resolution": NotRequired[Literal["lowerthan_360p", "360p", "480p", "720p", "1080p"]], + "setlang": NotRequired[Literal["ar", "eu", "bn", "bg", "ca", "zh-hans", "zh-hant", "hr", "cs", "da", "nl", "en", "en-gb", "et", "fi", "fr", "gl", "de", "gu", "he", "hi", "hu", "is", "it", "jp", "kn", "ko", "lv", "lt", "ms", "ml", "mr", "nb", "pl", "pt-br", "pt-pt", "pa", "ro", "ru", "sr", "sk", "sl", "es", "sv", "ta", "te", "th", "tr", "uk", "vi"]], + "source_site": NotRequired[Literal["dailymotion.com", "vimeo.com", "metacafe.com", "hulu.com", "vevo.com", "myspace.com", "mtv.com", "cbsnews.com", "foxnews.com", "cnn.com", "msn.com"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BingVideosSearchParams = Union[BingVideosJsonSearchParams, BingVideosHtmlSearchParams] + +BraveAiModeJsonSearchParams = TypedDict( + "BraveAiModeJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[Literal["ar", "au", "at", "be", "br", "ca", "cl", "cn", "dk", "fi", "fr", "de", "gr", "hk", "in", "id", "it", "jp", "kr", "my", "mx", "nl", "nz", "no", "pl", "pt", "ph", "ru", "sa", "sg", "za", "es", "se", "ch", "tw", "tr", "gb", "us"]], + "engine": Required[Literal["brave_ai_mode"]], + "json_restrictor": NotRequired[str], + "language": NotRequired[Literal["az", "bg", "br", "ca", "cs", "cy", "da", "de", "el", "en", "es", "et", "eu", "fi", "fr", "gl", "hr", "hu", "id", "it", "ja", "ka", "ko", "lt", "lv", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh"]], + "lat": NotRequired[Union[float, int]], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safeSearch": NotRequired[Literal["off", "moderate", "strict"]], + "subsequent_request_token": NotRequired[str], + "units_of_measurement": NotRequired[Literal["metric", "us"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BraveAiModeHtmlSearchParams = TypedDict( + "BraveAiModeHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[Literal["ar", "au", "at", "be", "br", "ca", "cl", "cn", "dk", "fi", "fr", "de", "gr", "hk", "in", "id", "it", "jp", "kr", "my", "mx", "nl", "nz", "no", "pl", "pt", "ph", "ru", "sa", "sg", "za", "es", "se", "ch", "tw", "tr", "gb", "us"]], + "engine": Required[Literal["brave_ai_mode"]], + "json_restrictor": NotRequired[str], + "language": NotRequired[Literal["az", "bg", "br", "ca", "cs", "cy", "da", "de", "el", "en", "es", "et", "eu", "fi", "fr", "gl", "hr", "hu", "id", "it", "ja", "ka", "ko", "lt", "lv", "ms", "nb", "nl", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", "sv", "sw", "th", "tr", "uk", "vi", "zh"]], + "lat": NotRequired[Union[float, int]], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safeSearch": NotRequired[Literal["off", "moderate", "strict"]], + "subsequent_request_token": NotRequired[str], + "units_of_measurement": NotRequired[Literal["metric", "us"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +BraveAiModeSearchParams = Union[BraveAiModeJsonSearchParams, BraveAiModeHtmlSearchParams] + +DuckduckgoJsonSearchParams = TypedDict( + "DuckduckgoJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "df": NotRequired[str], + "engine": Required[Literal["duckduckgo"]], + "json_restrictor": NotRequired[str], + "kl": NotRequired[Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"]], + "m": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Any], + "search_assist": NotRequired[bool], + "start": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoHtmlSearchParams = TypedDict( + "DuckduckgoHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "df": NotRequired[str], + "engine": Required[Literal["duckduckgo"]], + "json_restrictor": NotRequired[str], + "kl": NotRequired[Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"]], + "m": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Any], + "search_assist": NotRequired[bool], + "start": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoSearchParams = Union[DuckduckgoJsonSearchParams, DuckduckgoHtmlSearchParams] + +DuckduckgoLightJsonSearchParams = TypedDict( + "DuckduckgoLightJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "df": NotRequired[str], + "engine": Required[Literal["duckduckgo_light"]], + "json_restrictor": NotRequired[str], + "kl": NotRequired[Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"]], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoLightHtmlSearchParams = TypedDict( + "DuckduckgoLightHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "df": NotRequired[str], + "engine": Required[Literal["duckduckgo_light"]], + "json_restrictor": NotRequired[str], + "kl": NotRequired[Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"]], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoLightSearchParams = Union[DuckduckgoLightJsonSearchParams, DuckduckgoLightHtmlSearchParams] + +DuckduckgoMapsJsonSearchParams = TypedDict( + "DuckduckgoMapsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bbox": NotRequired[str], + "engine": Required[Literal["duckduckgo_maps"]], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "lon": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "strict_bbox": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoMapsHtmlSearchParams = TypedDict( + "DuckduckgoMapsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bbox": NotRequired[str], + "engine": Required[Literal["duckduckgo_maps"]], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "lon": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "strict_bbox": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoMapsSearchParams = Union[DuckduckgoMapsJsonSearchParams, DuckduckgoMapsHtmlSearchParams] + +DuckduckgoNewsJsonSearchParams = TypedDict( + "DuckduckgoNewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "df": NotRequired[str], + "engine": Required[Literal["duckduckgo_news"]], + "json_restrictor": NotRequired[str], + "kl": NotRequired[Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"]], + "m": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoNewsHtmlSearchParams = TypedDict( + "DuckduckgoNewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "df": NotRequired[str], + "engine": Required[Literal["duckduckgo_news"]], + "json_restrictor": NotRequired[str], + "kl": NotRequired[Literal["ar-es", "au-en", "at-de", "be-fr", "be-nl", "br-pt", "bg-bg", "ca-en", "ca-fr", "ct-ca", "cl-es", "cn-zh", "co-es", "hr-hr", "cz-cs", "dk-da", "ee-et", "fi-fi", "fr-fr", "de-de", "gr-el", "hk-tzh", "hu-hu", "is-is", "in-en", "id-en", "ie-en", "il-en", "it-it", "jp-jp", "kr-kr", "lv-lv", "lt-lt", "my-en", "mx-es", "nl-nl", "nz-en", "no-no", "pk-en", "pe-es", "ph-en", "pl-pl", "pt-pt", "ro-ro", "ru-ru", "xa-ar", "sg-en", "sk-sk", "sl-sl", "za-en", "es-ca", "es-es", "se-sv", "ch-de", "ch-fr", "tw-tzh", "th-en", "tr-tr", "us-en", "us-es", "ua-uk", "uk-en", "vn-en", "wt-wt"]], + "m": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +DuckduckgoNewsSearchParams = Union[DuckduckgoNewsJsonSearchParams, DuckduckgoNewsHtmlSearchParams] + +EbayJsonSearchParams = TypedDict( + "EbayJsonSearchParams", + { + "LH_ItemCondition": NotRequired[str], + "LH_PrefLoc": NotRequired[Any], + "_blrs": NotRequired[bool], + "_dmd": NotRequired[Any], + "_ipg": NotRequired[Any], + "_nkw": Required[str], + "_pgn": NotRequired[Union[float, int]], + "_salic": NotRequired[Any], + "_sasl": NotRequired[str], + "_saslop": NotRequired[Any], + "_sop": NotRequired[Any], + "_stpos": NotRequired[str], + "_udhi": NotRequired[Union[float, int]], + "_udlo": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "buying_format": NotRequired[Literal["Auction", "BIN", "BO"]], + "category_id": NotRequired[str], + "ebay_domain": NotRequired[Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"]], + "engine": Required[Literal["ebay"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "show_only": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +EbayHtmlSearchParams = TypedDict( + "EbayHtmlSearchParams", + { + "LH_ItemCondition": NotRequired[str], + "LH_PrefLoc": NotRequired[Any], + "_blrs": NotRequired[bool], + "_dmd": NotRequired[Any], + "_ipg": NotRequired[Any], + "_nkw": Required[str], + "_pgn": NotRequired[Union[float, int]], + "_salic": NotRequired[Any], + "_sasl": NotRequired[str], + "_saslop": NotRequired[Any], + "_sop": NotRequired[Any], + "_stpos": NotRequired[str], + "_udhi": NotRequired[Union[float, int]], + "_udlo": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "buying_format": NotRequired[Literal["Auction", "BIN", "BO"]], + "category_id": NotRequired[str], + "ebay_domain": NotRequired[Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"]], + "engine": Required[Literal["ebay"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "show_only": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +EbaySearchParams = Union[EbayJsonSearchParams, EbayHtmlSearchParams] + +EbayProductJsonSearchParams = TypedDict( + "EbayProductJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "ebay_domain": NotRequired[Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"]], + "engine": Required[Literal["ebay_product"]], + "json_restrictor": NotRequired[str], + "lang": NotRequired[Literal["en-us"]], + "locale": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "product_id": Required[str], + "shipping_country": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +EbayProductHtmlSearchParams = TypedDict( + "EbayProductHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "ebay_domain": NotRequired[Literal["ebay.com.au", "ebay.at", "ebay.ca", "ebay.fr", "ebay.de", "ebay.com.hk", "ebay.ie", "ebay.it", "ebay.com.my", "ebay.nl", "ebay.pl", "ebay.com.sg", "ebay.es", "ebay.ch", "ebay.co.uk", "ebay.com"]], + "engine": Required[Literal["ebay_product"]], + "json_restrictor": NotRequired[str], + "lang": NotRequired[Literal["en-us"]], + "locale": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "product_id": Required[str], + "shipping_country": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +EbayProductSearchParams = Union[EbayProductJsonSearchParams, EbayProductHtmlSearchParams] + +FacebookProfileJsonSearchParams = TypedDict( + "FacebookProfileJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["facebook_profile"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "profile_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +FacebookProfileHtmlSearchParams = TypedDict( + "FacebookProfileHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["facebook_profile"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "profile_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +FacebookProfileSearchParams = Union[FacebookProfileJsonSearchParams, FacebookProfileHtmlSearchParams] + +GoogleJsonSearchParams = TypedDict( + "GoogleJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "color_scheme": NotRequired[Literal["light", "dark"]], + "cr": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": NotRequired[Literal["google"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "ibp": NotRequired[str], + "json_restrictor": NotRequired[str], + "kgmid": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "lr": NotRequired[str], + "lsig": NotRequired[str], + "ludocid": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "radius": NotRequired[Union[float, int]], + "safe": NotRequired[Literal["active", "off"]], + "si": NotRequired[str], + "start": NotRequired[Union[float, int]], + "tbm": NotRequired[Literal["isch", "lcl", "nws", "shop", "vid", "pts"]], + "tbs": NotRequired[str], + "uds": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHtmlSearchParams = TypedDict( + "GoogleHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "color_scheme": NotRequired[Literal["light", "dark"]], + "cr": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": NotRequired[Literal["google"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "ibp": NotRequired[str], + "json_restrictor": NotRequired[str], + "kgmid": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "lr": NotRequired[str], + "lsig": NotRequired[str], + "ludocid": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "radius": NotRequired[Union[float, int]], + "safe": NotRequired[Literal["active", "off"]], + "si": NotRequired[str], + "start": NotRequired[Union[float, int]], + "tbm": NotRequired[Literal["isch", "lcl", "nws", "shop", "vid", "pts"]], + "tbs": NotRequired[str], + "uds": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleSearchParams = Union[GoogleJsonSearchParams, GoogleHtmlSearchParams] + +GoogleAboutThisResultJsonSearchParams = TypedDict( + "GoogleAboutThisResultJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_about_this_result"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "ilps": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAboutThisResultHtmlSearchParams = TypedDict( + "GoogleAboutThisResultHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_about_this_result"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "ilps": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAboutThisResultSearchParams = Union[GoogleAboutThisResultJsonSearchParams, GoogleAboutThisResultHtmlSearchParams] + +GoogleAdsJsonSearchParams = TypedDict( + "GoogleAdsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_ads"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": Required[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAdsHtmlSearchParams = TypedDict( + "GoogleAdsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_ads"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": Required[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAdsSearchParams = Union[GoogleAdsJsonSearchParams, GoogleAdsHtmlSearchParams] + +GoogleAdsTransparencyCenterJsonSearchParams = TypedDict( + "GoogleAdsTransparencyCenterJsonSearchParams", + { + "advertiser_id": NotRequired[str], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "creative_format": NotRequired[Literal["text", "image", "video"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_ads_transparency_center"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "platform": NotRequired[Literal["PLAY", "MAPS", "SEARCH", "SHOPPING", "YOUTUBE"]], + "political_ads": NotRequired[bool], + "region": NotRequired[Any], + "start_date": NotRequired[str], + "text": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAdsTransparencyCenterHtmlSearchParams = TypedDict( + "GoogleAdsTransparencyCenterHtmlSearchParams", + { + "advertiser_id": NotRequired[str], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "creative_format": NotRequired[Literal["text", "image", "video"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_ads_transparency_center"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "platform": NotRequired[Literal["PLAY", "MAPS", "SEARCH", "SHOPPING", "YOUTUBE"]], + "political_ads": NotRequired[bool], + "region": NotRequired[Any], + "start_date": NotRequired[str], + "text": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAdsTransparencyCenterSearchParams = Union[GoogleAdsTransparencyCenterJsonSearchParams, GoogleAdsTransparencyCenterHtmlSearchParams] + +GoogleAdsTransparencyCenterAdDetailsJsonSearchParams = TypedDict( + "GoogleAdsTransparencyCenterAdDetailsJsonSearchParams", + { + "advertiser_id": Required[str], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "creative_id": Required[str], + "engine": Required[Literal["google_ads_transparency_center_ad_details"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "region": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAdsTransparencyCenterAdDetailsHtmlSearchParams = TypedDict( + "GoogleAdsTransparencyCenterAdDetailsHtmlSearchParams", + { + "advertiser_id": Required[str], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "creative_id": Required[str], + "engine": Required[Literal["google_ads_transparency_center_ad_details"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "region": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAdsTransparencyCenterAdDetailsSearchParams = Union[GoogleAdsTransparencyCenterAdDetailsJsonSearchParams, GoogleAdsTransparencyCenterAdDetailsHtmlSearchParams] + +GoogleAiModeJsonSearchParams = TypedDict( + "GoogleAiModeJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "continuable": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_ai_mode"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "image_url": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "subsequent_request_token": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAiModeHtmlSearchParams = TypedDict( + "GoogleAiModeHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "continuable": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_ai_mode"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "image_url": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "subsequent_request_token": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAiModeSearchParams = Union[GoogleAiModeJsonSearchParams, GoogleAiModeHtmlSearchParams] + +GoogleAiOverviewJsonSearchParams = TypedDict( + "GoogleAiOverviewJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_ai_overview"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAiOverviewHtmlSearchParams = TypedDict( + "GoogleAiOverviewHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_ai_overview"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAiOverviewSearchParams = Union[GoogleAiOverviewJsonSearchParams, GoogleAiOverviewHtmlSearchParams] + +GoogleAutocompleteJsonSearchParams = TypedDict( + "GoogleAutocompleteJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "client": NotRequired[Literal["chrome", "chrome-omni", "gws-wiz", "safari", "firefox", "psy-ab", "toolbar", "youtube", "gws-wiz-local"]], + "cp": NotRequired[str], + "engine": Required[Literal["google_autocomplete"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAutocompleteHtmlSearchParams = TypedDict( + "GoogleAutocompleteHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "client": NotRequired[Literal["chrome", "chrome-omni", "gws-wiz", "safari", "firefox", "psy-ab", "toolbar", "youtube", "gws-wiz-local"]], + "cp": NotRequired[str], + "engine": Required[Literal["google_autocomplete"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleAutocompleteSearchParams = Union[GoogleAutocompleteJsonSearchParams, GoogleAutocompleteHtmlSearchParams] + +GoogleEventsJsonSearchParams = TypedDict( + "GoogleEventsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_events"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "htichips": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleEventsHtmlSearchParams = TypedDict( + "GoogleEventsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_events"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "htichips": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleEventsSearchParams = Union[GoogleEventsJsonSearchParams, GoogleEventsHtmlSearchParams] + +GoogleFinanceJsonSearchParams = TypedDict( + "GoogleFinanceJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_finance"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "window": NotRequired[Literal["1D", "5D", "1M", "6M", "YTD", "1Y", "5Y", "MAX"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFinanceHtmlSearchParams = TypedDict( + "GoogleFinanceHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_finance"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "window": NotRequired[Literal["1D", "5D", "1M", "6M", "YTD", "1Y", "5Y", "MAX"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFinanceSearchParams = Union[GoogleFinanceJsonSearchParams, GoogleFinanceHtmlSearchParams] + +GoogleFinanceMarketsJsonSearchParams = TypedDict( + "GoogleFinanceMarketsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_finance_markets"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "trend": Required[Literal["indexes"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFinanceMarketsHtmlSearchParams = TypedDict( + "GoogleFinanceMarketsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_finance_markets"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "trend": Required[Literal["indexes"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFinanceMarketsSearchParams = Union[GoogleFinanceMarketsJsonSearchParams, GoogleFinanceMarketsHtmlSearchParams] + +GoogleFlightsJsonSearchParams = TypedDict( + "GoogleFlightsJsonSearchParams", + { + "adults": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "arrival_id": NotRequired[str], + "async": NotRequired[bool], + "bags": NotRequired[Union[float, int]], + "booking_token": NotRequired[str], + "children": NotRequired[Union[float, int]], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "deep_search": NotRequired[bool], + "departure_id": NotRequired[str], + "departure_token": NotRequired[str], + "emissions": NotRequired[Any], + "engine": Required[Literal["google_flights"]], + "exclude_airlines": NotRequired[str], + "exclude_basic": NotRequired[bool], + "exclude_conns": NotRequired[str], + "gl": NotRequired[str], + "hl": NotRequired[str], + "include_airlines": NotRequired[str], + "infants_in_seat": NotRequired[Union[float, int]], + "infants_on_lap": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "layover_duration": NotRequired[str], + "max_duration": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "multi_city_json": NotRequired[str], + "no_cache": NotRequired[bool], + "outbound_date": NotRequired[str], + "outbound_times": NotRequired[str], + "output": NotRequired[Literal["json"]], + "return_date": NotRequired[str], + "return_times": NotRequired[str], + "selected_flights_json": NotRequired[str], + "show_hidden": NotRequired[bool], + "sort_by": NotRequired[Any], + "stops": NotRequired[Any], + "travel_class": NotRequired[Any], + "type": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFlightsHtmlSearchParams = TypedDict( + "GoogleFlightsHtmlSearchParams", + { + "adults": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "arrival_id": NotRequired[str], + "async": NotRequired[bool], + "bags": NotRequired[Union[float, int]], + "booking_token": NotRequired[str], + "children": NotRequired[Union[float, int]], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "deep_search": NotRequired[bool], + "departure_id": NotRequired[str], + "departure_token": NotRequired[str], + "emissions": NotRequired[Any], + "engine": Required[Literal["google_flights"]], + "exclude_airlines": NotRequired[str], + "exclude_basic": NotRequired[bool], + "exclude_conns": NotRequired[str], + "gl": NotRequired[str], + "hl": NotRequired[str], + "include_airlines": NotRequired[str], + "infants_in_seat": NotRequired[Union[float, int]], + "infants_on_lap": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "layover_duration": NotRequired[str], + "max_duration": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "multi_city_json": NotRequired[str], + "no_cache": NotRequired[bool], + "outbound_date": NotRequired[str], + "outbound_times": NotRequired[str], + "output": Required[Literal["html"]], + "return_date": NotRequired[str], + "return_times": NotRequired[str], + "selected_flights_json": NotRequired[str], + "show_hidden": NotRequired[bool], + "sort_by": NotRequired[Any], + "stops": NotRequired[Any], + "travel_class": NotRequired[Any], + "type": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFlightsSearchParams = Union[GoogleFlightsJsonSearchParams, GoogleFlightsHtmlSearchParams] + +GoogleFlightsAutocompleteJsonSearchParams = TypedDict( + "GoogleFlightsAutocompleteJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_flights_autocomplete"]], + "exclude_regions": NotRequired[bool], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFlightsAutocompleteHtmlSearchParams = TypedDict( + "GoogleFlightsAutocompleteHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_flights_autocomplete"]], + "exclude_regions": NotRequired[bool], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFlightsAutocompleteSearchParams = Union[GoogleFlightsAutocompleteJsonSearchParams, GoogleFlightsAutocompleteHtmlSearchParams] + +GoogleFlightsDealsJsonSearchParams = TypedDict( + "GoogleFlightsDealsJsonSearchParams", + { + "adults": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "children": NotRequired[Union[float, int]], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "departure_id": NotRequired[str], + "engine": Required[Literal["google_flights_deals"]], + "exclude_airlines": NotRequired[str], + "gl": NotRequired[str], + "hl": NotRequired[str], + "include_airlines": NotRequired[str], + "infants_in_seat": NotRequired[Union[float, int]], + "infants_on_lap": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "max_duration": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "outbound_date": NotRequired[str], + "output": NotRequired[Literal["json"]], + "return_date": NotRequired[str], + "stops": NotRequired[Any], + "travel_class": NotRequired[Any], + "travel_duration": NotRequired[Any], + "trip_length": NotRequired[str], + "type": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFlightsDealsHtmlSearchParams = TypedDict( + "GoogleFlightsDealsHtmlSearchParams", + { + "adults": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "children": NotRequired[Union[float, int]], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "departure_id": NotRequired[str], + "engine": Required[Literal["google_flights_deals"]], + "exclude_airlines": NotRequired[str], + "gl": NotRequired[str], + "hl": NotRequired[str], + "include_airlines": NotRequired[str], + "infants_in_seat": NotRequired[Union[float, int]], + "infants_on_lap": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "max_duration": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "outbound_date": NotRequired[str], + "output": Required[Literal["html"]], + "return_date": NotRequired[str], + "stops": NotRequired[Any], + "travel_class": NotRequired[Any], + "travel_duration": NotRequired[Any], + "trip_length": NotRequired[str], + "type": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleFlightsDealsSearchParams = Union[GoogleFlightsDealsJsonSearchParams, GoogleFlightsDealsHtmlSearchParams] + +GoogleForumsJsonSearchParams = TypedDict( + "GoogleForumsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_forums"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "period_unit": NotRequired[Literal["s", "n", "h", "d", "w", "m", "y"]], + "period_value": NotRequired[Union[float, int]], + "q": Required[str], + "start": NotRequired[Union[float, int]], + "start_date": NotRequired[str], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleForumsHtmlSearchParams = TypedDict( + "GoogleForumsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_forums"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "period_unit": NotRequired[Literal["s", "n", "h", "d", "w", "m", "y"]], + "period_value": NotRequired[Union[float, int]], + "q": Required[str], + "start": NotRequired[Union[float, int]], + "start_date": NotRequired[str], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleForumsSearchParams = Union[GoogleForumsJsonSearchParams, GoogleForumsHtmlSearchParams] + +GoogleHotelsJsonSearchParams = TypedDict( + "GoogleHotelsJsonSearchParams", + { + "adults": NotRequired[Union[float, int]], + "amenities": NotRequired[str], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bathrooms": NotRequired[Union[float, int]], + "bedrooms": NotRequired[Union[float, int]], + "brands": NotRequired[str], + "check_in_date": Required[str], + "check_out_date": Required[str], + "children": NotRequired[Union[float, int]], + "children_ages": NotRequired[str], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "eco_certified": NotRequired[bool], + "engine": Required[Literal["google_hotels"]], + "free_cancellation": NotRequired[bool], + "gl": NotRequired[str], + "hl": NotRequired[str], + "hotel_class": NotRequired[str], + "json_restrictor": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "property_token": NotRequired[str], + "property_types": NotRequired[str], + "q": Required[str], + "rating": NotRequired[Any], + "sort_by": NotRequired[Any], + "special_offers": NotRequired[bool], + "vacation_rentals": NotRequired[bool], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsHtmlSearchParams = TypedDict( + "GoogleHotelsHtmlSearchParams", + { + "adults": NotRequired[Union[float, int]], + "amenities": NotRequired[str], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bathrooms": NotRequired[Union[float, int]], + "bedrooms": NotRequired[Union[float, int]], + "brands": NotRequired[str], + "check_in_date": Required[str], + "check_out_date": Required[str], + "children": NotRequired[Union[float, int]], + "children_ages": NotRequired[str], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "eco_certified": NotRequired[bool], + "engine": Required[Literal["google_hotels"]], + "free_cancellation": NotRequired[bool], + "gl": NotRequired[str], + "hl": NotRequired[str], + "hotel_class": NotRequired[str], + "json_restrictor": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "property_token": NotRequired[str], + "property_types": NotRequired[str], + "q": Required[str], + "rating": NotRequired[Any], + "sort_by": NotRequired[Any], + "special_offers": NotRequired[bool], + "vacation_rentals": NotRequired[bool], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsSearchParams = Union[GoogleHotelsJsonSearchParams, GoogleHotelsHtmlSearchParams] + +GoogleHotelsAutocompleteJsonSearchParams = TypedDict( + "GoogleHotelsAutocompleteJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "engine": Required[Literal["google_hotels_autocomplete"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsAutocompleteHtmlSearchParams = TypedDict( + "GoogleHotelsAutocompleteHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "engine": Required[Literal["google_hotels_autocomplete"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsAutocompleteSearchParams = Union[GoogleHotelsAutocompleteJsonSearchParams, GoogleHotelsAutocompleteHtmlSearchParams] + +GoogleHotelsPhotosJsonSearchParams = TypedDict( + "GoogleHotelsPhotosJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_hotels_photos"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "property_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsPhotosHtmlSearchParams = TypedDict( + "GoogleHotelsPhotosHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_hotels_photos"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "property_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsPhotosSearchParams = Union[GoogleHotelsPhotosJsonSearchParams, GoogleHotelsPhotosHtmlSearchParams] + +GoogleHotelsReviewsJsonSearchParams = TypedDict( + "GoogleHotelsReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_token": NotRequired[str], + "engine": Required[Literal["google_hotels_reviews"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "property_token": Required[str], + "sort_by": NotRequired[Any], + "source_number": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsReviewsHtmlSearchParams = TypedDict( + "GoogleHotelsReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_token": NotRequired[str], + "engine": Required[Literal["google_hotels_reviews"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "property_token": Required[str], + "sort_by": NotRequired[Any], + "source_number": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleHotelsReviewsSearchParams = Union[GoogleHotelsReviewsJsonSearchParams, GoogleHotelsReviewsHtmlSearchParams] + +GoogleImagesJsonSearchParams = TypedDict( + "GoogleImagesJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "chips": NotRequired[str], + "cr": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_images"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "ijn": NotRequired[Union[float, int]], + "image_color": NotRequired[Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"]], + "image_type": NotRequired[Literal["face", "photo", "clipart", "lineart", "animated"]], + "imgar": NotRequired[Literal["s", "t", "w", "xw"]], + "imgsz": NotRequired[Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"]], + "json_restrictor": NotRequired[str], + "licenses": NotRequired[Literal["f", "fc", "fm", "fmc", "cl", "ol"]], + "location": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "period_unit": NotRequired[Literal["s", "n", "h", "d", "w", "m", "y"]], + "period_value": NotRequired[Union[float, int]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start_date": NotRequired[str], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImagesHtmlSearchParams = TypedDict( + "GoogleImagesHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "chips": NotRequired[str], + "cr": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_images"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "ijn": NotRequired[Union[float, int]], + "image_color": NotRequired[Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"]], + "image_type": NotRequired[Literal["face", "photo", "clipart", "lineart", "animated"]], + "imgar": NotRequired[Literal["s", "t", "w", "xw"]], + "imgsz": NotRequired[Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"]], + "json_restrictor": NotRequired[str], + "licenses": NotRequired[Literal["f", "fc", "fm", "fmc", "cl", "ol"]], + "location": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "period_unit": NotRequired[Literal["s", "n", "h", "d", "w", "m", "y"]], + "period_value": NotRequired[Union[float, int]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start_date": NotRequired[str], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImagesSearchParams = Union[GoogleImagesJsonSearchParams, GoogleImagesHtmlSearchParams] + +GoogleImagesLightJsonSearchParams = TypedDict( + "GoogleImagesLightJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "cr": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_images_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "image_color": NotRequired[Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"]], + "image_type": NotRequired[Literal["face", "photo", "clipart", "lineart", "animated"]], + "imgar": NotRequired[Literal["s", "t", "w", "xw"]], + "imgsz": NotRequired[Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"]], + "json_restrictor": NotRequired[str], + "licenses": NotRequired[Literal["f", "fc", "fm", "fmc", "cl", "ol"]], + "location": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "period_unit": NotRequired[Literal["s", "n", "h", "d", "w", "m", "y"]], + "period_value": NotRequired[Union[float, int]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "start_date": NotRequired[str], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImagesLightHtmlSearchParams = TypedDict( + "GoogleImagesLightHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "cr": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "end_date": NotRequired[str], + "engine": Required[Literal["google_images_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "image_color": NotRequired[Literal["bw", "trans", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "white", "gray", "black", "brown"]], + "image_type": NotRequired[Literal["face", "photo", "clipart", "lineart", "animated"]], + "imgar": NotRequired[Literal["s", "t", "w", "xw"]], + "imgsz": NotRequired[Literal["l", "m", "i", "qsvga", "vga", "svga", "xga", "2mp", "4mp", "6mp", "8mp", "10mp", "12mp", "15mp", "20mp", "40mp", "70mp"]], + "json_restrictor": NotRequired[str], + "licenses": NotRequired[Literal["f", "fc", "fm", "fmc", "cl", "ol"]], + "location": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "period_unit": NotRequired[Literal["s", "n", "h", "d", "w", "m", "y"]], + "period_value": NotRequired[Union[float, int]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "start_date": NotRequired[str], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImagesLightSearchParams = Union[GoogleImagesLightJsonSearchParams, GoogleImagesLightHtmlSearchParams] + +GoogleImagesRelatedContentJsonSearchParams = TypedDict( + "GoogleImagesRelatedContentJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_images_related_content"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": NotRequired[str], + "related_content_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImagesRelatedContentHtmlSearchParams = TypedDict( + "GoogleImagesRelatedContentHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_images_related_content"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": NotRequired[str], + "related_content_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImagesRelatedContentSearchParams = Union[GoogleImagesRelatedContentJsonSearchParams, GoogleImagesRelatedContentHtmlSearchParams] + +GoogleImmersiveProductJsonSearchParams = TypedDict( + "GoogleImmersiveProductJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_immersive_product"]], + "json_restrictor": NotRequired[str], + "more_stores": NotRequired[bool], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImmersiveProductHtmlSearchParams = TypedDict( + "GoogleImmersiveProductHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_immersive_product"]], + "json_restrictor": NotRequired[str], + "more_stores": NotRequired[bool], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleImmersiveProductSearchParams = Union[GoogleImmersiveProductJsonSearchParams, GoogleImmersiveProductHtmlSearchParams] + +GoogleJobsJsonSearchParams = TypedDict( + "GoogleJobsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "chips": NotRequired[str], + "engine": Required[Literal["google_jobs"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lrad": NotRequired[Union[float, int]], + "ltype": NotRequired[bool], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "uds": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleJobsHtmlSearchParams = TypedDict( + "GoogleJobsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "chips": NotRequired[str], + "engine": Required[Literal["google_jobs"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lrad": NotRequired[Union[float, int]], + "ltype": NotRequired[bool], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "uds": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleJobsSearchParams = Union[GoogleJobsJsonSearchParams, GoogleJobsHtmlSearchParams] + +GoogleJobsListingJsonSearchParams = TypedDict( + "GoogleJobsListingJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_jobs_listing"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleJobsListingHtmlSearchParams = TypedDict( + "GoogleJobsListingHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_jobs_listing"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleJobsListingSearchParams = Union[GoogleJobsListingJsonSearchParams, GoogleJobsListingHtmlSearchParams] + +GoogleLensJsonSearchParams = TypedDict( + "GoogleLensJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "auto_crop": NotRequired[bool], + "country": NotRequired[str], + "engine": Required[Literal["google_lens"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": NotRequired[str], + "safe": NotRequired[Literal["active", "off"]], + "type": Required[Literal["all", "about_this_image", "products", "exact_matches", "visual_matches"]], + "url": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLensHtmlSearchParams = TypedDict( + "GoogleLensHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "auto_crop": NotRequired[bool], + "country": NotRequired[str], + "engine": Required[Literal["google_lens"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": NotRequired[str], + "safe": NotRequired[Literal["active", "off"]], + "type": Required[Literal["all", "about_this_image", "products", "exact_matches", "visual_matches"]], + "url": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLensSearchParams = Union[GoogleLensJsonSearchParams, GoogleLensHtmlSearchParams] + +GoogleLightJsonSearchParams = TypedDict( + "GoogleLightJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLightHtmlSearchParams = TypedDict( + "GoogleLightHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLightSearchParams = Union[GoogleLightJsonSearchParams, GoogleLightHtmlSearchParams] + +GoogleLocalJsonSearchParams = TypedDict( + "GoogleLocalJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_local"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "ludocid": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLocalHtmlSearchParams = TypedDict( + "GoogleLocalHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_local"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "ludocid": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLocalSearchParams = Union[GoogleLocalJsonSearchParams, GoogleLocalHtmlSearchParams] + +GoogleLocalServicesJsonSearchParams = TypedDict( + "GoogleLocalServicesJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bid": NotRequired[Union[float, int]], + "cid": NotRequired[Union[float, int]], + "data_cid": Required[Union[float, int]], + "engine": Required[Literal["google_local_services"]], + "hl": NotRequired[str], + "job_type": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "pid": NotRequired[Union[float, int]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLocalServicesHtmlSearchParams = TypedDict( + "GoogleLocalServicesHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "bid": NotRequired[Union[float, int]], + "cid": NotRequired[Union[float, int]], + "data_cid": Required[Union[float, int]], + "engine": Required[Literal["google_local_services"]], + "hl": NotRequired[str], + "job_type": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "pid": NotRequired[Union[float, int]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleLocalServicesSearchParams = Union[GoogleLocalServicesJsonSearchParams, GoogleLocalServicesHtmlSearchParams] + +GoogleMapsJsonSearchParams = TypedDict( + "GoogleMapsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data": NotRequired[str], + "data_cid": NotRequired[str], + "engine": Required[Literal["google_maps"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "ll": NotRequired[str], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "m": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "min_rating": NotRequired[Literal["2.0", "2.5", "3.0", "3.5", "4.0", "4.5"]], + "nearby": NotRequired[bool], + "no_cache": NotRequired[bool], + "open_at_hour": NotRequired[Any], + "open_on_day": NotRequired[Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"]], + "open_state": NotRequired[Literal["now", "24h"]], + "output": NotRequired[Literal["json"]], + "place_id": NotRequired[str], + "q": NotRequired[str], + "start": NotRequired[Union[float, int]], + "type": Required[Literal["search", "place"]], + "z": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsHtmlSearchParams = TypedDict( + "GoogleMapsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data": NotRequired[str], + "data_cid": NotRequired[str], + "engine": Required[Literal["google_maps"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "ll": NotRequired[str], + "location": NotRequired[str], + "lon": NotRequired[Union[float, int]], + "m": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "min_rating": NotRequired[Literal["2.0", "2.5", "3.0", "3.5", "4.0", "4.5"]], + "nearby": NotRequired[bool], + "no_cache": NotRequired[bool], + "open_at_hour": NotRequired[Any], + "open_on_day": NotRequired[Literal["mon", "tue", "wed", "thu", "fri", "sat", "sun"]], + "open_state": NotRequired[Literal["now", "24h"]], + "output": Required[Literal["html"]], + "place_id": NotRequired[str], + "q": NotRequired[str], + "start": NotRequired[Union[float, int]], + "type": Required[Literal["search", "place"]], + "z": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsSearchParams = Union[GoogleMapsJsonSearchParams, GoogleMapsHtmlSearchParams] + +GoogleMapsAutocompleteJsonSearchParams = TypedDict( + "GoogleMapsAutocompleteJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cp": NotRequired[str], + "engine": Required[Literal["google_maps_autocomplete"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "ll": Required[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsAutocompleteHtmlSearchParams = TypedDict( + "GoogleMapsAutocompleteHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cp": NotRequired[str], + "engine": Required[Literal["google_maps_autocomplete"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "ll": Required[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsAutocompleteSearchParams = Union[GoogleMapsAutocompleteJsonSearchParams, GoogleMapsAutocompleteHtmlSearchParams] + +GoogleMapsContributorReviewsJsonSearchParams = TypedDict( + "GoogleMapsContributorReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "contributor_id": Required[str], + "engine": Required[Literal["google_maps_contributor_reviews"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsContributorReviewsHtmlSearchParams = TypedDict( + "GoogleMapsContributorReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "contributor_id": Required[str], + "engine": Required[Literal["google_maps_contributor_reviews"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsContributorReviewsSearchParams = Union[GoogleMapsContributorReviewsJsonSearchParams, GoogleMapsContributorReviewsHtmlSearchParams] + +GoogleMapsDirectionsJsonSearchParams = TypedDict( + "GoogleMapsDirectionsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "avoid": NotRequired[str], + "distance_unit": NotRequired[Any], + "end_addr": NotRequired[str], + "end_coords": NotRequired[str], + "end_data_id": NotRequired[str], + "engine": Required[Literal["google_maps_directions"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "prefer": NotRequired[str], + "route": NotRequired[Any], + "start_addr": NotRequired[str], + "start_coords": NotRequired[str], + "start_data_id": NotRequired[str], + "time": NotRequired[str], + "travel_mode": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsDirectionsHtmlSearchParams = TypedDict( + "GoogleMapsDirectionsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "avoid": NotRequired[str], + "distance_unit": NotRequired[Any], + "end_addr": NotRequired[str], + "end_coords": NotRequired[str], + "end_data_id": NotRequired[str], + "engine": Required[Literal["google_maps_directions"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "prefer": NotRequired[str], + "route": NotRequired[Any], + "start_addr": NotRequired[str], + "start_coords": NotRequired[str], + "start_data_id": NotRequired[str], + "time": NotRequired[str], + "travel_mode": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsDirectionsSearchParams = Union[GoogleMapsDirectionsJsonSearchParams, GoogleMapsDirectionsHtmlSearchParams] + +GoogleMapsPhotoMetaJsonSearchParams = TypedDict( + "GoogleMapsPhotoMetaJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data_id": Required[str], + "engine": Required[Literal["google_maps_photo_meta"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsPhotoMetaHtmlSearchParams = TypedDict( + "GoogleMapsPhotoMetaHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data_id": Required[str], + "engine": Required[Literal["google_maps_photo_meta"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsPhotoMetaSearchParams = Union[GoogleMapsPhotoMetaJsonSearchParams, GoogleMapsPhotoMetaHtmlSearchParams] + +GoogleMapsPhotosJsonSearchParams = TypedDict( + "GoogleMapsPhotosJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_id": NotRequired[str], + "data_id": Required[str], + "engine": Required[Literal["google_maps_photos"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsPhotosHtmlSearchParams = TypedDict( + "GoogleMapsPhotosHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_id": NotRequired[str], + "data_id": Required[str], + "engine": Required[Literal["google_maps_photos"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsPhotosSearchParams = Union[GoogleMapsPhotosJsonSearchParams, GoogleMapsPhotosHtmlSearchParams] + +GoogleMapsPostsJsonSearchParams = TypedDict( + "GoogleMapsPostsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data_id": Required[str], + "engine": Required[Literal["google_maps_posts"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsPostsHtmlSearchParams = TypedDict( + "GoogleMapsPostsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data_id": Required[str], + "engine": Required[Literal["google_maps_posts"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsPostsSearchParams = Union[GoogleMapsPostsJsonSearchParams, GoogleMapsPostsHtmlSearchParams] + +GoogleMapsReviewsJsonSearchParams = TypedDict( + "GoogleMapsReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data_id": NotRequired[str], + "engine": Required[Literal["google_maps_reviews"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[str], + "output": NotRequired[Literal["json"]], + "place_id": NotRequired[str], + "query": NotRequired[str], + "sort_by": NotRequired[Literal["qualityScore", "newestFirst", "ratingHigh", "ratingLow"]], + "topic_id": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsReviewsHtmlSearchParams = TypedDict( + "GoogleMapsReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "data_id": NotRequired[str], + "engine": Required[Literal["google_maps_reviews"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[str], + "output": Required[Literal["html"]], + "place_id": NotRequired[str], + "query": NotRequired[str], + "sort_by": NotRequired[Literal["qualityScore", "newestFirst", "ratingHigh", "ratingLow"]], + "topic_id": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleMapsReviewsSearchParams = Union[GoogleMapsReviewsJsonSearchParams, GoogleMapsReviewsHtmlSearchParams] + +GoogleNewsJsonSearchParams = TypedDict( + "GoogleNewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_news"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "kgmid": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "publication_token": NotRequired[str], + "q": NotRequired[str], + "section_token": NotRequired[str], + "so": NotRequired[Any], + "story_token": NotRequired[str], + "topic_token": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleNewsHtmlSearchParams = TypedDict( + "GoogleNewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_news"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "kgmid": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "publication_token": NotRequired[str], + "q": NotRequired[str], + "section_token": NotRequired[str], + "so": NotRequired[Any], + "story_token": NotRequired[str], + "topic_token": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleNewsSearchParams = Union[GoogleNewsJsonSearchParams, GoogleNewsHtmlSearchParams] + +GoogleNewsLightJsonSearchParams = TypedDict( + "GoogleNewsLightJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_news_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleNewsLightHtmlSearchParams = TypedDict( + "GoogleNewsLightHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_news_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleNewsLightSearchParams = Union[GoogleNewsLightJsonSearchParams, GoogleNewsLightHtmlSearchParams] + +GooglePatentsJsonSearchParams = TypedDict( + "GooglePatentsJsonSearchParams", + { + "after": NotRequired[str], + "api_key": NotRequired[str], + "assignee": NotRequired[str], + "async": NotRequired[bool], + "before": NotRequired[str], + "clustered": NotRequired[Literal["true"]], + "country": NotRequired[str], + "dups": NotRequired[Literal["language"]], + "engine": Required[Literal["google_patents"]], + "inventor": NotRequired[str], + "json_restrictor": NotRequired[str], + "language": NotRequired[str], + "litigation": NotRequired[Literal["YES", "NO"]], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "patents": NotRequired[bool], + "q": NotRequired[str], + "scholar": NotRequired[bool], + "sort": NotRequired[Literal["new", "old"]], + "status": NotRequired[Literal["GRANT", "APPLICATION"]], + "type": NotRequired[Literal["PATENT", "DESIGN"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePatentsHtmlSearchParams = TypedDict( + "GooglePatentsHtmlSearchParams", + { + "after": NotRequired[str], + "api_key": NotRequired[str], + "assignee": NotRequired[str], + "async": NotRequired[bool], + "before": NotRequired[str], + "clustered": NotRequired[Literal["true"]], + "country": NotRequired[str], + "dups": NotRequired[Literal["language"]], + "engine": Required[Literal["google_patents"]], + "inventor": NotRequired[str], + "json_restrictor": NotRequired[str], + "language": NotRequired[str], + "litigation": NotRequired[Literal["YES", "NO"]], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "patents": NotRequired[bool], + "q": NotRequired[str], + "scholar": NotRequired[bool], + "sort": NotRequired[Literal["new", "old"]], + "status": NotRequired[Literal["GRANT", "APPLICATION"]], + "type": NotRequired[Literal["PATENT", "DESIGN"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePatentsSearchParams = Union[GooglePatentsJsonSearchParams, GooglePatentsHtmlSearchParams] + +GooglePatentsDetailsJsonSearchParams = TypedDict( + "GooglePatentsDetailsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_patents_details"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "patent_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePatentsDetailsHtmlSearchParams = TypedDict( + "GooglePatentsDetailsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_patents_details"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "patent_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePatentsDetailsSearchParams = Union[GooglePatentsDetailsJsonSearchParams, GooglePatentsDetailsHtmlSearchParams] + +GooglePlayJsonSearchParams = TypedDict( + "GooglePlayJsonSearchParams", + { + "age": NotRequired[Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"]], + "api_key": NotRequired[str], + "apps_category": NotRequired[Literal["ART_AND_DESIGN", "AUTO_AND_VEHICLES", "BEAUTY", "BOOKS_AND_REFERENCE", "BUSINESS", "COMICS", "COMMUNICATION", "DATING", "EDUCATION", "ENTERTAINMENT", "EVENTS", "FINANCE", "FOOD_AND_DRINK", "HEALTH_AND_FITNESS", "HOUSE_AND_HOME", "LIBRARIES_AND_DEMO", "LIFESTYLE", "MAPS_AND_NAVIGATION", "MEDICAL", "MUSIC_AND_AUDIO", "NEWS_AND_MAGAZINES", "PARENTING", "PERSONALIZATION", "PHOTOGRAPHY", "PRODUCTIVITY", "SHOPPING", "SOCIAL", "SPORTS", "TOOLS", "TRAVEL_AND_LOCAL", "VIDEO_PLAYERS", "ANDROID_WEAR", "WATCH_FACE", "WEATHER", "FAMILY"]], + "async": NotRequired[bool], + "chart": NotRequired[str], + "engine": Required[Literal["google_play"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "store_device": NotRequired[Literal["phone", "tablet", "tv", "chromebook", "watch", "car"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayHtmlSearchParams = TypedDict( + "GooglePlayHtmlSearchParams", + { + "age": NotRequired[Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"]], + "api_key": NotRequired[str], + "apps_category": NotRequired[Literal["ART_AND_DESIGN", "AUTO_AND_VEHICLES", "BEAUTY", "BOOKS_AND_REFERENCE", "BUSINESS", "COMICS", "COMMUNICATION", "DATING", "EDUCATION", "ENTERTAINMENT", "EVENTS", "FINANCE", "FOOD_AND_DRINK", "HEALTH_AND_FITNESS", "HOUSE_AND_HOME", "LIBRARIES_AND_DEMO", "LIFESTYLE", "MAPS_AND_NAVIGATION", "MEDICAL", "MUSIC_AND_AUDIO", "NEWS_AND_MAGAZINES", "PARENTING", "PERSONALIZATION", "PHOTOGRAPHY", "PRODUCTIVITY", "SHOPPING", "SOCIAL", "SPORTS", "TOOLS", "TRAVEL_AND_LOCAL", "VIDEO_PLAYERS", "ANDROID_WEAR", "WATCH_FACE", "WEATHER", "FAMILY"]], + "async": NotRequired[bool], + "chart": NotRequired[str], + "engine": Required[Literal["google_play"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "store_device": NotRequired[Literal["phone", "tablet", "tv", "chromebook", "watch", "car"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlaySearchParams = Union[GooglePlayJsonSearchParams, GooglePlayHtmlSearchParams] + +GooglePlayBooksJsonSearchParams = TypedDict( + "GooglePlayBooksJsonSearchParams", + { + "age": NotRequired[Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "books_category": NotRequired[str], + "chart": NotRequired[str], + "engine": Required[Literal["google_play_books"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "price": NotRequired[Any], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayBooksHtmlSearchParams = TypedDict( + "GooglePlayBooksHtmlSearchParams", + { + "age": NotRequired[Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "books_category": NotRequired[str], + "chart": NotRequired[str], + "engine": Required[Literal["google_play_books"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "price": NotRequired[Any], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayBooksSearchParams = Union[GooglePlayBooksJsonSearchParams, GooglePlayBooksHtmlSearchParams] + +GooglePlayGamesJsonSearchParams = TypedDict( + "GooglePlayGamesJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "chart": NotRequired[str], + "engine": Required[Literal["google_play_games"]], + "games_category": NotRequired[Literal["GAME", "GAME_ACTION", "GAME_ADVENTURE", "GAME_ARCADE", "GAME_BOARD", "GAME_CARD", "GAME_CASINO", "GAME_CASUAL", "GAME_EDUCATIONAL", "GAME_MUSIC", "GAME_PUZZLE", "GAME_RACING", "GAME_ROLE_PLAYING", "GAME_SIMULATION", "GAME_SPORTS", "GAME_STRATEGY", "GAME_TRIVIA", "GAME_WORD"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "store_device": NotRequired[Literal["phone", "windows", "tablet", "tv", "chromebook", "watch"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayGamesHtmlSearchParams = TypedDict( + "GooglePlayGamesHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "chart": NotRequired[str], + "engine": Required[Literal["google_play_games"]], + "games_category": NotRequired[Literal["GAME", "GAME_ACTION", "GAME_ADVENTURE", "GAME_ARCADE", "GAME_BOARD", "GAME_CARD", "GAME_CASINO", "GAME_CASUAL", "GAME_EDUCATIONAL", "GAME_MUSIC", "GAME_PUZZLE", "GAME_RACING", "GAME_ROLE_PLAYING", "GAME_SIMULATION", "GAME_SPORTS", "GAME_STRATEGY", "GAME_TRIVIA", "GAME_WORD"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "store_device": NotRequired[Literal["phone", "windows", "tablet", "tv", "chromebook", "watch"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayGamesSearchParams = Union[GooglePlayGamesJsonSearchParams, GooglePlayGamesHtmlSearchParams] + +GooglePlayMoviesJsonSearchParams = TypedDict( + "GooglePlayMoviesJsonSearchParams", + { + "age": NotRequired[Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "chart": NotRequired[str], + "engine": Required[Literal["google_play_movies"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "movies_category": NotRequired[Any], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayMoviesHtmlSearchParams = TypedDict( + "GooglePlayMoviesHtmlSearchParams", + { + "age": NotRequired[Literal["AGE_RANGE1", "AGE_RANGE2", "AGE_RANGE3"]], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "chart": NotRequired[str], + "engine": Required[Literal["google_play_movies"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "movies_category": NotRequired[Any], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": NotRequired[str], + "section_page_token": NotRequired[str], + "see_more_token": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayMoviesSearchParams = Union[GooglePlayMoviesJsonSearchParams, GooglePlayMoviesHtmlSearchParams] + +GooglePlayProductJsonSearchParams = TypedDict( + "GooglePlayProductJsonSearchParams", + { + "all_reviews": NotRequired[bool], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_play_product"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "platform": NotRequired[Literal["phone", "tablet", "watch", "chromebook", "tv", "car"]], + "product_id": Required[str], + "rating": NotRequired[Any], + "season_id": NotRequired[str], + "sort_by": NotRequired[Any], + "store": Required[Literal["apps", "movies", "tv", "books", "audiobooks"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayProductHtmlSearchParams = TypedDict( + "GooglePlayProductHtmlSearchParams", + { + "all_reviews": NotRequired[bool], + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_play_product"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "platform": NotRequired[Literal["phone", "tablet", "watch", "chromebook", "tv", "car"]], + "product_id": Required[str], + "rating": NotRequired[Any], + "season_id": NotRequired[str], + "sort_by": NotRequired[Any], + "store": Required[Literal["apps", "movies", "tv", "books", "audiobooks"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GooglePlayProductSearchParams = Union[GooglePlayProductJsonSearchParams, GooglePlayProductHtmlSearchParams] + +GoogleRelatedQuestionsJsonSearchParams = TypedDict( + "GoogleRelatedQuestionsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_related_questions"]], + "json_restrictor": NotRequired[str], + "next_page_token": Required[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleRelatedQuestionsHtmlSearchParams = TypedDict( + "GoogleRelatedQuestionsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_related_questions"]], + "json_restrictor": NotRequired[str], + "next_page_token": Required[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleRelatedQuestionsSearchParams = Union[GoogleRelatedQuestionsJsonSearchParams, GoogleRelatedQuestionsHtmlSearchParams] + +GoogleReverseImageJsonSearchParams = TypedDict( + "GoogleReverseImageJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_reverse_image"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "image_url": Required[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": NotRequired[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleReverseImageHtmlSearchParams = TypedDict( + "GoogleReverseImageHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_reverse_image"]], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "image_url": Required[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": NotRequired[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleReverseImageSearchParams = Union[GoogleReverseImageJsonSearchParams, GoogleReverseImageHtmlSearchParams] + +GoogleScholarJsonSearchParams = TypedDict( + "GoogleScholarJsonSearchParams", + { + "api_key": NotRequired[str], + "as_rr": NotRequired[bool], + "as_sdt": NotRequired[str], + "as_vis": NotRequired[bool], + "as_yhi": NotRequired[Union[float, int]], + "as_ylo": NotRequired[Union[float, int]], + "async": NotRequired[bool], + "cites": NotRequired[str], + "cluster": NotRequired[str], + "engine": Required[Literal["google_scholar"]], + "filter": NotRequired[bool], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "lr": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "scisbd": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarHtmlSearchParams = TypedDict( + "GoogleScholarHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_rr": NotRequired[bool], + "as_sdt": NotRequired[str], + "as_vis": NotRequired[bool], + "as_yhi": NotRequired[Union[float, int]], + "as_ylo": NotRequired[Union[float, int]], + "async": NotRequired[bool], + "cites": NotRequired[str], + "cluster": NotRequired[str], + "engine": Required[Literal["google_scholar"]], + "filter": NotRequired[bool], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "lr": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "scisbd": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarSearchParams = Union[GoogleScholarJsonSearchParams, GoogleScholarHtmlSearchParams] + +GoogleScholarAuthorJsonSearchParams = TypedDict( + "GoogleScholarAuthorJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "author_id": Required[str], + "citation_id": NotRequired[str], + "engine": Required[Literal["google_scholar_author"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "sort": NotRequired[Literal["title", "pubdate"]], + "start": NotRequired[Union[float, int]], + "view_op": NotRequired[Literal["view_citation", "list_colleagues"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarAuthorHtmlSearchParams = TypedDict( + "GoogleScholarAuthorHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "author_id": Required[str], + "citation_id": NotRequired[str], + "engine": Required[Literal["google_scholar_author"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "sort": NotRequired[Literal["title", "pubdate"]], + "start": NotRequired[Union[float, int]], + "view_op": NotRequired[Literal["view_citation", "list_colleagues"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarAuthorSearchParams = Union[GoogleScholarAuthorJsonSearchParams, GoogleScholarAuthorHtmlSearchParams] + +GoogleScholarCaseLawJsonSearchParams = TypedDict( + "GoogleScholarCaseLawJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "case_id": Required[str], + "engine": Required[Literal["google_scholar_case_law"]], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarCaseLawHtmlSearchParams = TypedDict( + "GoogleScholarCaseLawHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "case_id": Required[str], + "engine": Required[Literal["google_scholar_case_law"]], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarCaseLawSearchParams = Union[GoogleScholarCaseLawJsonSearchParams, GoogleScholarCaseLawHtmlSearchParams] + +GoogleScholarCiteJsonSearchParams = TypedDict( + "GoogleScholarCiteJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_scholar_cite"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarCiteHtmlSearchParams = TypedDict( + "GoogleScholarCiteHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_scholar_cite"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleScholarCiteSearchParams = Union[GoogleScholarCiteJsonSearchParams, GoogleScholarCiteHtmlSearchParams] + +GoogleShoppingJsonSearchParams = TypedDict( + "GoogleShoppingJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_shopping"]], + "free_shipping": NotRequired[bool], + "gl": NotRequired[Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"]], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "on_sale": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "shoprs": NotRequired[str], + "small_business": NotRequired[bool], + "sort_by": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShoppingHtmlSearchParams = TypedDict( + "GoogleShoppingHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_shopping"]], + "free_shipping": NotRequired[bool], + "gl": NotRequired[Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"]], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "on_sale": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "shoprs": NotRequired[str], + "small_business": NotRequired[bool], + "sort_by": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShoppingSearchParams = Union[GoogleShoppingJsonSearchParams, GoogleShoppingHtmlSearchParams] + +GoogleShoppingFiltersJsonSearchParams = TypedDict( + "GoogleShoppingFiltersJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_shopping_filters"]], + "gl": NotRequired[Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"]], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "shoprs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShoppingFiltersHtmlSearchParams = TypedDict( + "GoogleShoppingFiltersHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_shopping_filters"]], + "gl": NotRequired[Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"]], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "shoprs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShoppingFiltersSearchParams = Union[GoogleShoppingFiltersJsonSearchParams, GoogleShoppingFiltersHtmlSearchParams] + +GoogleShoppingLightJsonSearchParams = TypedDict( + "GoogleShoppingLightJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_shopping_light"]], + "free_shipping": NotRequired[bool], + "gl": NotRequired[Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"]], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "on_sale": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "shoprs": NotRequired[str], + "small_business": NotRequired[bool], + "sort_by": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShoppingLightHtmlSearchParams = TypedDict( + "GoogleShoppingLightHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_shopping_light"]], + "free_shipping": NotRequired[bool], + "gl": NotRequired[Literal["ai", "ar", "aw", "au", "at", "be", "bm", "br", "io", "ca", "ky", "cl", "cx", "cc", "co", "cz", "dk", "fk", "fi", "fr", "gf", "pf", "tf", "de", "gr", "gp", "hm", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kr", "my", "mq", "yt", "mx", "ms", "nl", "nc", "nz", "nf", "no", "ph", "pl", "pt", "re", "ro", "ru", "pm", "sa", "sg", "sk", "za", "gs", "es", "se", "ch", "tw", "th", "tk", "tr", "tc", "ua", "ae", "uk", "gb", "us", "vn", "vg", "wf"]], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "on_sale": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "shoprs": NotRequired[str], + "small_business": NotRequired[bool], + "sort_by": NotRequired[Any], + "start": NotRequired[Union[float, int]], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShoppingLightSearchParams = Union[GoogleShoppingLightJsonSearchParams, GoogleShoppingLightHtmlSearchParams] + +GoogleShortVideosJsonSearchParams = TypedDict( + "GoogleShortVideosJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_short_videos"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShortVideosHtmlSearchParams = TypedDict( + "GoogleShortVideosHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_short_videos"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleShortVideosSearchParams = Union[GoogleShortVideosJsonSearchParams, GoogleShortVideosHtmlSearchParams] + +GoogleSportsJsonSearchParams = TypedDict( + "GoogleSportsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_sports"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "kgmid": Required[str], + "moa": NotRequired[str], + "mob": NotRequired[str], + "mpd": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "season_kgmid": NotRequired[str], + "sp": Required[Literal["ft", "bs", "bb", "cr", "af", "ih", "rg"]], + "tab": NotRequired[Literal["gm", "sn", "pl", "br", "st", "rn", "ov"]], + "type": Required[Literal["game", "league", "team"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleSportsHtmlSearchParams = TypedDict( + "GoogleSportsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_sports"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "kgmid": Required[str], + "moa": NotRequired[str], + "mob": NotRequired[str], + "mpd": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "season_kgmid": NotRequired[str], + "sp": Required[Literal["ft", "bs", "bb", "cr", "af", "ih", "rg"]], + "tab": NotRequired[Literal["gm", "sn", "pl", "br", "st", "rn", "ov"]], + "type": Required[Literal["game", "league", "team"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleSportsSearchParams = Union[GoogleSportsJsonSearchParams, GoogleSportsHtmlSearchParams] + +GoogleTravelExploreJsonSearchParams = TypedDict( + "GoogleTravelExploreJsonSearchParams", + { + "adults": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "arrival_area_id": NotRequired[str], + "arrival_id": NotRequired[str], + "async": NotRequired[bool], + "bags": NotRequired[Union[float, int]], + "children": NotRequired[Union[float, int]], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "departure_id": Required[str], + "engine": Required[Literal["google_travel_explore"]], + "exclude_airlines": NotRequired[str], + "gl": NotRequired[str], + "hl": NotRequired[str], + "include_airlines": NotRequired[str], + "infants_in_seat": NotRequired[Union[float, int]], + "infants_on_lap": NotRequired[Union[float, int]], + "interest": NotRequired[Any], + "json_restrictor": NotRequired[str], + "max_duration": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "month": NotRequired[str], + "no_cache": NotRequired[bool], + "outbound_date": NotRequired[str], + "output": NotRequired[Literal["json"]], + "return_date": NotRequired[str], + "stops": NotRequired[Any], + "travel_class": NotRequired[Any], + "travel_duration": NotRequired[Any], + "travel_mode": NotRequired[Any], + "type": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTravelExploreHtmlSearchParams = TypedDict( + "GoogleTravelExploreHtmlSearchParams", + { + "adults": NotRequired[Union[float, int]], + "api_key": NotRequired[str], + "arrival_area_id": NotRequired[str], + "arrival_id": NotRequired[str], + "async": NotRequired[bool], + "bags": NotRequired[Union[float, int]], + "children": NotRequired[Union[float, int]], + "currency": NotRequired[Literal["ALL", "DZD", "ARS", "AMD", "AWG", "AUD", "AZN", "BSD", "BHD", "BYN", "BMD", "BAM", "BRL", "GBP", "BGN", "XPF", "CAD", "CLP", "CNY", "COP", "CRC", "CUP", "CZK", "DKK", "DOP", "EGP", "EUR", "GEL", "HKD", "HUF", "ISK", "INR", "IDR", "IRR", "ILS", "JMD", "JPY", "JOD", "KZT", "KWD", "LBP", "MKD", "MYR", "MXN", "MDL", "MAD", "TWD", "NZD", "NOK", "OMR", "PKR", "PAB", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "SAR", "RSD", "SGD", "ZAR", "KRW", "SEK", "CHF", "THB", "TRY", "USD", "UAH", "AED", "VND"]], + "departure_id": Required[str], + "engine": Required[Literal["google_travel_explore"]], + "exclude_airlines": NotRequired[str], + "gl": NotRequired[str], + "hl": NotRequired[str], + "include_airlines": NotRequired[str], + "infants_in_seat": NotRequired[Union[float, int]], + "infants_on_lap": NotRequired[Union[float, int]], + "interest": NotRequired[Any], + "json_restrictor": NotRequired[str], + "max_duration": NotRequired[Union[float, int]], + "max_price": NotRequired[Union[float, int]], + "month": NotRequired[str], + "no_cache": NotRequired[bool], + "outbound_date": NotRequired[str], + "output": Required[Literal["html"]], + "return_date": NotRequired[str], + "stops": NotRequired[Any], + "travel_class": NotRequired[Any], + "travel_duration": NotRequired[Any], + "travel_mode": NotRequired[Any], + "type": NotRequired[Any], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTravelExploreSearchParams = Union[GoogleTravelExploreJsonSearchParams, GoogleTravelExploreHtmlSearchParams] + +GoogleTrendsJsonSearchParams = TypedDict( + "GoogleTrendsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cat": NotRequired[Any], + "csv": NotRequired[bool], + "data_type": NotRequired[Literal["TIMESERIES", "GEO_MAP", "GEO_MAP_0", "RELATED_TOPICS", "RELATED_QUERIES"]], + "date": NotRequired[str], + "engine": Required[Literal["google_trends"]], + "geo": NotRequired[Any], + "gprop": NotRequired[Literal["", "images", "news", "froogle", "youtube"]], + "hl": NotRequired[str], + "include_low_search_volume": NotRequired[bool], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "region": NotRequired[Literal["COUNTRY", "REGION", "DMA", "CITY"]], + "tz": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsHtmlSearchParams = TypedDict( + "GoogleTrendsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cat": NotRequired[Any], + "csv": NotRequired[bool], + "data_type": NotRequired[Literal["TIMESERIES", "GEO_MAP", "GEO_MAP_0", "RELATED_TOPICS", "RELATED_QUERIES"]], + "date": NotRequired[str], + "engine": Required[Literal["google_trends"]], + "geo": NotRequired[Any], + "gprop": NotRequired[Literal["", "images", "news", "froogle", "youtube"]], + "hl": NotRequired[str], + "include_low_search_volume": NotRequired[bool], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "region": NotRequired[Literal["COUNTRY", "REGION", "DMA", "CITY"]], + "tz": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsSearchParams = Union[GoogleTrendsJsonSearchParams, GoogleTrendsHtmlSearchParams] + +GoogleTrendsAutocompleteJsonSearchParams = TypedDict( + "GoogleTrendsAutocompleteJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_trends_autocomplete"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsAutocompleteHtmlSearchParams = TypedDict( + "GoogleTrendsAutocompleteHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_trends_autocomplete"]], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsAutocompleteSearchParams = Union[GoogleTrendsAutocompleteJsonSearchParams, GoogleTrendsAutocompleteHtmlSearchParams] + +GoogleTrendsNewsJsonSearchParams = TypedDict( + "GoogleTrendsNewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_trends_news"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsNewsHtmlSearchParams = TypedDict( + "GoogleTrendsNewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["google_trends_news"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page_token": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsNewsSearchParams = Union[GoogleTrendsNewsJsonSearchParams, GoogleTrendsNewsHtmlSearchParams] + +GoogleTrendsTrendingNowJsonSearchParams = TypedDict( + "GoogleTrendsTrendingNowJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cat": NotRequired[Literal["all", "b", "e", "m", "t", "s", "h"]], + "category_id": NotRequired[Any], + "date": NotRequired[str], + "engine": Required[Literal["google_trends_trending_now"]], + "frequency": Required[Literal["daily", "realtime"]], + "geo": Required[Any], + "hl": NotRequired[str], + "hours": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "only_active": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsTrendingNowHtmlSearchParams = TypedDict( + "GoogleTrendsTrendingNowHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cat": NotRequired[Literal["all", "b", "e", "m", "t", "s", "h"]], + "category_id": NotRequired[Any], + "date": NotRequired[str], + "engine": Required[Literal["google_trends_trending_now"]], + "frequency": Required[Literal["daily", "realtime"]], + "geo": Required[Any], + "hl": NotRequired[str], + "hours": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "only_active": NotRequired[bool], + "output": Required[Literal["html"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleTrendsTrendingNowSearchParams = Union[GoogleTrendsTrendingNowJsonSearchParams, GoogleTrendsTrendingNowHtmlSearchParams] + +GoogleVideosJsonSearchParams = TypedDict( + "GoogleVideosJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_videos"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleVideosHtmlSearchParams = TypedDict( + "GoogleVideosHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_videos"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleVideosSearchParams = Union[GoogleVideosJsonSearchParams, GoogleVideosHtmlSearchParams] + +GoogleVideosLightJsonSearchParams = TypedDict( + "GoogleVideosLightJsonSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_videos_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleVideosLightHtmlSearchParams = TypedDict( + "GoogleVideosLightHtmlSearchParams", + { + "api_key": NotRequired[str], + "as_dt": NotRequired[str], + "as_epq": NotRequired[str], + "as_eq": NotRequired[str], + "as_lq": NotRequired[str], + "as_nhi": NotRequired[str], + "as_nlo": NotRequired[str], + "as_oq": NotRequired[str], + "as_q": NotRequired[str], + "as_qdr": NotRequired[str], + "as_rq": NotRequired[str], + "as_sitesearch": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["google_videos_light"]], + "filter": NotRequired[bool], + "gl": NotRequired[str], + "google_domain": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "location": NotRequired[str], + "lr": NotRequired[str], + "nfpr": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "safe": NotRequired[Literal["active", "off"]], + "start": NotRequired[Union[float, int]], + "tbs": NotRequired[str], + "uule": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +GoogleVideosLightSearchParams = Union[GoogleVideosLightJsonSearchParams, GoogleVideosLightHtmlSearchParams] + +HomeDepotJsonSearchParams = TypedDict( + "HomeDepotJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[Literal["us", "ca"]], + "delivery_zip": NotRequired[str], + "engine": Required[Literal["home_depot"]], + "filter": NotRequired[str], + "hd_filter_tokens": NotRequired[str], + "hd_sort": NotRequired[Literal["top_sellers", "price_low_to_high", "price_high_to_low", "top_rated", "best_match"]], + "json_restrictor": NotRequired[str], + "lowerbound": NotRequired[Union[float, int]], + "minmax": NotRequired[str], + "nao": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "pagesize": NotRequired[str], + "ps": NotRequired[Union[float, int]], + "q": Required[str], + "sort": NotRequired[Literal["price-asc", "price-desc", "reviewAvgRating", "relevance"]], + "store": NotRequired[str], + "store_id": NotRequired[str], + "upperbound": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +HomeDepotHtmlSearchParams = TypedDict( + "HomeDepotHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "country": NotRequired[Literal["us", "ca"]], + "delivery_zip": NotRequired[str], + "engine": Required[Literal["home_depot"]], + "filter": NotRequired[str], + "hd_filter_tokens": NotRequired[str], + "hd_sort": NotRequired[Literal["top_sellers", "price_low_to_high", "price_high_to_low", "top_rated", "best_match"]], + "json_restrictor": NotRequired[str], + "lowerbound": NotRequired[Union[float, int]], + "minmax": NotRequired[str], + "nao": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "pagesize": NotRequired[str], + "ps": NotRequired[Union[float, int]], + "q": Required[str], + "sort": NotRequired[Literal["price-asc", "price-desc", "reviewAvgRating", "relevance"]], + "store": NotRequired[str], + "store_id": NotRequired[str], + "upperbound": NotRequired[Union[float, int]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +HomeDepotSearchParams = Union[HomeDepotJsonSearchParams, HomeDepotHtmlSearchParams] + +HomeDepotProductJsonSearchParams = TypedDict( + "HomeDepotProductJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "delivery_zip": NotRequired[str], + "engine": Required[Literal["home_depot_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "product_id": Required[str], + "store_id": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +HomeDepotProductHtmlSearchParams = TypedDict( + "HomeDepotProductHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "delivery_zip": NotRequired[str], + "engine": Required[Literal["home_depot_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "product_id": Required[str], + "store_id": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +HomeDepotProductSearchParams = Union[HomeDepotProductJsonSearchParams, HomeDepotProductHtmlSearchParams] + +HomeDepotProductReviewsJsonSearchParams = TypedDict( + "HomeDepotProductReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["home_depot_product_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "pagesize": NotRequired[str], + "product_id": Required[str], + "rating": NotRequired[str], + "sort_by": NotRequired[Literal["photoreview", "mosthelpfull", "oldest", "newest", "highestrating", "lowestrating"]], + "start": NotRequired[str], + "term": NotRequired[str], + "verified_purchases": NotRequired[bool], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +HomeDepotProductReviewsHtmlSearchParams = TypedDict( + "HomeDepotProductReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["home_depot_product_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "pagesize": NotRequired[str], + "product_id": Required[str], + "rating": NotRequired[str], + "sort_by": NotRequired[Literal["photoreview", "mosthelpfull", "oldest", "newest", "highestrating", "lowestrating"]], + "start": NotRequired[str], + "term": NotRequired[str], + "verified_purchases": NotRequired[bool], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +HomeDepotProductReviewsSearchParams = Union[HomeDepotProductReviewsJsonSearchParams, HomeDepotProductReviewsHtmlSearchParams] + +InstagramProfileJsonSearchParams = TypedDict( + "InstagramProfileJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["instagram_profile"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "profile_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +InstagramProfileHtmlSearchParams = TypedDict( + "InstagramProfileHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["instagram_profile"]], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "profile_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +InstagramProfileSearchParams = Union[InstagramProfileJsonSearchParams, InstagramProfileHtmlSearchParams] + +NaverJsonSearchParams = TypedDict( + "NaverJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["naver"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "page": NotRequired[str], + "period": NotRequired[str], + "query": Required[str], + "sort_by": NotRequired[Any], + "start": NotRequired[str], + "where": NotRequired[Literal["nexearch", "web", "news", "video", "image"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +NaverHtmlSearchParams = TypedDict( + "NaverHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["naver"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "page": NotRequired[str], + "period": NotRequired[str], + "query": Required[str], + "sort_by": NotRequired[Any], + "start": NotRequired[str], + "where": NotRequired[Literal["nexearch", "web", "news", "video", "image"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +NaverSearchParams = Union[NaverJsonSearchParams, NaverHtmlSearchParams] + +NaverAiOverviewJsonSearchParams = TypedDict( + "NaverAiOverviewJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["naver_ai_overview"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "query": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +NaverAiOverviewHtmlSearchParams = TypedDict( + "NaverAiOverviewHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["naver_ai_overview"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "query": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +NaverAiOverviewSearchParams = Union[NaverAiOverviewJsonSearchParams, NaverAiOverviewHtmlSearchParams] + +OpenTableReviewsJsonSearchParams = TypedDict( + "OpenTableReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["open_table_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "open_table_domain": NotRequired[Literal["opentable.com", "opentable.jp", "opentable.de", "opentable.es", "opentable.ca", "opentable.hk", "opentable.ie", "opentable.sg", "opentable.nl", "opentable.com.mx", "opentable.co.uk", "opentable.com.au", "opentable.ae", "opentable.co.th", "opentable.it", "opentable.com.tw", "opentable.fr"]], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "rid": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +OpenTableReviewsHtmlSearchParams = TypedDict( + "OpenTableReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["open_table_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "open_table_domain": NotRequired[Literal["opentable.com", "opentable.jp", "opentable.de", "opentable.es", "opentable.ca", "opentable.hk", "opentable.ie", "opentable.sg", "opentable.nl", "opentable.com.mx", "opentable.co.uk", "opentable.com.au", "opentable.ae", "opentable.co.th", "opentable.it", "opentable.com.tw", "opentable.fr"]], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "rid": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +OpenTableReviewsSearchParams = Union[OpenTableReviewsJsonSearchParams, OpenTableReviewsHtmlSearchParams] + +SearchIndexJsonSearchParams = TypedDict( + "SearchIndexJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["search_index"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +SearchIndexHtmlSearchParams = TypedDict( + "SearchIndexHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["search_index"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "q": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +SearchIndexSearchParams = Union[SearchIndexJsonSearchParams, SearchIndexHtmlSearchParams] + +TripadvisorJsonSearchParams = TypedDict( + "TripadvisorJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["tripadvisor"]], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "limit": NotRequired[Union[float, int]], + "lon": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "offset": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "q": Required[str], + "ssrc": NotRequired[Literal["a", "r", "A", "h", "g", "v", "f"]], + "tripadvisor_domain": NotRequired[Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +TripadvisorHtmlSearchParams = TypedDict( + "TripadvisorHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["tripadvisor"]], + "json_restrictor": NotRequired[str], + "lat": NotRequired[Union[float, int]], + "limit": NotRequired[Union[float, int]], + "lon": NotRequired[Union[float, int]], + "no_cache": NotRequired[bool], + "offset": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "q": Required[str], + "ssrc": NotRequired[Literal["a", "r", "A", "h", "g", "v", "f"]], + "tripadvisor_domain": NotRequired[Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +TripadvisorSearchParams = Union[TripadvisorJsonSearchParams, TripadvisorHtmlSearchParams] + +TripadvisorPlaceJsonSearchParams = TypedDict( + "TripadvisorPlaceJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["tripadvisor_place"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "place_id": Required[str], + "tripadvisor_domain": NotRequired[Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +TripadvisorPlaceHtmlSearchParams = TypedDict( + "TripadvisorPlaceHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["tripadvisor_place"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "place_id": Required[str], + "tripadvisor_domain": NotRequired[Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +TripadvisorPlaceSearchParams = Union[TripadvisorPlaceJsonSearchParams, TripadvisorPlaceHtmlSearchParams] + +TripadvisorReviewsJsonSearchParams = TypedDict( + "TripadvisorReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["tripadvisor_reviews"]], + "json_restrictor": NotRequired[str], + "language": NotRequired[Literal["ar", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ru", "sk", "sr", "sv", "th", "tr", "vi", "zh"]], + "limit": NotRequired[str], + "month": NotRequired[str], + "no_cache": NotRequired[bool], + "offset": NotRequired[str], + "original_language": NotRequired[str], + "output": NotRequired[Literal["json"]], + "place_id": Required[str], + "rating": NotRequired[str], + "sort_by": NotRequired[Literal["most_recent", "detailed_review"]], + "translate": NotRequired[bool], + "tripadvisor_domain": NotRequired[Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"]], + "type_of_visit": NotRequired[Literal["Business", "Couples", "Family", "Friends", "Solo"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +TripadvisorReviewsHtmlSearchParams = TypedDict( + "TripadvisorReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["tripadvisor_reviews"]], + "json_restrictor": NotRequired[str], + "language": NotRequired[Literal["ar", "cs", "da", "de", "el", "en", "es", "fi", "fr", "he", "hu", "id", "it", "ja", "ko", "nb", "nl", "pl", "pt", "ru", "sk", "sr", "sv", "th", "tr", "vi", "zh"]], + "limit": NotRequired[str], + "month": NotRequired[str], + "no_cache": NotRequired[bool], + "offset": NotRequired[str], + "original_language": NotRequired[str], + "output": Required[Literal["html"]], + "place_id": Required[str], + "rating": NotRequired[str], + "sort_by": NotRequired[Literal["most_recent", "detailed_review"]], + "translate": NotRequired[bool], + "tripadvisor_domain": NotRequired[Literal["www.tripadvisor.com", "ar.tripadvisor.com", "www.tripadvisor.com.ar", "www.tripadvisor.com.au", "www.tripadvisor.at", "www.tripadvisor.be", "fr.tripadvisor.be", "www.tripadvisor.com.br", "www.tripadvisor.ca", "fr.tripadvisor.ca", "www.tripadvisor.cl", "cn.tripadvisor.com", "www.tripadvisor.co", "www.tripadvisor.com.pe", "www.tripadvisor.dk", "www.tripadvisor.com.eg", "www.tripadvisor.fr", "www.tripadvisor.de", "www.tripadvisor.com.gr", "www.tripadvisor.com.hk", "en.tripadvisor.com.hk", "www.tripadvisor.in", "www.tripadvisor.co.id", "www.tripadvisor.ie", "www.tripadvisor.co.il", "www.tripadvisor.it", "www.tripadvisor.jp", "www.tripadvisor.co.kr", "www.tripadvisor.com.my", "www.tripadvisor.com.mx", "www.tripadvisor.nl", "www.tripadvisor.co.nz", "no.tripadvisor.com", "www.tripadvisor.com.ph", "www.tripadvisor.pt", "www.tripadvisor.ru", "www.tripadvisor.com.sg", "www.tripadvisor.co.za", "www.tripadvisor.es", "www.tripadvisor.se", "fr.tripadvisor.ch", "www.tripadvisor.ch", "it.tripadvisor.ch", "www.tripadvisor.com.tw", "th.tripadvisor.com", "www.tripadvisor.com.tr", "www.tripadvisor.co.uk", "www.tripadvisor.com.ve", "www.tripadvisor.com.vn"]], + "type_of_visit": NotRequired[Literal["Business", "Couples", "Family", "Friends", "Solo"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +TripadvisorReviewsSearchParams = Union[TripadvisorReviewsJsonSearchParams, TripadvisorReviewsHtmlSearchParams] + +WalmartJsonSearchParams = TypedDict( + "WalmartJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cat_id": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["walmart"]], + "facet": NotRequired[str], + "include_filters": NotRequired[bool], + "json_restrictor": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "nd_en": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "query": Required[str], + "soft_sort": NotRequired[bool], + "sort": NotRequired[Literal["price_low", "price_high", "best_seller", "best_match", "rating_high"]], + "spelling": NotRequired[bool], + "store_id": NotRequired[str], + "walmart_domain": NotRequired[Literal["walmart.com", "walmart.com.mx"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartHtmlSearchParams = TypedDict( + "WalmartHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "cat_id": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["walmart"]], + "facet": NotRequired[str], + "include_filters": NotRequired[bool], + "json_restrictor": NotRequired[str], + "max_price": NotRequired[Union[float, int]], + "min_price": NotRequired[Union[float, int]], + "nd_en": NotRequired[bool], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "query": Required[str], + "soft_sort": NotRequired[bool], + "sort": NotRequired[Literal["price_low", "price_high", "best_seller", "best_match", "rating_high"]], + "spelling": NotRequired[bool], + "store_id": NotRequired[str], + "walmart_domain": NotRequired[Literal["walmart.com", "walmart.com.mx"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartSearchParams = Union[WalmartJsonSearchParams, WalmartHtmlSearchParams] + +WalmartProductJsonSearchParams = TypedDict( + "WalmartProductJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["walmart_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "product_id": Required[str], + "store_id": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartProductHtmlSearchParams = TypedDict( + "WalmartProductHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["walmart_product"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "product_id": Required[str], + "store_id": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartProductSearchParams = Union[WalmartProductJsonSearchParams, WalmartProductHtmlSearchParams] + +WalmartProductReviewsJsonSearchParams = TypedDict( + "WalmartProductReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["walmart_product_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "page": NotRequired[Union[float, int]], + "product_id": Required[str], + "rating": NotRequired[Any], + "sort": NotRequired[Literal["relevancy", "helpful", "submission-desc", "submission-asc", "rating-desc", "rating-asc"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartProductReviewsHtmlSearchParams = TypedDict( + "WalmartProductReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["walmart_product_reviews"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "page": NotRequired[Union[float, int]], + "product_id": Required[str], + "rating": NotRequired[Any], + "sort": NotRequired[Literal["relevancy", "helpful", "submission-desc", "submission-asc", "rating-desc", "rating-asc"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartProductReviewsSearchParams = Union[WalmartProductReviewsJsonSearchParams, WalmartProductReviewsHtmlSearchParams] + +WalmartProductSellersJsonSearchParams = TypedDict( + "WalmartProductSellersJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["walmart_product_sellers"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "product_id": Required[str], + "store_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartProductSellersHtmlSearchParams = TypedDict( + "WalmartProductSellersHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["walmart_product_sellers"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "product_id": Required[str], + "store_id": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +WalmartProductSellersSearchParams = Union[WalmartProductSellersJsonSearchParams, WalmartProductSellersHtmlSearchParams] + +YahooJsonSearchParams = TypedDict( + "YahooJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "b": NotRequired[Union[float, int]], + "d": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["yahoo"]], + "fr2": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "p": Required[str], + "vc": NotRequired[str], + "vf": NotRequired[Literal["html", "pdf", "xls", "ppt", "doc", "txt"]], + "vl": NotRequired[Literal["lang_ar", "lang_bg", "lang_zh_chs", "lang_zh_cht", "lang_hr", "lang_cs", "lang_da", "lang_nl", "lang_en", "lang_et", "lang_fi", "lang_fr", "lang_de", "lang_el", "lang_he", "lang_hu", "lang_it", "lang_ja", "lang_ko", "lang_lv", "lang_lt", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_es", "lang_sv", "lang_th", "lang_tr"]], + "vm": NotRequired[Literal["r", "i", "p"]], + "vs": NotRequired[str], + "yahoo_domain": NotRequired[Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooHtmlSearchParams = TypedDict( + "YahooHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "b": NotRequired[Union[float, int]], + "d": NotRequired[str], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["yahoo"]], + "fr2": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "p": Required[str], + "vc": NotRequired[str], + "vf": NotRequired[Literal["html", "pdf", "xls", "ppt", "doc", "txt"]], + "vl": NotRequired[Literal["lang_ar", "lang_bg", "lang_zh_chs", "lang_zh_cht", "lang_hr", "lang_cs", "lang_da", "lang_nl", "lang_en", "lang_et", "lang_fi", "lang_fr", "lang_de", "lang_el", "lang_he", "lang_hu", "lang_it", "lang_ja", "lang_ko", "lang_lv", "lang_lt", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_es", "lang_sv", "lang_th", "lang_tr"]], + "vm": NotRequired[Literal["r", "i", "p"]], + "vs": NotRequired[str], + "yahoo_domain": NotRequired[Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooSearchParams = Union[YahooJsonSearchParams, YahooHtmlSearchParams] + +YahooImagesJsonSearchParams = TypedDict( + "YahooImagesJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "b": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["yahoo_images"]], + "imga": NotRequired[Literal["square", "wide", "tall"]], + "imgc": NotRequired[Literal["color", "bw", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "brown", "black", "gray", "white"]], + "imgf": NotRequired[Literal["face", "portrait", "nonportrait"]], + "imgl": NotRequired[Literal["cc", "pd", "fsu", "fsuc", "fmsu", "fmsuc"]], + "imgsz": NotRequired[Literal["small", "medium", "large", "wallpaper"]], + "imgt": NotRequired[Literal["day", "week", "month", "year"]], + "imgty": NotRequired[Literal["photo", "clipart", "linedrawing", "gif", "transparent"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "p": Required[str], + "yahoo_domain": NotRequired[Literal["espanol", "fr", "br", "ca", "de", "es", "in", "id", "it", "malaysia", "nl", "no", "at", "ph", "qc", "ch", "sg", "fi", "se", "uk", "vn", "ru", "hk", "tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooImagesHtmlSearchParams = TypedDict( + "YahooImagesHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "b": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "engine": Required[Literal["yahoo_images"]], + "imga": NotRequired[Literal["square", "wide", "tall"]], + "imgc": NotRequired[Literal["color", "bw", "red", "orange", "yellow", "green", "teal", "blue", "purple", "pink", "brown", "black", "gray", "white"]], + "imgf": NotRequired[Literal["face", "portrait", "nonportrait"]], + "imgl": NotRequired[Literal["cc", "pd", "fsu", "fsuc", "fmsu", "fmsuc"]], + "imgsz": NotRequired[Literal["small", "medium", "large", "wallpaper"]], + "imgt": NotRequired[Literal["day", "week", "month", "year"]], + "imgty": NotRequired[Literal["photo", "clipart", "linedrawing", "gif", "transparent"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "p": Required[str], + "yahoo_domain": NotRequired[Literal["espanol", "fr", "br", "ca", "de", "es", "in", "id", "it", "malaysia", "nl", "no", "at", "ph", "qc", "ch", "sg", "fi", "se", "uk", "vn", "ru", "hk", "tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooImagesSearchParams = Union[YahooImagesJsonSearchParams, YahooImagesHtmlSearchParams] + +YahooShoppingJsonSearchParams = TypedDict( + "YahooShoppingJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_attr_values": NotRequired[str], + "engine": Required[Literal["yahoo_shopping"]], + "json_restrictor": NotRequired[str], + "limit": NotRequired[str], + "max_price": NotRequired[str], + "merchants": NotRequired[str], + "min_price": NotRequired[str], + "no_cache": NotRequired[bool], + "order_by": NotRequired[Literal["ASC", "DESC"]], + "output": NotRequired[Literal["json"]], + "p": Required[str], + "page": NotRequired[str], + "sort_by": NotRequired[Literal["price", "relevancy", "popularity", "discountPercentage"]], + "start": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooShoppingHtmlSearchParams = TypedDict( + "YahooShoppingHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "category_attr_values": NotRequired[str], + "engine": Required[Literal["yahoo_shopping"]], + "json_restrictor": NotRequired[str], + "limit": NotRequired[str], + "max_price": NotRequired[str], + "merchants": NotRequired[str], + "min_price": NotRequired[str], + "no_cache": NotRequired[bool], + "order_by": NotRequired[Literal["ASC", "DESC"]], + "output": Required[Literal["html"]], + "p": Required[str], + "page": NotRequired[str], + "sort_by": NotRequired[Literal["price", "relevancy", "popularity", "discountPercentage"]], + "start": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooShoppingSearchParams = Union[YahooShoppingJsonSearchParams, YahooShoppingHtmlSearchParams] + +YahooVideosJsonSearchParams = TypedDict( + "YahooVideosJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "b": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "durs": NotRequired[Literal["short", "medium", "long"]], + "engine": Required[Literal["yahoo_videos"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "p": Required[str], + "vage": NotRequired[Literal["day", "week", "month", "year"]], + "vres": NotRequired[Literal["360p", "480p", "720p", "1080p"]], + "vsite": NotRequired[Literal["youtube", "dailymotion", "vimeo", "mtv", "cbsnews", "foxnews", "cnn", "msn"]], + "yahoo_domain": NotRequired[Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooVideosHtmlSearchParams = TypedDict( + "YahooVideosHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "b": NotRequired[Union[float, int]], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "durs": NotRequired[Literal["short", "medium", "long"]], + "engine": Required[Literal["yahoo_videos"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "p": Required[str], + "vage": NotRequired[Literal["day", "week", "month", "year"]], + "vres": NotRequired[Literal["360p", "480p", "720p", "1080p"]], + "vsite": NotRequired[Literal["youtube", "dailymotion", "vimeo", "mtv", "cbsnews", "foxnews", "cnn", "msn"]], + "yahoo_domain": NotRequired[Literal["espanol", "be", "fr", "br", "ca", "de", "es", "in", "id", "ie", "it", "malaysia", "nl", "no", "at", "ph", "pl", "qc", "ro", "ch", "sg", "za", "fi", "se", "tr", "uk", "vn", "gr", "ru", "ua", "il", "hk", "tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YahooVideosSearchParams = Union[YahooVideosJsonSearchParams, YahooVideosHtmlSearchParams] + +YandexJsonSearchParams = TypedDict( + "YandexJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["yandex"]], + "family_mode": NotRequired[Any], + "fix_typo": NotRequired[Literal["false", "true"]], + "groups_on_page": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "lang": NotRequired[Literal["ru", "en", "be", "kk", "tr", "uk"]], + "lr": NotRequired[Any], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "p": NotRequired[Union[float, int]], + "period": NotRequired[Literal["all", "day", "last_two_weeks", "month"]], + "sort_mode": NotRequired[Literal["relevance", "time"]], + "text": Required[str], + "yandex_domain": NotRequired[Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YandexHtmlSearchParams = TypedDict( + "YandexHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["yandex"]], + "family_mode": NotRequired[Any], + "fix_typo": NotRequired[Literal["false", "true"]], + "groups_on_page": NotRequired[Union[float, int]], + "json_restrictor": NotRequired[str], + "lang": NotRequired[Literal["ru", "en", "be", "kk", "tr", "uk"]], + "lr": NotRequired[Any], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "p": NotRequired[Union[float, int]], + "period": NotRequired[Literal["all", "day", "last_two_weeks", "month"]], + "sort_mode": NotRequired[Literal["relevance", "time"]], + "text": Required[str], + "yandex_domain": NotRequired[Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YandexSearchParams = Union[YandexJsonSearchParams, YandexHtmlSearchParams] + +YandexImagesJsonSearchParams = TypedDict( + "YandexImagesJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "color": NotRequired[Literal["color", "gray", "red", "orange", "yellow", "cyan", "green", "blue", "violet", "white", "black"]], + "crop": NotRequired[str], + "crop_id": NotRequired[Union[float, int]], + "engine": Required[Literal["yandex_images"]], + "family_mode": NotRequired[Any], + "file_type": NotRequired[Literal["jpg", "png", "gifan"]], + "height": NotRequired[Union[float, int]], + "image_type": NotRequired[Literal["photo", "clipart", "lineart", "face", "demotivator"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "orientation": NotRequired[Literal["horizontal", "vertical", "square"]], + "output": NotRequired[Literal["json"]], + "p": NotRequired[Union[float, int]], + "recent": NotRequired[bool], + "site": NotRequired[str], + "tab": NotRequired[Literal["about", "similar"]], + "text": Required[str], + "url": NotRequired[str], + "width": NotRequired[Union[float, int]], + "yandex_domain": NotRequired[Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YandexImagesHtmlSearchParams = TypedDict( + "YandexImagesHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "color": NotRequired[Literal["color", "gray", "red", "orange", "yellow", "cyan", "green", "blue", "violet", "white", "black"]], + "crop": NotRequired[str], + "crop_id": NotRequired[Union[float, int]], + "engine": Required[Literal["yandex_images"]], + "family_mode": NotRequired[Any], + "file_type": NotRequired[Literal["jpg", "png", "gifan"]], + "height": NotRequired[Union[float, int]], + "image_type": NotRequired[Literal["photo", "clipart", "lineart", "face", "demotivator"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "orientation": NotRequired[Literal["horizontal", "vertical", "square"]], + "output": Required[Literal["html"]], + "p": NotRequired[Union[float, int]], + "recent": NotRequired[bool], + "site": NotRequired[str], + "tab": NotRequired[Literal["about", "similar"]], + "text": Required[str], + "url": NotRequired[str], + "width": NotRequired[Union[float, int]], + "yandex_domain": NotRequired[Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YandexImagesSearchParams = Union[YandexImagesJsonSearchParams, YandexImagesHtmlSearchParams] + +YandexVideosJsonSearchParams = TypedDict( + "YandexVideosJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "duration": NotRequired[Literal["short", "medium", "long"]], + "engine": Required[Literal["yandex_videos"]], + "hd": NotRequired[bool], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "p": NotRequired[Union[float, int]], + "text": Required[str], + "within": NotRequired[Any], + "yandex_domain": NotRequired[Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YandexVideosHtmlSearchParams = TypedDict( + "YandexVideosHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "device": NotRequired[Literal["desktop", "tablet", "mobile"]], + "duration": NotRequired[Literal["short", "medium", "long"]], + "engine": Required[Literal["yandex_videos"]], + "hd": NotRequired[bool], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "p": NotRequired[Union[float, int]], + "text": Required[str], + "within": NotRequired[Any], + "yandex_domain": NotRequired[Literal["yandex.com", "yandex.ru", "yandex.by", "yandex.kz", "yandex.uz", "yandex.com.tr"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YandexVideosSearchParams = Union[YandexVideosJsonSearchParams, YandexVideosHtmlSearchParams] + +YelpJsonSearchParams = TypedDict( + "YelpJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "attrs": NotRequired[str], + "cflt": NotRequired[str], + "engine": Required[Literal["yelp"]], + "find_desc": NotRequired[str], + "find_loc": Required[str], + "json_restrictor": NotRequired[str], + "l": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "sortby": NotRequired[Literal["recommended", "rating", "review_count"]], + "start": NotRequired[Union[float, int]], + "yelp_domain": NotRequired[Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YelpHtmlSearchParams = TypedDict( + "YelpHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "attrs": NotRequired[str], + "cflt": NotRequired[str], + "engine": Required[Literal["yelp"]], + "find_desc": NotRequired[str], + "find_loc": Required[str], + "json_restrictor": NotRequired[str], + "l": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "sortby": NotRequired[Literal["recommended", "rating", "review_count"]], + "start": NotRequired[Union[float, int]], + "yelp_domain": NotRequired[Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YelpSearchParams = Union[YelpJsonSearchParams, YelpHtmlSearchParams] + +YelpPlaceJsonSearchParams = TypedDict( + "YelpPlaceJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "business_alert": NotRequired[bool], + "engine": Required[Literal["yelp_place"]], + "full_menu": NotRequired[bool], + "json_restrictor": NotRequired[str], + "menu_name": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "place_id": Required[str], + "yelp_domain": NotRequired[Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YelpPlaceHtmlSearchParams = TypedDict( + "YelpPlaceHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "business_alert": NotRequired[bool], + "engine": Required[Literal["yelp_place"]], + "full_menu": NotRequired[bool], + "json_restrictor": NotRequired[str], + "menu_name": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "place_id": Required[str], + "yelp_domain": NotRequired[Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YelpPlaceSearchParams = Union[YelpPlaceJsonSearchParams, YelpPlaceHtmlSearchParams] + +YelpReviewsJsonSearchParams = TypedDict( + "YelpReviewsJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["yelp_reviews"]], + "hl": NotRequired[Literal["ms", "cs", "da", "de", "en", "es", "fil", "fr", "it", "nl", "nb", "pl", "pt", "fi", "sv", "tr", "ja", "zh"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "not_recommended": NotRequired[bool], + "not_recommended_start": NotRequired[Union[float, int]], + "num": NotRequired[Union[float, int]], + "output": NotRequired[Literal["json"]], + "place_id": Required[str], + "q": NotRequired[str], + "rating": NotRequired[str], + "sortby": NotRequired[Literal["relevance_desc", "date_desc", "date_asc", "rating_desc", "rating_asc", "elites_desc"]], + "start": NotRequired[Union[float, int]], + "yelp_domain": NotRequired[Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YelpReviewsHtmlSearchParams = TypedDict( + "YelpReviewsHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["yelp_reviews"]], + "hl": NotRequired[Literal["ms", "cs", "da", "de", "en", "es", "fil", "fr", "it", "nl", "nb", "pl", "pt", "fi", "sv", "tr", "ja", "zh"]], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "not_recommended": NotRequired[bool], + "not_recommended_start": NotRequired[Union[float, int]], + "num": NotRequired[Union[float, int]], + "output": Required[Literal["html"]], + "place_id": Required[str], + "q": NotRequired[str], + "rating": NotRequired[str], + "sortby": NotRequired[Literal["relevance_desc", "date_desc", "date_asc", "rating_desc", "rating_asc", "elites_desc"]], + "start": NotRequired[Union[float, int]], + "yelp_domain": NotRequired[Literal["ms.yelp.my", "www.yelp.cz", "www.yelp.dk", "www.yelp.de", "www.yelp.at", "de.yelp.ch", "www.yelp.com.au", "en.yelp.be", "www.yelp.ca", "en.yelp.com.hk", "en.yelp.my", "www.yelp.co.nz", "en.yelp.com.ph", "www.yelp.ie", "www.yelp.com.sg", "en.yelp.ch", "www.yelp.co.uk", "www.yelp.com", "www.yelp.com.ar", "www.yelp.cl", "www.yelp.es", "www.yelp.com.mx", "fil.yelp.com.ph", "fr.yelp.be", "fr.yelp.ca", "www.yelp.fr", "fr.yelp.ch", "www.yelp.it", "it.yelp.ch", "nl.yelp.be", "www.yelp.nl", "www.yelp.no", "www.yelp.pl", "www.yelp.com.br", "www.yelp.pt", "fi.yelp.fi", "sv.yelp.fi", "www.yelp.com.tr", "www.yelp.co.jp", "zh.yelp.com.hk", "www.yelp.com.tw"]], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YelpReviewsSearchParams = Union[YelpReviewsJsonSearchParams, YelpReviewsHtmlSearchParams] + +YoutubeJsonSearchParams = TypedDict( + "YoutubeJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["youtube"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "search_query": Required[str], + "sp": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YoutubeHtmlSearchParams = TypedDict( + "YoutubeHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["youtube"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "search_query": Required[str], + "sp": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YoutubeSearchParams = Union[YoutubeJsonSearchParams, YoutubeHtmlSearchParams] + +YoutubeVideoJsonSearchParams = TypedDict( + "YoutubeVideoJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["youtube_video"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "v": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YoutubeVideoHtmlSearchParams = TypedDict( + "YoutubeVideoHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["youtube_video"]], + "gl": NotRequired[str], + "hl": NotRequired[str], + "json_restrictor": NotRequired[str], + "next_page_token": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "v": NotRequired[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YoutubeVideoSearchParams = Union[YoutubeVideoJsonSearchParams, YoutubeVideoHtmlSearchParams] + +YoutubeVideoTranscriptJsonSearchParams = TypedDict( + "YoutubeVideoTranscriptJsonSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["youtube_video_transcript"]], + "json_restrictor": NotRequired[str], + "language_code": NotRequired[str], + "no_cache": NotRequired[bool], + "output": NotRequired[Literal["json"]], + "title": NotRequired[str], + "type": NotRequired[Literal["asr"]], + "v": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YoutubeVideoTranscriptHtmlSearchParams = TypedDict( + "YoutubeVideoTranscriptHtmlSearchParams", + { + "api_key": NotRequired[str], + "async": NotRequired[bool], + "engine": Required[Literal["youtube_video_transcript"]], + "json_restrictor": NotRequired[str], + "language_code": NotRequired[str], + "no_cache": NotRequired[bool], + "output": Required[Literal["html"]], + "title": NotRequired[str], + "type": NotRequired[Literal["asr"]], + "v": Required[str], + "zero_trace": NotRequired[bool], + }, + total=False, +) + +YoutubeVideoTranscriptSearchParams = Union[YoutubeVideoTranscriptJsonSearchParams, YoutubeVideoTranscriptHtmlSearchParams] + +SearchParams = Union[AmazonSearchParams, AmazonProductSearchParams, AppleAppStoreSearchParams, AppleMapsSearchParams, AppleMapsPlacesSearchParams, AppleProductSearchParams, AppleReviewsSearchParams, BaiduSearchParams, BaiduNewsSearchParams, BingSearchParams, BingCopilotSearchParams, BingImagesSearchParams, BingMapsSearchParams, BingNewsSearchParams, BingProductSearchParams, BingReverseImageSearchParams, BingShoppingSearchParams, BingVideosSearchParams, BraveAiModeSearchParams, DuckduckgoSearchParams, DuckduckgoLightSearchParams, DuckduckgoMapsSearchParams, DuckduckgoNewsSearchParams, EbaySearchParams, EbayProductSearchParams, FacebookProfileSearchParams, GoogleSearchParams, GoogleAboutThisResultSearchParams, GoogleAdsSearchParams, GoogleAdsTransparencyCenterSearchParams, GoogleAdsTransparencyCenterAdDetailsSearchParams, GoogleAiModeSearchParams, GoogleAiOverviewSearchParams, GoogleAutocompleteSearchParams, GoogleEventsSearchParams, GoogleFinanceSearchParams, GoogleFinanceMarketsSearchParams, GoogleFlightsSearchParams, GoogleFlightsAutocompleteSearchParams, GoogleFlightsDealsSearchParams, GoogleForumsSearchParams, GoogleHotelsSearchParams, GoogleHotelsAutocompleteSearchParams, GoogleHotelsPhotosSearchParams, GoogleHotelsReviewsSearchParams, GoogleImagesSearchParams, GoogleImagesLightSearchParams, GoogleImagesRelatedContentSearchParams, GoogleImmersiveProductSearchParams, GoogleJobsSearchParams, GoogleJobsListingSearchParams, GoogleLensSearchParams, GoogleLightSearchParams, GoogleLocalSearchParams, GoogleLocalServicesSearchParams, GoogleMapsSearchParams, GoogleMapsAutocompleteSearchParams, GoogleMapsContributorReviewsSearchParams, GoogleMapsDirectionsSearchParams, GoogleMapsPhotoMetaSearchParams, GoogleMapsPhotosSearchParams, GoogleMapsPostsSearchParams, GoogleMapsReviewsSearchParams, GoogleNewsSearchParams, GoogleNewsLightSearchParams, GooglePatentsSearchParams, GooglePatentsDetailsSearchParams, GooglePlaySearchParams, GooglePlayBooksSearchParams, GooglePlayGamesSearchParams, GooglePlayMoviesSearchParams, GooglePlayProductSearchParams, GoogleRelatedQuestionsSearchParams, GoogleReverseImageSearchParams, GoogleScholarSearchParams, GoogleScholarAuthorSearchParams, GoogleScholarCaseLawSearchParams, GoogleScholarCiteSearchParams, GoogleShoppingSearchParams, GoogleShoppingFiltersSearchParams, GoogleShoppingLightSearchParams, GoogleShortVideosSearchParams, GoogleSportsSearchParams, GoogleTravelExploreSearchParams, GoogleTrendsSearchParams, GoogleTrendsAutocompleteSearchParams, GoogleTrendsNewsSearchParams, GoogleTrendsTrendingNowSearchParams, GoogleVideosSearchParams, GoogleVideosLightSearchParams, HomeDepotSearchParams, HomeDepotProductSearchParams, HomeDepotProductReviewsSearchParams, InstagramProfileSearchParams, NaverSearchParams, NaverAiOverviewSearchParams, OpenTableReviewsSearchParams, SearchIndexSearchParams, TripadvisorSearchParams, TripadvisorPlaceSearchParams, TripadvisorReviewsSearchParams, WalmartSearchParams, WalmartProductSearchParams, WalmartProductReviewsSearchParams, WalmartProductSellersSearchParams, YahooSearchParams, YahooImagesSearchParams, YahooShoppingSearchParams, YahooVideosSearchParams, YandexSearchParams, YandexImagesSearchParams, YandexVideosSearchParams, YelpSearchParams, YelpPlaceSearchParams, YelpReviewsSearchParams, YoutubeSearchParams, YoutubeVideoSearchParams, YoutubeVideoTranscriptSearchParams] diff --git a/serpapi/py.typed b/serpapi/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_build_typing.py b/tests/test_build_typing.py new file mode 100644 index 0000000..b14d737 --- /dev/null +++ b/tests/test_build_typing.py @@ -0,0 +1,106 @@ +import importlib.util +import os +import sys +from pathlib import Path + +import pytest + + +def load_build_typing_module(): + module_path = Path(__file__).resolve().parents[1] / "typing" / "generate_type_stubs.py" + spec = importlib.util.spec_from_file_location("generate_type_stubs", module_path) + assert spec is not None + assert spec.loader is not None + module = importlib.util.module_from_spec(spec) + sys.modules[spec.name] = module + spec.loader.exec_module(module) + return module + + +def test_write_if_changed_validates_stub_content_before_replacing_existing_file(tmp_path): + build_typing = load_build_typing_module() + target = tmp_path / "serpapi" / "generated.pyi" + original = "value: int\n" + target.parent.mkdir() + target.write_text(original, encoding="utf-8") + + with pytest.raises(SyntaxError): + build_typing.write_if_changed(target, "def broken(: ...\n") + + assert target.read_text(encoding="utf-8") == original + + +def test_write_if_changed_skips_unchanged_content(tmp_path): + build_typing = load_build_typing_module() + target = tmp_path / "serpapi" / "generated.pyi" + content = "value: int\n" + target.parent.mkdir() + target.write_text(content, encoding="utf-8") + os.utime(target, (1_700_000_000, 1_700_000_000)) + original_mtime = target.stat().st_mtime_ns + + changed = build_typing.write_if_changed(target, content) + + assert changed is False + assert target.read_text(encoding="utf-8") == content + assert target.stat().st_mtime_ns == original_mtime + + +def test_generator_defaults_to_typing_engine_metadata(): + build_typing = load_build_typing_module() + repo_root = Path(__file__).resolve().parents[1] + + assert build_typing.ENGINE_DIR == repo_root / "typing" / "engines" + assert build_typing.OUTPUT_DIR == repo_root / "serpapi" + + +def test_generated_header_points_to_typing_sources(): + build_typing = load_build_typing_module() + + header = build_typing.generated_header() + + assert "typing/generate_type_stubs.py" in header + assert "typing/engines/*.json" in header + + +def test_engine_params_stub_splits_json_and_html_search_params(): + build_typing = load_build_typing_module() + engine = build_typing.Engine( + name="example", + class_name="ExampleSearchParams", + params=( + build_typing.Param("engine", 'Literal["example"]', True, True), + build_typing.Param("output", 'Literal["json", "html"]', False, True), + build_typing.Param("q", "str", True, True), + ), + ) + + stub = build_typing.build_engine_params_stub([engine]) + + assert "ExampleJsonSearchParams = TypedDict(" in stub + assert ' "output": NotRequired[Literal["json"]],' in stub + assert "ExampleHtmlSearchParams = TypedDict(" in stub + assert ' "output": Required[Literal["html"]],' in stub + assert "ExampleSearchParams = Union[ExampleJsonSearchParams, ExampleHtmlSearchParams]" in stub + + +def test_dict_search_overloads_narrow_return_type_by_output(): + build_typing = load_build_typing_module() + engine = build_typing.Engine( + name="example", + class_name="ExampleSearchParams", + params=( + build_typing.Param("engine", 'Literal["example"]', True, True), + build_typing.Param("output", 'Literal["json", "html"]', False, True), + build_typing.Param("q", "str", True, True), + ), + ) + + stub = build_typing.build_core_stub([engine]) + + assert "params: ExampleHtmlSearchParams" in stub + assert "params: ExampleJsonSearchParams" in stub + assert "params: Mapping[str, Any]" in stub + assert ") -> str: ..." in stub + assert ") -> SerpResults: ..." in stub + assert ") -> Union[SerpResults, str]: ..." in stub diff --git a/typing/build-engines.py b/typing/build-engines.py new file mode 100644 index 0000000..bd04cc7 --- /dev/null +++ b/typing/build-engines.py @@ -0,0 +1,124 @@ +#!/usr/bin/env python3 +"""Build SerpApi engine parameter data for MCP usage.""" + +from __future__ import annotations + +import html +import json +from pathlib import Path +from urllib.request import Request, urlopen + +from bs4 import BeautifulSoup +from markdownify import markdownify + +PLAYGROUND_URL = "https://serpapi.com/playground" +EXCLUDED_ENGINES = { + "google_scholar_profiles", + "google_light_fast", + "google_lens_image_sources", +} +PARAM_KEEP_KEYS = {"html", "type", "options", "required"} +OUTPUT_DIR = Path(__file__).resolve().parent / "engines" +TIMEOUT_SECONDS = 30 +USER_AGENT = "Mozilla/5.0" + + +def html_to_markdown(value: str) -> str: + """Convert HTML to markdown, normalizing whitespace.""" + md = markdownify(html.unescape(value), strip=["a"]) + return " ".join(md.split()) + + +def normalize_options(options: list[object]) -> list[object]: + """Normalize option values, simplifying [value, label] pairs where possible.""" + normalized = [] + for option in options: + if isinstance(option, list) and option: + value = option[0] + label = option[1] if len(option) > 1 else None + if ( + label is not None + and ( + isinstance(value, (int, float)) + or (isinstance(value, str) and value.isdigit()) + ) + and value != label + ): + normalized.append(option) + else: + normalized.append(value) + else: + normalized.append(option) + return normalized + + +def fetch_props(url: str) -> dict[str, object]: + """Fetch playground HTML and extract React props.""" + req = Request(url, headers={"User-Agent": USER_AGENT}) + with urlopen(req, timeout=TIMEOUT_SECONDS) as resp: + page_html = resp.read().decode("utf-8", errors="ignore") + soup = BeautifulSoup(page_html, "html.parser") + node = soup.find(attrs={"data-react-props": True}) + if not node: + raise RuntimeError("Failed to locate data-react-props in playground HTML.") + return json.loads(html.unescape(node["data-react-props"])) + + +def normalize_engine(engine: str, payload: dict[str, object]) -> dict[str, object]: + """Normalize engine payload, extracting relevant parameter metadata.""" + normalized_params: dict[str, dict[str, object]] = {} + common_params: dict[str, dict[str, object]] = {} + if isinstance(payload, dict): + for group_name, group in payload.items(): + if not isinstance(group, dict): + continue + if not isinstance(params := group.get("parameters"), dict): + continue + for param_name, param in params.items(): + if not isinstance(param, dict): + continue + filtered = {k: v for k, v in param.items() if k in PARAM_KEEP_KEYS} + if isinstance(options := filtered.get("options"), list): + filtered["options"] = normalize_options(options) + if isinstance(html_value := filtered.pop("html", None), str): + filtered["description"] = html_to_markdown(html_value) + if filtered: + filtered["group"] = group_name + if group_name == "serpapi_parameters": + common_params[param_name] = filtered + else: + normalized_params[param_name] = filtered + + return { + "engine": engine, + "params": normalized_params, + "common_params": common_params, + } + + +def main() -> int: + """Main entry point: fetch playground data and generate engine files.""" + props = fetch_props(PLAYGROUND_URL) + if not isinstance(params := props.get("parameters"), dict): + raise RuntimeError("Playground props missing 'parameters' map.") + + OUTPUT_DIR.mkdir(parents=True, exist_ok=True) + engines = [] + + for engine, payload in sorted(params.items()): + if not isinstance(engine, str) or engine in EXCLUDED_ENGINES: + continue + if not isinstance(payload, dict): + continue + (OUTPUT_DIR / f"{engine}.json").write_text( + json.dumps(normalize_engine(engine, payload), indent=2, ensure_ascii=False), + encoding="utf-8", + ) + engines.append(engine) + + print(f"Wrote {len(engines)} engine files to {OUTPUT_DIR}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/typing/generate_type_stubs.py b/typing/generate_type_stubs.py new file mode 100644 index 0000000..9110335 --- /dev/null +++ b/typing/generate_type_stubs.py @@ -0,0 +1,521 @@ +#!/usr/bin/env python3 +"""Build static typing stubs from SerpApi engine parameter metadata.""" + +from __future__ import annotations + +import argparse +import ast +import filecmp +import json +import keyword +import re +import sys +import tempfile +from dataclasses import dataclass +from pathlib import Path +from typing import Any, Iterable + +SCRIPT_DIR = Path(__file__).resolve().parent +REPO_ROOT = SCRIPT_DIR.parent +ENGINE_DIR = SCRIPT_DIR / "engines" +OUTPUT_DIR = REPO_ROOT / "serpapi" +GENERATED_FILES = ("__init__.pyi", "core.pyi", "engine_params.pyi", "py.typed") +MAX_LITERAL_OPTIONS = 80 +REQUEST_KWARGS = ("timeout", "proxies", "verify", "stream", "cert") +CLIENT_OPTIONAL_COMMON_PARAMS = {"api_key"} +DIRECT_SEARCH_SPECIAL_PARAMS = {"engine", "output"} +BOOLEAN_PARAM_NAMES = {"async", "include_filters", "no_cache", "zero_trace"} + + +@dataclass(frozen=True) +class Param: + name: str + typ: str + required: bool + direct_keyword: bool + + +@dataclass(frozen=True) +class Engine: + name: str + class_name: str + params: tuple[Param, ...] + + +def to_class_name(engine: str) -> str: + parts = re.split(r"[^0-9A-Za-z]+", engine) + return "".join(part[:1].upper() + part[1:] for part in parts if part) + "SearchParams" + + +def is_direct_keyword(name: str) -> bool: + return name.isidentifier() and not keyword.iskeyword(name) + + +def unique_values(values: Iterable[Any]) -> list[Any]: + seen = set() + unique = [] + for value in values: + key = (type(value).__name__, repr(value)) + if key in seen: + continue + seen.add(key) + unique.append(value) + return unique + + +def literal_type(values: list[Any]) -> str | None: + values = unique_values(values) + if not values or len(values) > MAX_LITERAL_OPTIONS: + return None + if not all(isinstance(value, (str, int, bool)) for value in values): + return None + return "Literal[" + ", ".join(type_literal_value(value) for value in values) + "]" + + +def type_literal_value(value: Any) -> str: + if isinstance(value, str): + return json.dumps(value) + return repr(value) + + +def fallback_option_type(values: list[Any]) -> str: + values = unique_values(values) + if values and all(isinstance(value, str) for value in values): + return "str" + if values and all(isinstance(value, bool) for value in values): + return "bool" + if values and all(isinstance(value, (int, float)) for value in values): + return "Union[float, int]" + return "Any" + + +def param_type(name: str, metadata: dict[str, Any], engine: str) -> str: + param_kind = metadata.get("type") + options = metadata.get("options") + + if name == "engine": + return f'Literal["{engine}"]' + if name == "api_key": + return "str" + if name == "output": + return 'Literal["json", "html"]' + if name in BOOLEAN_PARAM_NAMES or param_kind == "checkbox": + return "bool" + if param_kind == "number": + return "Union[float, int]" + if isinstance(options, list): + return literal_type(options) or fallback_option_type(options) + if param_kind in {"device", "dropdown", "select"}: + return "str" + if param_kind == "location": + return "str" + return "str" + + +def load_engine_definitions(engine_dir: Path = ENGINE_DIR) -> list[Engine]: + if not engine_dir.exists(): + raise FileNotFoundError(f"Engine metadata directory does not exist: {engine_dir}") + + engines = [] + for path in sorted(engine_dir.glob("*.json")): + payload = json.loads(path.read_text(encoding="utf-8")) + engine = payload.get("engine") + if not isinstance(engine, str) or not engine: + raise ValueError(f"{path} is missing a string 'engine' value") + + merged_params: dict[str, dict[str, Any]] = {} + for section in ("common_params", "params"): + params = payload.get(section, {}) + if not isinstance(params, dict): + raise ValueError(f"{path} has invalid '{section}' metadata") + for name, metadata in params.items(): + if not isinstance(name, str) or not name: + raise ValueError(f"{path} contains an invalid parameter name") + if not isinstance(metadata, dict): + raise ValueError(f"{path} parameter {name!r} metadata is not an object") + merged_params[name] = metadata + + params = [] + for name in sorted(merged_params): + metadata = merged_params[name] + required = bool(metadata.get("required")) and name not in CLIENT_OPTIONAL_COMMON_PARAMS + params.append( + Param( + name=name, + typ=param_type(name, metadata, engine), + required=required, + direct_keyword=is_direct_keyword(name), + ) + ) + + if not any(param.name == "engine" for param in params): + params.append( + Param( + name="engine", + typ=f'Literal["{engine}"]', + required=True, + direct_keyword=True, + ) + ) + + engines.append(Engine(name=engine, class_name=to_class_name(engine), params=tuple(params))) + + if not engines: + raise ValueError(f"No engine metadata files found in {engine_dir}") + return engines + + +def generated_header() -> str: + return ( + "# This file is generated by typing/generate_type_stubs.py.\n" + "# Do not edit by hand; update typing/engines/*.json and rerun the generator.\n\n" + ) + + +def output_param(typ: str, *, required: bool) -> Param: + return Param("output", typ, required, True) + + +def search_params_variant_names(engine: Engine) -> tuple[str, str]: + suffix = "SearchParams" + prefix = engine.class_name[: -len(suffix)] if engine.class_name.endswith(suffix) else engine.class_name + return f"{prefix}JsonSearchParams", f"{prefix}HtmlSearchParams" + + +def format_typed_dict(engine: Engine, *, class_name: str, output: Param | None = None) -> list[str]: + lines = [ + f"{class_name} = TypedDict(", + f' "{class_name}",', + " {", + ] + has_output = False + for param in engine.params: + typed_param = output if param.name == "output" and output else param + if typed_param.name == "output": + has_output = True + wrapper = "Required" if typed_param.required else "NotRequired" + lines.append(f' "{typed_param.name}": {wrapper}[{typed_param.typ}],') + if output and not has_output: + wrapper = "Required" if output.required else "NotRequired" + lines.append(f' "{output.name}": {wrapper}[{output.typ}],') + lines.extend( + [ + " },", + " total=False,", + ")", + "", + ] + ) + return lines + + +def build_engine_params_stub(engines: list[Engine]) -> str: + lines = [ + generated_header().rstrip(), + "from typing import Any, Union", + "from typing_extensions import Literal, NotRequired, Required, TypedDict", + "", + ] + for engine in engines: + json_params, html_params = search_params_variant_names(engine) + lines.extend( + format_typed_dict( + engine, + class_name=json_params, + output=output_param('Literal["json"]', required=False), + ) + ) + lines.extend( + format_typed_dict( + engine, + class_name=html_params, + output=output_param('Literal["html"]', required=True), + ) + ) + lines.append(f"{engine.class_name} = Union[{json_params}, {html_params}]") + lines.append("") + union = ", ".join(engine.class_name for engine in engines) + lines.append(f"SearchParams = Union[{union}]") + lines.append("") + return "\n".join(lines) + + +def direct_params(engine: Engine, *, html_output: bool, omit_engine: bool) -> list[Param]: + skipped = {"output"} + if omit_engine: + skipped.add("engine") + params = [] + for param in engine.params: + if param.name in skipped or param.name in REQUEST_KWARGS: + continue + if not param.direct_keyword: + continue + if param.name == "engine" and not omit_engine: + params.append(Param(param.name, f'Literal["{engine.name}"]', True, True)) + elif param.name == "api_key": + params.append(Param(param.name, param.typ, False, True)) + else: + params.append(param) + + if html_output: + params.append(Param("output", 'Literal["html"]', True, True)) + else: + params.append(Param("output", 'Literal["json"]', False, True)) + + for name in REQUEST_KWARGS: + params.append(Param(name, "Any", False, True)) + return sorted(params, key=lambda param: (not param.required, param.name)) + + +def format_search_overload( + *, + receiver: str | None, + params: list[Param], + return_type: str, +) -> list[str]: + lines = ["@overload", "def search("] + if receiver: + lines.append(f" {receiver},") + lines.append(" *,") + for param in params: + default = "" if param.required else " = ..." + lines.append(f" {param.name}: {param.typ}{default},") + lines.append(f") -> {return_type}: ...") + lines.append("") + return lines + + +def format_params_dict_overload( + *, + receiver: str | None, + params_type: str, + return_type: str, +) -> list[str]: + lines = ["@overload", "def search("] + if receiver: + lines.append(f" {receiver},") + lines.extend( + [ + f" params: {params_type},", + " *,", + ] + ) + for name in REQUEST_KWARGS: + lines.append(f" {name}: Any = ...,") + lines.append(f") -> {return_type}: ...") + lines.append("") + return lines + + +def format_params_dict_overloads(*, receiver: str | None, engine: Engine) -> list[str]: + json_params, html_params = search_params_variant_names(engine) + lines = [] + lines.extend( + format_params_dict_overload( + receiver=receiver, + params_type=html_params, + return_type="str", + ) + ) + lines.extend( + format_params_dict_overload( + receiver=receiver, + params_type=json_params, + return_type="SerpResults", + ) + ) + lines.append("") + return lines + + +def format_search_overloads(engines: list[Engine], *, receiver: str | None) -> list[str]: + lines = [] + for engine in engines: + lines.extend(format_params_dict_overloads(receiver=receiver, engine=engine)) + lines.extend( + format_search_overload( + receiver=receiver, + params=direct_params(engine, html_output=True, omit_engine=False), + return_type="str", + ) + ) + lines.extend( + format_search_overload( + receiver=receiver, + params=direct_params(engine, html_output=False, omit_engine=False), + return_type="SerpResults", + ) + ) + if engine.name == "google": + lines.extend( + format_search_overload( + receiver=receiver, + params=direct_params(engine, html_output=True, omit_engine=True), + return_type="str", + ) + ) + lines.extend( + format_search_overload( + receiver=receiver, + params=direct_params(engine, html_output=False, omit_engine=True), + return_type="SerpResults", + ) + ) + lines.extend( + [ + "@overload", + "def search(", + ] + ) + if receiver: + lines.append(f" {receiver},") + lines.extend( + [ + " params: Mapping[str, Any],", + " *,", + ] + ) + for name in REQUEST_KWARGS: + lines.append(f" {name}: Any = ...,") + lines.append(") -> Union[SerpResults, str]: ...") + lines.append("") + return lines + + +def build_core_stub(engines: list[Engine]) -> str: + lines = [ + generated_header().rstrip(), + "from typing import Any, Dict, List, Mapping, Optional, Union, overload", + "", + "from .engine_params import (", + ] + for engine in engines: + json_params, html_params = search_params_variant_names(engine) + lines.append(f" {json_params},") + lines.append(f" {html_params},") + lines.extend( + [ + ")", + "from .http import HTTPClient", + "from .models import SerpResults", + "from typing_extensions import Literal", + "", + "", + "class Client(HTTPClient):", + " DASHBOARD_URL: str", + "", + " def __init__(self, *, api_key: Optional[str] = ..., timeout: Any = ...) -> None: ...", + " def __repr__(self) -> str: ...", + "", + ] + ) + for line in format_search_overloads(engines, receiver="self"): + lines.append(" " + line if line else "") + lines.extend( + [ + " def search_archive(self, params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Union[SerpResults, str]: ...", + " def locations(self, params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> List[Dict[str, Any]]: ...", + " def account(self, params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Dict[str, Any]: ...", + "", + ] + ) + lines.extend(format_search_overloads(engines, receiver=None)) + lines.extend( + [ + "def search_archive(params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Union[SerpResults, str]: ...", + "def locations(params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> List[Dict[str, Any]]: ...", + "def account(params: Optional[Mapping[str, Any]] = ..., **kwargs: Any) -> Dict[str, Any]: ...", + "", + ] + ) + return "\n".join(lines) + + +def build_init_stub() -> str: + return "\n".join( + [ + generated_header().rstrip(), + "from .__version__ import __version__ as __version__", + "from .core import Client as Client, account as account, locations as locations, search as search, search_archive as search_archive", + "from .exceptions import APIKeyNotProvided as APIKeyNotProvided, HTTPConnectionError as HTTPConnectionError, HTTPError as HTTPError, SearchIDNotProvided as SearchIDNotProvided, SerpApiError as SerpApiError, TimeoutError as TimeoutError", + "from .models import SerpResults as SerpResults", + "", + ] + ) + + +def validate_stub_syntax(path: Path, content: str) -> None: + if path.suffix == ".pyi": + ast.parse(content, filename=str(path)) + + +def write_if_changed(path: Path, content: str) -> bool: + validate_stub_syntax(path, content) + if path.exists() and path.read_text(encoding="utf-8") == content: + return False + + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(content, encoding="utf-8") + return True + + +def generate_stubs(engine_dir: Path = ENGINE_DIR, output_dir: Path = OUTPUT_DIR) -> list[Path]: + engines = load_engine_definitions(engine_dir) + output_dir.mkdir(parents=True, exist_ok=True) + + outputs = { + "__init__.pyi": build_init_stub(), + "core.pyi": build_core_stub(engines), + "engine_params.pyi": build_engine_params_stub(engines), + "py.typed": "", + } + written = [] + for name in GENERATED_FILES: + path = output_dir / name + if write_if_changed(path, outputs[name]): + written.append(path) + return written + + +def check_generated(engine_dir: Path, output_dir: Path) -> bool: + with tempfile.TemporaryDirectory() as tmp_dir: + expected_dir = Path(tmp_dir) / "serpapi" + generate_stubs(engine_dir, expected_dir) + + ok = True + for name in GENERATED_FILES: + expected = expected_dir / name + actual = output_dir / name + if not actual.exists(): + print(f"Missing generated typing file: {actual}", file=sys.stderr) + ok = False + continue + if not filecmp.cmp(expected, actual, shallow=False): + print(f"Generated typing file is stale: {actual}", file=sys.stderr) + ok = False + return ok + + +def parse_args(argv: list[str]) -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--engine-dir", type=Path, default=ENGINE_DIR) + parser.add_argument("--output-dir", type=Path, default=OUTPUT_DIR) + parser.add_argument("--check", action="store_true", help="verify generated files are current") + return parser.parse_args(argv) + + +def main(argv: list[str] | None = None) -> int: + args = parse_args(sys.argv[1:] if argv is None else argv) + if args.check: + if check_generated(args.engine_dir, args.output_dir): + print("Generated typing stubs are up to date.") + return 0 + return 1 + + written = generate_stubs(args.engine_dir, args.output_dir) + print(f"Wrote {len(written)} typing files to {args.output_dir}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main())