diff --git a/CHANGELOG.md b/CHANGELOG.md index c2a7d04..4023a66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v1.46.0-sdk.1 + +- Regenerated from the public API contract (3539 operations). + ## v1.45.0-sdk.1 - Regenerated from the public API contract (3529 operations). diff --git a/crawlora/client.py b/crawlora/client.py index 0ffc9dd..03ff1a3 100644 --- a/crawlora/client.py +++ b/crawlora/client.py @@ -20,7 +20,7 @@ from .operations import GROUPS, OPERATIONS DEFAULT_BASE_URL = "https://api.crawlora.net/api/v1" -VERSION = "1.45.0-sdk.1" +VERSION = "1.46.0-sdk.1" DEFAULT_USER_AGENT = f"crawlora-python-sdk/{VERSION}" DEFAULT_MAX_RETRY_DELAY = 30.0 DEFAULT_RETRY_STATUSES = (408, 409, 425, 429) diff --git a/crawlora/client.pyi b/crawlora/client.pyi index a4a77bf..2f36425 100644 --- a/crawlora/client.pyi +++ b/crawlora/client.pyi @@ -4376,6 +4376,39 @@ ModelAxiosHeadlinesResponseDoc = TypedDict('ModelAxiosHeadlinesResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelBaiduSearchPagination = TypedDict('ModelBaiduSearchPagination', { + 'next_page': NotRequired[int], + 'page': NotRequired[int], +}, total=False) + +ModelBaiduSearchResponse = TypedDict('ModelBaiduSearchResponse', { + 'pagination': NotRequired[ModelBaiduSearchPagination], + 'query': NotRequired[str], + 'results': NotRequired[list[ModelBaiduSearchResult]], +}, total=False) + +ModelBaiduSearchResult = TypedDict('ModelBaiduSearchResult', { + 'date': NotRequired[str], + 'description': NotRequired[str], + 'position': NotRequired[int], + 'source': NotRequired[str], + 'title': NotRequired[str], + 'type': NotRequired[Literal['web', 'video', 'baike']], + 'url': NotRequired[str], +}, total=False) + +ModelBaiduSearchResponseDoc = TypedDict('ModelBaiduSearchResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBaiduSearchResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBaiduSuggestResponseDoc = TypedDict('ModelBaiduSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelBalenciagaCategoriesResponse = TypedDict('ModelBalenciagaCategoriesResponse', { 'categories': NotRequired[list[ModelBalenciagaCategory]], 'count': NotRequired[int], @@ -6166,7 +6199,14 @@ ModelBingSuggestResponse = TypedDict('ModelBingSuggestResponse', { 'suggestions': NotRequired[list[ModelBingSuggestionResult]], }, total=False) +ModelBingSuggestionEntity = TypedDict('ModelBingSuggestionEntity', { + 'description': NotRequired[str], + 'image_url': NotRequired[str], + 'name': NotRequired[str], +}, total=False) + ModelBingSuggestionResult = TypedDict('ModelBingSuggestionResult', { + 'entity': NotRequired[ModelBingSuggestionEntity], 'position': NotRequired[int], 'query': NotRequired[str], }, total=False) @@ -7796,7 +7836,16 @@ ModelBraveSuggestResponse = TypedDict('ModelBraveSuggestResponse', { 'suggestions': NotRequired[list[ModelBraveSuggestionResult]], }, total=False) +ModelBraveSuggestionEntity = TypedDict('ModelBraveSuggestionEntity', { + 'category': NotRequired[str], + 'description': NotRequired[str], + 'image_url': NotRequired[str], + 'logo': NotRequired[bool], + 'name': NotRequired[str], +}, total=False) + ModelBraveSuggestionResult = TypedDict('ModelBraveSuggestionResult', { + 'entity': NotRequired[ModelBraveSuggestionEntity], 'position': NotRequired[int], 'query': NotRequired[str], }, total=False) @@ -16014,6 +16063,12 @@ ModelDuckduckgoShoppingResponseDoc = TypedDict('ModelDuckduckgoShoppingResponseD 'msg': NotRequired[str], }, total=False) +ModelDuckduckgoSuggestResponseDoc = TypedDict('ModelDuckduckgoSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDuckduckgoVideoResponseDoc = TypedDict('ModelDuckduckgoVideoResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDuckduckgoVideoResponse], @@ -24244,12 +24299,16 @@ ModelGoogleSearchOption = TypedDict('ModelGoogleSearchOption', { ModelGoogleSuggestResponse = TypedDict('ModelGoogleSuggestResponse', { 'query': NotRequired[str], + 'source': NotRequired[str], 'suggestions': NotRequired[list[ModelGoogleSuggestionResult]], }, total=False) ModelGoogleSuggestionResult = TypedDict('ModelGoogleSuggestionResult', { + 'description': NotRequired[str], 'position': NotRequired[int], 'query': NotRequired[str], + 'relevance': NotRequired[int], + 'type': NotRequired[str], }, total=False) ModelGoogleVerticalPagination = TypedDict('ModelGoogleVerticalPagination', { @@ -25206,6 +25265,11 @@ ModelGreystarFaq = TypedDict('ModelGreystarFaq', { 'question': NotRequired[str], }, total=False) +ModelGreystarFacetCount = TypedDict('ModelGreystarFacetCount', { + 'count': NotRequired[int], + 'value': NotRequired[str], +}, total=False) + ModelGreystarFee = TypedDict('ModelGreystarFee', { 'amount': NotRequired[float], 'category': NotRequired[str], @@ -25242,6 +25306,21 @@ ModelGreystarImage = TypedDict('ModelGreystarImage', { 'width': NotRequired[int], }, total=False) +ModelGreystarListedUnit = TypedDict('ModelGreystarListedUnit', { + 'banner': NotRequired[str], + 'bathrooms': NotRequired[float], + 'bedrooms': NotRequired[float], + 'floorplan': NotRequired[str], + 'max_price': NotRequired[float], + 'min_base_rent_lease_term': NotRequired[int], + 'min_price': NotRequired[float], + 'price': NotRequired[float], + 'required_monthly_fees_max': NotRequired[float], + 'required_monthly_fees_min': NotRequired[float], + 'unit_id': NotRequired[str], + 'unit_number': NotRequired[str], +}, total=False) + ModelGreystarLocation = TypedDict('ModelGreystarLocation', { 'address': NotRequired[str], 'city': NotRequired[str], @@ -25416,6 +25495,50 @@ ModelGreystarUnit = TypedDict('ModelGreystarUnit', { 'unit_number': NotRequired[str], }, total=False) +ModelGreystarUnitFacets = TypedDict('ModelGreystarUnitFacets', { + 'bathrooms': NotRequired[list[ModelGreystarFacetCount]], + 'bedrooms': NotRequired[list[ModelGreystarFacetCount]], + 'building_types': NotRequired[list[ModelGreystarFacetCount]], + 'highlights': NotRequired[list[ModelGreystarFacetCount]], +}, total=False) + +ModelGreystarUnitLocation = TypedDict('ModelGreystarUnitLocation', { + 'location': NotRequired[str], + 'parent': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelGreystarUnitLocationList = TypedDict('ModelGreystarUnitLocationList', { + 'locations': NotRequired[list[ModelGreystarUnitLocation]], + 'total_count': NotRequired[int], +}, total=False) + +ModelGreystarUnitProperty = TypedDict('ModelGreystarUnitProperty', { + 'address': NotRequired[str], + 'city': NotRequired[str], + 'latitude': NotRequired[float], + 'longitude': NotRequired[float], + 'matching_units': NotRequired[int], + 'name': NotRequired[str], + 'postal_code': NotRequired[str], + 'property_id': NotRequired[str], + 'state': NotRequired[str], + 'state_name': NotRequired[str], + 'thumbnail_url': NotRequired[str], + 'units': NotRequired[list[ModelGreystarListedUnit]], + 'units_truncated': NotRequired[bool], +}, total=False) + +ModelGreystarUnitSearchResult = TypedDict('ModelGreystarUnitSearchResult', { + 'facets': NotRequired[ModelGreystarUnitFacets], + 'location': NotRequired[str], + 'page': NotRequired[int], + 'per_page': NotRequired[int], + 'properties': NotRequired[list[ModelGreystarUnitProperty]], + 'total_count': NotRequired[int], + 'total_pages': NotRequired[int], +}, total=False) + ModelGrubhubAvailabilityResponse = TypedDict('ModelGrubhubAvailabilityResponse', { 'count': NotRequired[int], 'fetched_at': NotRequired[str], @@ -29128,10 +29251,6 @@ ModelInstagramImageCandidate = TypedDict('ModelInstagramImageCandidate', { 'width': NotRequired[int], }, total=False) -ModelInstagramImageVersions = TypedDict('ModelInstagramImageVersions', { - 'candidates': NotRequired[list[ModelInstagramImageCandidate]], -}, total=False) - ModelInstagramImageVersions2 = TypedDict('ModelInstagramImageVersions2', { 'candidates': NotRequired[list[ModelInstagramImageCandidate]], }, total=False) @@ -29146,7 +29265,7 @@ ModelInstagramMedia = TypedDict('ModelInstagramMedia', { 'comment_count': NotRequired[int], 'display_uri': NotRequired[str], 'id': NotRequired[str], - 'image_versions2': NotRequired[ModelInstagramImageVersions], + 'image_versions2': NotRequired[ModelInstagramReelImageVersions], 'like_count': NotRequired[int], 'media_type': NotRequired[int], 'play_count': NotRequired[int], @@ -29207,6 +29326,16 @@ ModelInstagramPost = TypedDict('ModelInstagramPost', { 'width': NotRequired[int], }, total=False) +ModelInstagramReelImageCandidate = TypedDict('ModelInstagramReelImageCandidate', { + 'height': NotRequired[int], + 'url': NotRequired[str], + 'width': NotRequired[int], +}, total=False) + +ModelInstagramReelImageVersions = TypedDict('ModelInstagramReelImageVersions', { + 'candidates': NotRequired[list[ModelInstagramReelImageCandidate]], +}, total=False) + ModelInstagramReelResponse = TypedDict('ModelInstagramReelResponse', { 'items': NotRequired[list[ModelInstagramItem]], 'paging_info': NotRequired[ModelInstagramPagingInfo], @@ -45106,6 +45235,12 @@ ModelQuinceSuggestResponseDoc = TypedDict('ModelQuinceSuggestResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelQwantSuggestResponseDoc = TypedDict('ModelQwantSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelRaisingcanesDirectoryChild = TypedDict('ModelRaisingcanesDirectoryChild', { 'is_store': NotRequired[bool], 'name': NotRequired[str], @@ -54028,6 +54163,12 @@ ModelStarbucksStoresResponseDoc = TypedDict('ModelStarbucksStoresResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelStartpageSuggestResponseDoc = TypedDict('ModelStartpageSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelSteamAchievementsResponse = TypedDict('ModelSteamAchievementsResponse', { 'achievements': NotRequired[list[ModelSteamGlobalAchievement]], 'appid': NotRequired[str], @@ -56079,6 +56220,16 @@ ModelSubwayStoreResponseDoc = TypedDict('ModelSubwayStoreResponseDoc', { 'msg': NotRequired[Any], }, total=False) +ModelSuggestResponse = TypedDict('ModelSuggestResponse', { + 'query': NotRequired[str], + 'suggestions': NotRequired[list[ModelSuggestSuggestion]], +}, total=False) + +ModelSuggestSuggestion = TypedDict('ModelSuggestSuggestion', { + 'position': NotRequired[int], + 'query': NotRequired[str], +}, total=False) + ModelSunAuthorArticle = TypedDict('ModelSunAuthorArticle', { 'category': NotRequired[str], 'category_url': NotRequired[str], @@ -62753,6 +62904,7 @@ ModelWebScrapeMetadata = TypedDict('ModelWebScrapeMetadata', { ModelWebScrapeOption = TypedDict('ModelWebScrapeOption', { 'backend': NotRequired[str], + 'dedicated': NotRequired[bool], 'formats': NotRequired[list[str]], 'max_age': NotRequired[int], 'only_main_content': NotRequired[bool], @@ -66107,6 +66259,37 @@ ModelYahootechHomeResponseDoc = TypedDict('ModelYahootechHomeResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelYandexSearchPagination = TypedDict('ModelYandexSearchPagination', { + 'next_page': NotRequired[int], + 'page': NotRequired[int], +}, total=False) + +ModelYandexSearchResponse = TypedDict('ModelYandexSearchResponse', { + 'pagination': NotRequired[ModelYandexSearchPagination], + 'query': NotRequired[str], + 'results': NotRequired[list[ModelYandexSearchResult]], +}, total=False) + +ModelYandexSearchResult = TypedDict('ModelYandexSearchResult', { + 'description': NotRequired[str], + 'display_url': NotRequired[str], + 'position': NotRequired[int], + 'title': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelYandexSearchResponseDoc = TypedDict('ModelYandexSearchResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelYandexSearchResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelYandexSuggestResponseDoc = TypedDict('ModelYandexSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelYardbarkerAuthorResponse = TypedDict('ModelYardbarkerAuthorResponse', { 'articles': NotRequired[list[ModelNewsplatformHeadlineItem]], 'image_url': NotRequired[str], @@ -66655,6 +66838,12 @@ ModelYoutubeSearchResponseDoc = TypedDict('ModelYoutubeSearchResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelYoutubeSuggestResponseDoc = TypedDict('ModelYoutubeSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelYoutubeTagMeta = TypedDict('ModelYoutubeTagMeta', { 'channelsCount': NotRequired[int], 'videosCount': NotRequired[int], @@ -69873,6 +70062,24 @@ AxiosHeadlinesParams = TypedDict('AxiosHeadlinesParams', { 'topic': Required[str], }, total=False) +BaiduSearchResponse = ModelBaiduSearchResponseDoc +BaiduSearchParams = TypedDict('BaiduSearchParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'page': NotRequired[int], +}, total=False) + +BaiduSuggestResponse = ModelBaiduSuggestResponseDoc +BaiduSuggestParams = TypedDict('BaiduSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'count': NotRequired[int], +}, total=False) + BalenciagaCategoriesResponse = ModelBalenciagaCategoriesResponseDoc BalenciagaCategoriesParams = TypedDict('BalenciagaCategoriesParams', { '_response_type': NotRequired[ResponseType], @@ -70491,6 +70698,7 @@ BingSuggestParams = TypedDict('BingSuggestParams', { 'count': NotRequired[int], 'country': NotRequired[str], 'lang': NotRequired[str], + 'rich': NotRequired[bool], }, total=False) BingVideosResponse = ModelBingVideosResponseDoc @@ -71178,6 +71386,7 @@ BraveSuggestParams = TypedDict('BraveSuggestParams', { 'count': NotRequired[int], 'country': NotRequired[Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za']], 'lang': NotRequired[Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw']], + 'rich': NotRequired[bool], }, total=False) BraveVideosResponse = ModelBraveVideosResponseDoc @@ -76434,6 +76643,16 @@ DuckDuckGoSearchDuckduckgoShoppingParams = TypedDict('DuckDuckGoSearchDuckduckgo 'region': NotRequired[str], }, total=False) +DuckDuckGoSearchDuckduckgoSuggestResponse = ModelDuckduckgoSuggestResponseDoc +DuckDuckGoSearchDuckduckgoSuggestParams = TypedDict('DuckDuckGoSearchDuckduckgoSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'count': NotRequired[int], + 'region': NotRequired[str], +}, total=False) + DuckDuckGoSearchDuckduckgoVideoResponse = ModelDuckduckgoVideoResponseDoc DuckDuckGoSearchDuckduckgoVideoParams = TypedDict('DuckDuckGoSearchDuckduckgoVideoParams', { '_response_type': NotRequired[ResponseType], @@ -80161,6 +80380,8 @@ GoogleSuggestParams = TypedDict('GoogleSuggestParams', { 'count': NotRequired[int], 'country': NotRequired[str], 'lang': NotRequired[str], + 'source': NotRequired[Literal['web', 'youtube', 'shopping']], + 'rich': NotRequired[bool], }, total=False) GoogleTrendsCategoriesResponse = ModelTrendsTrendsCategoriesResponseDoc @@ -80708,6 +80929,31 @@ GreystarSearchParams = TypedDict('GreystarSearchParams', { 'per_page': NotRequired[int], }, total=False) +GreystarUnitLocationsResponse = ModelGreystarUnitLocationList +GreystarUnitLocationsParams = TypedDict('GreystarUnitLocationsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': NotRequired[str], +}, total=False) + +GreystarUnitsResponse = ModelGreystarUnitSearchResult +GreystarUnitsParams = TypedDict('GreystarUnitsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'location': NotRequired[str], + 'bedrooms': NotRequired[list[Literal['0', '1', '2', '3', '4', '5', '6']]], + 'bathrooms': NotRequired[list[Literal['0', '1', '2', '3', '4']]], + 'building_type': NotRequired[list[Literal['Active Adult', 'Garden', 'High-Rise', 'Mid-Rise', 'Single Family Home', 'Student', 'Townhome']]], + 'highlights': NotRequired[list[Literal['airCon', 'dishwasher', 'eco', 'fitness', 'garages', 'limitedAccess', 'patioBalcony', 'pets', 'playground', 'pools', 'smokeFree', 'walkInClosets', 'washerDryer']]], + 'min_price': NotRequired[float], + 'max_price': NotRequired[float], + 'sort': NotRequired[Literal['relevance', 'price_asc']], + 'page': NotRequired[int], + 'per_page': NotRequired[int], +}, total=False) + GrubhubAvailabilityResponse = ModelGrubhubAvailabilityResponseDoc GrubhubAvailabilityParams = TypedDict('GrubhubAvailabilityParams', { '_response_type': NotRequired[ResponseType], @@ -90969,6 +91215,16 @@ QuinceSuggestParams = TypedDict('QuinceSuggestParams', { 'q': Required[str], }, total=False) +QwantSuggestResponse = ModelQwantSuggestResponseDoc +QwantSuggestParams = TypedDict('QwantSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'count': NotRequired[int], + 'locale': NotRequired[str], +}, total=False) + RaisingCaneSRaisingcanesDirectoryResponse = ModelRaisingcanesDirectoryResponseDoc RaisingCaneSRaisingcanesDirectoryParams = TypedDict('RaisingCaneSRaisingcanesDirectoryParams', { '_response_type': NotRequired[ResponseType], @@ -95026,6 +95282,15 @@ StarbucksStoresParams = TypedDict('StarbucksStoresParams', { 'market': NotRequired[Literal['us', 'ca']], }, total=False) +StartpageSuggestResponse = ModelStartpageSuggestResponseDoc +StartpageSuggestParams = TypedDict('StartpageSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'count': NotRequired[int], +}, total=False) + MinnesotaStarTribuneStartribuneNewsResponse = ModelPublicnewsNewsResponseDoc MinnesotaStarTribuneStartribuneNewsParams = TypedDict('MinnesotaStarTribuneStartribuneNewsParams', { '_response_type': NotRequired[ResponseType], @@ -100645,6 +100910,25 @@ YahooTechHomeParams = TypedDict('YahooTechHomeParams', { '_headers': NotRequired[Mapping[str, str]], }, total=False) +YandexSearchResponse = ModelYandexSearchResponseDoc +YandexSearchParams = TypedDict('YandexSearchParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'page': NotRequired[int], +}, total=False) + +YandexSuggestResponse = ModelYandexSuggestResponseDoc +YandexSuggestParams = TypedDict('YandexSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'count': NotRequired[int], + 'lang': NotRequired[str], +}, total=False) + YardbarkerArticleResponse = ModelPublicnewsArticleResponseDoc YardbarkerArticleParams = TypedDict('YardbarkerArticleParams', { '_response_type': NotRequired[ResponseType], @@ -100887,6 +101171,17 @@ YoutubeSearchParams = TypedDict('YoutubeSearchParams', { 'params': NotRequired[str], }, total=False) +YoutubeSuggestResponse = ModelYoutubeSuggestResponseDoc +YoutubeSuggestParams = TypedDict('YoutubeSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'count': NotRequired[int], + 'hl': NotRequired[str], + 'gl': NotRequired[str], +}, total=False) + YoutubeTagResponse = ModelYoutubeTagResponseDoc YoutubeTagParams = TypedDict('YoutubeTagParams', { '_response_type': NotRequired[ResponseType], @@ -101498,6 +101793,10 @@ class AxiosGroup: def categories(self, **params: Unpack[AxiosCategoriesParams]) -> AxiosCategoriesResponse: ... def headlines(self, **params: Unpack[AxiosHeadlinesParams]) -> AxiosHeadlinesResponse: ... +class BaiduGroup: + def search(self, **params: Unpack[BaiduSearchParams]) -> BaiduSearchResponse: ... + def suggest(self, **params: Unpack[BaiduSuggestParams]) -> BaiduSuggestResponse: ... + class BalenciagaGroup: def categories(self, **params: Unpack[BalenciagaCategoriesParams]) -> BalenciagaCategoriesResponse: ... def category(self, **params: Unpack[BalenciagaCategoryParams]) -> BalenciagaCategoryResponse: ... @@ -102281,6 +102580,7 @@ class DuckDuckGoSearchGroup: def duckduckgo_news(self, **params: Unpack[DuckDuckGoSearchDuckduckgoNewsParams]) -> DuckDuckGoSearchDuckduckgoNewsResponse: ... def duckduckgo_search(self, **params: Unpack[DuckDuckGoSearchDuckduckgoSearchParams]) -> DuckDuckGoSearchDuckduckgoSearchResponse: ... def duckduckgo_shopping(self, **params: Unpack[DuckDuckGoSearchDuckduckgoShoppingParams]) -> DuckDuckGoSearchDuckduckgoShoppingResponse: ... + def duckduckgo_suggest(self, **params: Unpack[DuckDuckGoSearchDuckduckgoSuggestParams]) -> DuckDuckGoSearchDuckduckgoSuggestResponse: ... def duckduckgo_video(self, **params: Unpack[DuckDuckGoSearchDuckduckgoVideoParams]) -> DuckDuckGoSearchDuckduckgoVideoResponse: ... class DunkinGroup: @@ -102863,6 +103163,8 @@ class GreystarGroup: def newsroom_article(self, **params: Unpack[GreystarNewsroomArticleParams]) -> GreystarNewsroomArticleResponse: ... def property(self, **params: Unpack[GreystarPropertyParams]) -> GreystarPropertyResponse: ... def search(self, **params: Unpack[GreystarSearchParams]) -> GreystarSearchResponse: ... + def unit_locations(self, **params: Unpack[GreystarUnitLocationsParams]) -> GreystarUnitLocationsResponse: ... + def units(self, **params: Unpack[GreystarUnitsParams]) -> GreystarUnitsResponse: ... class GrubhubGroup: def availability(self, **params: Unpack[GrubhubAvailabilityParams]) -> GrubhubAvailabilityResponse: ... @@ -104238,6 +104540,9 @@ class QuinceGroup: def sitemaps(self, **params: Unpack[QuinceSitemapsParams]) -> QuinceSitemapsResponse: ... def suggest(self, **params: Unpack[QuinceSuggestParams]) -> QuinceSuggestResponse: ... +class QwantGroup: + def suggest(self, **params: Unpack[QwantSuggestParams]) -> QwantSuggestResponse: ... + class RaisingCaneSGroup: def raisingcanes_directory(self, **params: Unpack[RaisingCaneSRaisingcanesDirectoryParams]) -> RaisingCaneSRaisingcanesDirectoryResponse: ... def raisingcanes_menu(self, **params: Unpack[RaisingCaneSRaisingcanesMenuParams]) -> RaisingCaneSRaisingcanesMenuResponse: ... @@ -104784,6 +105089,9 @@ class StarbucksGroup: def nutrition(self, **params: Unpack[StarbucksNutritionParams]) -> StarbucksNutritionResponse: ... def stores(self, **params: Unpack[StarbucksStoresParams]) -> StarbucksStoresResponse: ... +class StartpageGroup: + def suggest(self, **params: Unpack[StartpageSuggestParams]) -> StartpageSuggestResponse: ... + class MinnesotaStarTribuneGroup: def startribune_news(self, **params: Unpack[MinnesotaStarTribuneStartribuneNewsParams]) -> MinnesotaStarTribuneStartribuneNewsResponse: ... @@ -105609,6 +105917,10 @@ class YahooTechGroup: def category(self, **params: Unpack[YahooTechCategoryParams]) -> YahooTechCategoryResponse: ... def home(self, **params: Unpack[YahooTechHomeParams]) -> YahooTechHomeResponse: ... +class YandexGroup: + def search(self, **params: Unpack[YandexSearchParams]) -> YandexSearchResponse: ... + def suggest(self, **params: Unpack[YandexSuggestParams]) -> YandexSuggestResponse: ... + class YardbarkerGroup: def article(self, **params: Unpack[YardbarkerArticleParams]) -> YardbarkerArticleResponse: ... def author(self, **params: Unpack[YardbarkerAuthorParams]) -> YardbarkerAuthorResponse: ... @@ -105642,6 +105954,7 @@ class YoutubeGroup: def playlist(self, **params: Unpack[YoutubePlaylistParams]) -> YoutubePlaylistResponse: ... def profile(self, **params: Unpack[YoutubeProfileParams]) -> YoutubeProfileResponse: ... def search(self, **params: Unpack[YoutubeSearchParams]) -> YoutubeSearchResponse: ... + def suggest(self, **params: Unpack[YoutubeSuggestParams]) -> YoutubeSuggestResponse: ... def tag(self, **params: Unpack[YoutubeTagParams]) -> YoutubeTagResponse: ... def transcript(self, **params: Unpack[YoutubeTranscriptParams]) -> YoutubeTranscriptResponse: ... def transcript_languages(self, **params: Unpack[YoutubeTranscriptLanguagesParams]) -> YoutubeTranscriptLanguagesResponse: ... @@ -105906,6 +106219,8 @@ OperationId = Literal[ 'axios-article', 'axios-categories', 'axios-headlines', + 'baidu-search', + 'baidu-suggest', 'balenciaga-categories', 'balenciaga-category', 'balenciaga-product', @@ -106530,6 +106845,7 @@ OperationId = Literal[ 'duckduckgo-news', 'duckduckgo-search', 'duckduckgo-shopping', + 'duckduckgo-suggest', 'duckduckgo-video', 'dunkin-directory', 'dunkin-menu', @@ -107000,6 +107316,8 @@ OperationId = Literal[ 'greystar-newsroom-article', 'greystar-property', 'greystar-search', + 'greystar-unit-locations', + 'greystar-units', 'grubhub-availability', 'grubhub-offers', 'grubhub-restaurant', @@ -108089,6 +108407,7 @@ OperationId = Literal[ 'quince-sitemap-urls', 'quince-sitemaps', 'quince-suggest', + 'qwant-suggest', 'raisingcanes-directory', 'raisingcanes-menu', 'raisingcanes-nearby', @@ -108530,6 +108849,7 @@ OperationId = Literal[ 'starbucks-product', 'starbucks-nutrition', 'starbucks-stores', + 'startpage-suggest', 'startribune-news', 'steam-achievements', 'steam-app', @@ -109161,6 +109481,8 @@ OperationId = Literal[ 'yahoo-tech-article', 'yahoo-tech-category', 'yahoo-tech-home', + 'yandex-search', + 'yandex-suggest', 'yardbarker-article', 'yardbarker-author', 'yardbarker-headlines', @@ -109187,6 +109509,7 @@ OperationId = Literal[ 'youtube-playlist', 'youtube-profile', 'youtube-search', + 'youtube-suggest', 'youtube-tag', 'youtube-transcript', 'youtube-transcript-languages', @@ -109258,6 +109581,7 @@ class CrawloraClient: audible: AudibleGroup autotrader: AutotraderGroup axios: AxiosGroup + baidu: BaiduGroup balenciaga: BalenciagaGroup barrons: BarronsGroup bbb: BbbGroup @@ -109535,6 +109859,7 @@ class CrawloraClient: psastore: PsastoreGroup punch: PunchGroup quince: QuinceGroup + qwant: QwantGroup raising_cane_s: RaisingCaneSGroup rappler: RapplerGroup raw_story: RawStoryGroup @@ -109588,6 +109913,7 @@ class CrawloraClient: spotify: SpotifyGroup evening_standard: EveningStandardGroup starbucks: StarbucksGroup + startpage: StartpageGroup minnesota_star_tribune: MinnesotaStarTribuneGroup steam: SteamGroup steve_madden: SteveMaddenGroup @@ -109686,6 +110012,7 @@ class CrawloraClient: yahoo_shopping: YahooShoppingGroup yahoo_sports: YahooSportsGroup yahoo_tech: YahooTechGroup + yandex: YandexGroup yardbarker: YardbarkerGroup yelp: YelpGroup yoox: YooxGroup @@ -112298,6 +112625,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AxiosHeadlinesResponse: ... @overload + def operation( + self, + operation_id: Literal['baidu-search'], + params: BaiduSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BaiduSearchResponse: ... + @overload + def operation( + self, + operation_id: Literal['baidu-suggest'], + params: BaiduSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BaiduSuggestResponse: ... + @overload def operation( self, operation_id: Literal['balenciaga-categories'], @@ -119786,6 +120137,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DuckDuckGoSearchDuckduckgoShoppingResponse: ... @overload + def operation( + self, + operation_id: Literal['duckduckgo-suggest'], + params: DuckDuckGoSearchDuckduckgoSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DuckDuckGoSearchDuckduckgoSuggestResponse: ... + @overload def operation( self, operation_id: Literal['duckduckgo-video'], @@ -125426,6 +125789,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GreystarSearchResponse: ... @overload + def operation( + self, + operation_id: Literal['greystar-unit-locations'], + params: GreystarUnitLocationsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GreystarUnitLocationsResponse: ... + @overload + def operation( + self, + operation_id: Literal['greystar-units'], + params: GreystarUnitsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GreystarUnitsResponse: ... + @overload def operation( self, operation_id: Literal['grubhub-availability'], @@ -138494,6 +138881,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> QuinceSuggestResponse: ... @overload + def operation( + self, + operation_id: Literal['qwant-suggest'], + params: QwantSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> QwantSuggestResponse: ... + @overload def operation( self, operation_id: Literal['raisingcanes-directory'], @@ -143786,6 +144185,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> StarbucksStoresResponse: ... @overload + def operation( + self, + operation_id: Literal['startpage-suggest'], + params: StartpageSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> StartpageSuggestResponse: ... + @overload def operation( self, operation_id: Literal['startribune-news'], @@ -151358,6 +151769,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> YahooTechHomeResponse: ... @overload + def operation( + self, + operation_id: Literal['yandex-search'], + params: YandexSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> YandexSearchResponse: ... + @overload + def operation( + self, + operation_id: Literal['yandex-suggest'], + params: YandexSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> YandexSuggestResponse: ... + @overload def operation( self, operation_id: Literal['yardbarker-article'], @@ -151670,6 +152105,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> YoutubeSearchResponse: ... @overload + def operation( + self, + operation_id: Literal['youtube-suggest'], + params: YoutubeSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> YoutubeSuggestResponse: ... + @overload def operation( self, operation_id: Literal['youtube-tag'], @@ -154658,6 +155105,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AxiosHeadlinesResponse: ... @overload + def request( + self, + operation_id: Literal['baidu-search'], + params: BaiduSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BaiduSearchResponse: ... + @overload + def request( + self, + operation_id: Literal['baidu-suggest'], + params: BaiduSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BaiduSuggestResponse: ... + @overload def request( self, operation_id: Literal['balenciaga-categories'], @@ -162146,6 +162617,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DuckDuckGoSearchDuckduckgoShoppingResponse: ... @overload + def request( + self, + operation_id: Literal['duckduckgo-suggest'], + params: DuckDuckGoSearchDuckduckgoSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DuckDuckGoSearchDuckduckgoSuggestResponse: ... + @overload def request( self, operation_id: Literal['duckduckgo-video'], @@ -167786,6 +168269,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GreystarSearchResponse: ... @overload + def request( + self, + operation_id: Literal['greystar-unit-locations'], + params: GreystarUnitLocationsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GreystarUnitLocationsResponse: ... + @overload + def request( + self, + operation_id: Literal['greystar-units'], + params: GreystarUnitsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GreystarUnitsResponse: ... + @overload def request( self, operation_id: Literal['grubhub-availability'], @@ -180854,6 +181361,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> QuinceSuggestResponse: ... @overload + def request( + self, + operation_id: Literal['qwant-suggest'], + params: QwantSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> QwantSuggestResponse: ... + @overload def request( self, operation_id: Literal['raisingcanes-directory'], @@ -186146,6 +186665,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> StarbucksStoresResponse: ... @overload + def request( + self, + operation_id: Literal['startpage-suggest'], + params: StartpageSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> StartpageSuggestResponse: ... + @overload def request( self, operation_id: Literal['startribune-news'], @@ -193718,6 +194249,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> YahooTechHomeResponse: ... @overload + def request( + self, + operation_id: Literal['yandex-search'], + params: YandexSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> YandexSearchResponse: ... + @overload + def request( + self, + operation_id: Literal['yandex-suggest'], + params: YandexSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> YandexSuggestResponse: ... + @overload def request( self, operation_id: Literal['yardbarker-article'], @@ -194030,6 +194585,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> YoutubeSearchResponse: ... @overload + def request( + self, + operation_id: Literal['youtube-suggest'], + params: YoutubeSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> YoutubeSuggestResponse: ... + @overload def request( self, operation_id: Literal['youtube-tag'], diff --git a/crawlora/operations.py b/crawlora/operations.py index 8b95ddb..634451e 100644 --- a/crawlora/operations.py +++ b/crawlora/operations.py @@ -3280,6 +3280,31 @@ 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'topic', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'baidu-search': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'baidu-search', + 'method': 'GET', + 'paginatable': True, + 'path': '/baidu/search', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'baidu-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'baidu-suggest', + 'method': 'GET', + 'path': '/baidu/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'count', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, 'balenciaga-categories': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -4299,7 +4324,8 @@ 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, {'in': 'query', 'name': 'count', 'type': 'integer'}, {'in': 'query', 'name': 'country', 'type': 'string'}, - {'in': 'query', 'name': 'lang', 'type': 'string'}], + {'in': 'query', 'name': 'lang', 'type': 'string'}, + {'in': 'query', 'name': 'rich', 'type': 'boolean'}], 'security': ['ApiKeyAuth']}, 'bing-videos': {'bodyParam': None, 'bodyRequired': False, @@ -5621,7 +5647,8 @@ 'zh-tw'], 'in': 'query', 'name': 'lang', - 'type': 'string'}], + 'type': 'string'}, + {'in': 'query', 'name': 'rich', 'type': 'boolean'}], 'security': ['ApiKeyAuth']}, 'brave-videos': {'bodyParam': None, 'bodyRequired': False, @@ -16269,6 +16296,19 @@ 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, {'in': 'query', 'name': 'region', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'duckduckgo-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'duckduckgo-suggest', + 'method': 'GET', + 'path': '/duckduckgo/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'count', 'type': 'integer'}, + {'in': 'query', 'name': 'region', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'duckduckgo-video': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -23807,7 +23847,12 @@ 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, {'in': 'query', 'name': 'count', 'type': 'integer'}, {'in': 'query', 'name': 'country', 'type': 'string'}, - {'in': 'query', 'name': 'lang', 'type': 'string'}], + {'in': 'query', 'name': 'lang', 'type': 'string'}, + {'enum': ['web', 'youtube', 'shopping'], + 'in': 'query', + 'name': 'source', + 'type': 'string'}, + {'in': 'query', 'name': 'rich', 'type': 'boolean'}], 'security': ['ApiKeyAuth']}, 'google-trends-categories': {'bodyParam': None, 'bodyRequired': False, @@ -24917,6 +24962,75 @@ {'in': 'query', 'name': 'page', 'type': 'integer'}, {'in': 'query', 'name': 'per_page', 'type': 'integer'}], 'security': ['ApiKeyAuth']}, + 'greystar-unit-locations': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'greystar-unit-locations', + 'method': 'GET', + 'path': '/greystar/unit-locations', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'greystar-units': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'greystar-units', + 'method': 'GET', + 'paginatable': True, + 'path': '/greystar/units', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'location', 'type': 'string'}, + {'collectionFormat': 'multi', + 'enum': ['0', '1', '2', '3', '4', '5', '6'], + 'in': 'query', + 'name': 'bedrooms', + 'type': 'array'}, + {'collectionFormat': 'multi', + 'enum': ['0', '1', '2', '3', '4'], + 'in': 'query', + 'name': 'bathrooms', + 'type': 'array'}, + {'collectionFormat': 'multi', + 'enum': ['Active Adult', + 'Garden', + 'High-Rise', + 'Mid-Rise', + 'Single Family Home', + 'Student', + 'Townhome'], + 'in': 'query', + 'name': 'building_type', + 'type': 'array'}, + {'collectionFormat': 'multi', + 'enum': ['airCon', + 'dishwasher', + 'eco', + 'fitness', + 'garages', + 'limitedAccess', + 'patioBalcony', + 'pets', + 'playground', + 'pools', + 'smokeFree', + 'walkInClosets', + 'washerDryer'], + 'in': 'query', + 'name': 'highlights', + 'type': 'array'}, + {'in': 'query', 'name': 'min_price', 'type': 'number'}, + {'in': 'query', 'name': 'max_price', 'type': 'number'}, + {'enum': ['relevance', 'price_asc'], + 'in': 'query', + 'name': 'sort', + 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}, + {'in': 'query', 'name': 'per_page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, 'grubhub-availability': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -47185,6 +47299,19 @@ 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'qwant-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'qwant-suggest', + 'method': 'GET', + 'path': '/qwant/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'count', 'type': 'integer'}, + {'in': 'query', 'name': 'locale', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'raisingcanes-directory': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -54805,6 +54932,18 @@ {'in': 'query', 'name': 'lng', 'type': 'number'}, {'enum': ['us', 'ca'], 'in': 'query', 'name': 'market', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'startpage-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'startpage-suggest', + 'method': 'GET', + 'path': '/startpage/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'count', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, 'startribune-news': {'bodyParam': None, 'bodyRequired': False, 'consumes': [], @@ -65117,6 +65256,32 @@ 'produces': ['application/json'], 'queryParams': [], 'security': ['ApiKeyAuth']}, + 'yandex-search': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'yandex-search', + 'method': 'GET', + 'paginatable': True, + 'path': '/yandex/search', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'yandex-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'yandex-suggest', + 'method': 'GET', + 'path': '/yandex/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'count', 'type': 'integer'}, + {'in': 'query', 'name': 'lang', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'yardbarker-article': {'bodyParam': None, 'bodyRequired': False, 'consumes': [], @@ -65466,6 +65631,20 @@ {'in': 'query', 'name': 'gl', 'type': 'string'}, {'in': 'query', 'name': 'params', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'youtube-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'youtube-suggest', + 'method': 'GET', + 'path': '/youtube/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'count', 'type': 'integer'}, + {'in': 'query', 'name': 'hl', 'type': 'string'}, + {'in': 'query', 'name': 'gl', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'youtube-tag': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -66383,6 +66562,7 @@ 'series': 'audible-series'}, 'autotrader': {'dealer': 'autotrader-dealer', 'search': 'autotrader-search', 'vehicle': 'autotrader-vehicle'}, 'axios': {'article': 'axios-article', 'categories': 'axios-categories', 'headlines': 'axios-headlines'}, + 'baidu': {'search': 'baidu-search', 'suggest': 'baidu-suggest'}, 'balenciaga': {'categories': 'balenciaga-categories', 'category': 'balenciaga-category', 'product': 'balenciaga-product', @@ -66988,6 +67168,7 @@ 'duckduckgo_news': 'duckduckgo-news', 'duckduckgo_search': 'duckduckgo-search', 'duckduckgo_shopping': 'duckduckgo-shopping', + 'duckduckgo_suggest': 'duckduckgo-suggest', 'duckduckgo_video': 'duckduckgo-video'}, 'dunkin': {'directory': 'dunkin-directory', 'menu': 'dunkin-menu', 'nearby': 'dunkin-nearby', 'store': 'dunkin-store'}, 'dw': {'article': 'dw-article', @@ -67450,7 +67631,9 @@ 'newsroom': 'greystar-newsroom', 'newsroom_article': 'greystar-newsroom-article', 'property': 'greystar-property', - 'search': 'greystar-search'}, + 'search': 'greystar-search', + 'unit_locations': 'greystar-unit-locations', + 'units': 'greystar-units'}, 'grubhub': {'availability': 'grubhub-availability', 'offers': 'grubhub-offers', 'restaurant': 'grubhub-restaurant', @@ -68506,6 +68689,7 @@ 'sitemap_urls': 'quince-sitemap-urls', 'sitemaps': 'quince-sitemaps', 'suggest': 'quince-suggest'}, + 'qwant': {'suggest': 'qwant-suggest'}, 'raising_cane_s': {'raisingcanes_directory': 'raisingcanes-directory', 'raisingcanes_menu': 'raisingcanes-menu', 'raisingcanes_nearby': 'raisingcanes-nearby', @@ -68936,6 +69120,7 @@ 'nutrition': 'starbucks-nutrition', 'product': 'starbucks-product', 'stores': 'starbucks-stores'}, + 'startpage': {'suggest': 'startpage-suggest'}, 'steam': {'achievements': 'steam-achievements', 'app': 'steam-app', 'category': 'steam-category', @@ -69597,6 +69782,7 @@ 'tennis_schedule': 'yahoo-sports-tennis-schedule', 'tennis_scoreboard': 'yahoo-sports-tennis-scoreboard'}, 'yahoo_tech': {'article': 'yahoo-tech-article', 'category': 'yahoo-tech-category', 'home': 'yahoo-tech-home'}, + 'yandex': {'search': 'yandex-search', 'suggest': 'yandex-suggest'}, 'yardbarker': {'article': 'yardbarker-article', 'author': 'yardbarker-author', 'headlines': 'yardbarker-headlines', @@ -69623,6 +69809,7 @@ 'playlist': 'youtube-playlist', 'profile': 'youtube-profile', 'search': 'youtube-search', + 'suggest': 'youtube-suggest', 'tag': 'youtube-tag', 'transcript': 'youtube-transcript', 'transcript_languages': 'youtube-transcript-languages', @@ -69658,7 +69845,7 @@ 'restaurant_menu': 'zomato-restaurant-menu', 'search': 'zomato-search'}} -OPERATION_COUNT = 3529 +OPERATION_COUNT = 3539 class OperationId: ABC_NEWS_ABCNEWS_ARTICLE = 'abcnews-article' @@ -69857,6 +70044,8 @@ class OperationId: AXIOS_ARTICLE = 'axios-article' AXIOS_CATEGORIES = 'axios-categories' AXIOS_HEADLINES = 'axios-headlines' + BAIDU_SEARCH = 'baidu-search' + BAIDU_SUGGEST = 'baidu-suggest' BALENCIAGA_CATEGORIES = 'balenciaga-categories' BALENCIAGA_CATEGORY = 'balenciaga-category' BALENCIAGA_PRODUCT = 'balenciaga-product' @@ -70469,6 +70658,7 @@ class OperationId: DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_NEWS = 'duckduckgo-news' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_SEARCH = 'duckduckgo-search' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_SHOPPING = 'duckduckgo-shopping' + DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_SUGGEST = 'duckduckgo-suggest' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_VIDEO = 'duckduckgo-video' DUNKIN_DIRECTORY = 'dunkin-directory' DUNKIN_MENU = 'dunkin-menu' @@ -70941,6 +71131,8 @@ class OperationId: GREYSTAR_NEWSROOM_ARTICLE = 'greystar-newsroom-article' GREYSTAR_PROPERTY = 'greystar-property' GREYSTAR_SEARCH = 'greystar-search' + GREYSTAR_UNIT_LOCATIONS = 'greystar-unit-locations' + GREYSTAR_UNITS = 'greystar-units' GRUBHUB_AVAILABILITY = 'grubhub-availability' GRUBHUB_OFFERS = 'grubhub-offers' GRUBHUB_RESTAURANT = 'grubhub-restaurant' @@ -72007,6 +72199,7 @@ class OperationId: QUINCE_SITEMAP_URLS = 'quince-sitemap-urls' QUINCE_SITEMAPS = 'quince-sitemaps' QUINCE_SUGGEST = 'quince-suggest' + QWANT_SUGGEST = 'qwant-suggest' RAISING_CANE_SRAISINGCANES_DIRECTORY = 'raisingcanes-directory' RAISING_CANE_SRAISINGCANES_MENU = 'raisingcanes-menu' RAISING_CANE_SRAISINGCANES_NEARBY = 'raisingcanes-nearby' @@ -72445,6 +72638,7 @@ class OperationId: STARBUCKS_NUTRITION = 'starbucks-nutrition' STARBUCKS_PRODUCT = 'starbucks-product' STARBUCKS_STORES = 'starbucks-stores' + STARTPAGE_SUGGEST = 'startpage-suggest' STEAM_ACHIEVEMENTS = 'steam-achievements' STEAM_APP = 'steam-app' STEAM_CATEGORY = 'steam-category' @@ -73126,6 +73320,8 @@ class OperationId: YAHOO_TECH_ARTICLE = 'yahoo-tech-article' YAHOO_TECH_CATEGORY = 'yahoo-tech-category' YAHOO_TECH_HOME = 'yahoo-tech-home' + YANDEX_SEARCH = 'yandex-search' + YANDEX_SUGGEST = 'yandex-suggest' YARDBARKER_ARTICLE = 'yardbarker-article' YARDBARKER_AUTHOR = 'yardbarker-author' YARDBARKER_HEADLINES = 'yardbarker-headlines' @@ -73152,6 +73348,7 @@ class OperationId: YOUTUBE_PLAYLIST = 'youtube-playlist' YOUTUBE_PROFILE = 'youtube-profile' YOUTUBE_SEARCH = 'youtube-search' + YOUTUBE_SUGGEST = 'youtube-suggest' YOUTUBE_TAG = 'youtube-tag' YOUTUBE_TRANSCRIPT = 'youtube-transcript' YOUTUBE_TRANSCRIPT_LANGUAGES = 'youtube-transcript-languages' diff --git a/docs/operations.md b/docs/operations.md index 7a7fe91..32aaf90 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -2,7 +2,7 @@ Generated from `openapi/public.json`. Deprecated, admin, and internal operations are excluded from this SDK contract. -Total operations: `3529` +Total operations: `3539` | Group | SDK method | Operation ID | HTTP | Params | Auth | Response | Notes | | --- | --- | --- | --- | --- | --- | --- | --- | @@ -216,6 +216,8 @@ Total operations: `3529` | axios | `axios.article` | `axios-article` | `GET /axios/article` | `url` (query str required) | `ApiKeyAuth` | `AxiosArticleResponse` | | | axios | `axios.categories` | `axios-categories` | `GET /axios/categories` | none | `ApiKeyAuth` | `AxiosCategoriesResponse` | | | axios | `axios.headlines` | `axios-headlines` | `GET /axios/headlines` | `topic` (query str required) | `ApiKeyAuth` | `AxiosHeadlinesResponse` | | +| baidu | `baidu.search` | `baidu-search` | `GET /baidu/search` | `q` (query str required)
`page` (query int) | `ApiKeyAuth` | `BaiduSearchResponse` | | +| baidu | `baidu.suggest` | `baidu-suggest` | `GET /baidu/suggest` | `q` (query str required)
`count` (query int) | `ApiKeyAuth` | `BaiduSuggestResponse` | | | balenciaga | `balenciaga.categories` | `balenciaga-categories` | `GET /balenciaga/categories` | none | `ApiKeyAuth` | `BalenciagaCategoriesResponse` | | | balenciaga | `balenciaga.category` | `balenciaga-category` | `GET /balenciaga/category` | `path` (query str required)
`sort` (query Literal['latest', 'price_ascending', 'price_descending'])
`page` (query int)
`limit` (query int)
`filters` (query str) | `ApiKeyAuth` | `BalenciagaCategoryResponse` | | | balenciaga | `balenciaga.product` | `balenciaga-product` | `GET /balenciaga/product` | `url` (query str required) | `ApiKeyAuth` | `BalenciagaProductResponse` | | @@ -288,7 +290,7 @@ Total operations: `3529` | bing | `bing.images` | `bing-images` | `GET /bing/images` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `BingImagesResponse` | | | bing | `bing.news` | `bing-news` | `GET /bing/news` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `BingNewsResponse` | | | bing | `bing.search` | `bing-search` | `GET /bing/search` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `BingSearchResponse` | | -| bing | `bing.suggest` | `bing-suggest` | `GET /bing/suggest` | `q` (query str required)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `BingSuggestResponse` | | +| bing | `bing.suggest` | `bing-suggest` | `GET /bing/suggest` | `q` (query str required)
`count` (query int)
`country` (query str)
`lang` (query str)
`rich` (query bool) | `ApiKeyAuth` | `BingSuggestResponse` | | | bing | `bing.videos` | `bing-videos` | `GET /bing/videos` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `BingVideosResponse` | | | birmingham_mail | `birmingham_mail.birminghammail_article` | `birminghammail-article` | `GET /birminghammail/article` | `url` (query str required) | `ApiKeyAuth` | `BirminghamMailBirminghammailArticleResponse` | | | birmingham_mail | `birmingham_mail.birminghammail_author` | `birminghammail-author` | `GET /birminghammail/author` | `slug` (query str)
`url` (query str)
`page` (query int) | `ApiKeyAuth` | `BirminghamMailBirminghammailAuthorResponse` | | @@ -358,7 +360,7 @@ Total operations: `3529` | brave | `brave.images` | `brave-images` | `GET /brave/images` | `q` (query str required)
`offset` (query int)
`count` (query int)
`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])
`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw']) | `ApiKeyAuth` | `BraveImagesResponse` | | | brave | `brave.news` | `brave-news` | `GET /brave/news` | `q` (query str required)
`offset` (query int)
`count` (query int)
`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])
`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw'])
`time_range` (query Literal['any', 'day', 'week', 'month', 'year', 'custom'])
`date_from` (query str)
`date_to` (query str) | `ApiKeyAuth` | `BraveNewsResponse` | | | brave | `brave.search` | `brave-search` | `GET /brave/search` | `q` (query str required)
`offset` (query int)
`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])
`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw'])
`time_range` (query Literal['any', 'day', 'week', 'month', 'year', 'custom'])
`date_from` (query str)
`date_to` (query str) | `ApiKeyAuth` | `BraveSearchResponse` | | -| brave | `brave.suggest` | `brave-suggest` | `GET /brave/suggest` | `q` (query str required)
`count` (query int)
`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])
`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw']) | `ApiKeyAuth` | `BraveSuggestResponse` | | +| brave | `brave.suggest` | `brave-suggest` | `GET /brave/suggest` | `q` (query str required)
`count` (query int)
`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])
`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw'])
`rich` (query bool) | `ApiKeyAuth` | `BraveSuggestResponse` | | | brave | `brave.videos` | `brave-videos` | `GET /brave/videos` | `q` (query str required)
`offset` (query int)
`count` (query int)
`country` (query Literal['all', 'ar', 'at', 'au', 'be', 'br', 'ca', 'ch', 'cl', 'cn', 'de', 'dk', 'es', 'fi', 'fr', 'gb', 'gr', 'hk', 'id', 'in', 'it', 'jp', 'kr', 'mx', 'my', 'nl', 'no', 'nz', 'ph', 'pl', 'pt', 'ru', 'sa', 'se', 'sg', 'tr', 'tw', 'us', 'za'])
`lang` (query Literal['de-de', 'en-ca', 'en-gb', 'en-in', 'en-us', 'fi-fi', 'fr-ca', 'fr-fr', 'ja-jp', 'pt-br', 'sq-al', 'sw-ke', 'zh-tw'])
`time_range` (query Literal['any', 'day', 'week', 'month', 'year', 'custom'])
`date_from` (query str)
`date_to` (query str) | `ApiKeyAuth` | `BraveVideosResponse` | | | breitbart | `breitbart.article` | `breitbart-article` | `GET /breitbart/article` | `url` (query str required) | `ApiKeyAuth` | `BreitbartArticleResponse` | | | breitbart | `breitbart.author` | `breitbart-author` | `GET /breitbart/author` | `slug` (query str)
`url` (query str)
`page` (query int) | `ApiKeyAuth` | `BreitbartAuthorResponse` | | @@ -844,6 +846,7 @@ Total operations: `3529` | duck_duck_go_search | `duck_duck_go_search.duckduckgo_news` | `duckduckgo-news` | `GET /duckduckgo/news` | `q` (query str required)
`page` (query int)
`region` (query str) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoNewsResponse` | | | duck_duck_go_search | `duck_duck_go_search.duckduckgo_search` | `duckduckgo-search` | `GET /duckduckgo/search` | `q` (query str required)
`page` (query int)
`region` (query str)
`time_range` (query Literal['d', 'w', 'm', 'y'])
`safe_search` (query Literal['strict', 'moderate', 'off']) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoSearchResponse` | | | duck_duck_go_search | `duck_duck_go_search.duckduckgo_shopping` | `duckduckgo-shopping` | `GET /duckduckgo/shopping` | `q` (query str required)
`region` (query str) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoShoppingResponse` | | +| duck_duck_go_search | `duck_duck_go_search.duckduckgo_suggest` | `duckduckgo-suggest` | `GET /duckduckgo/suggest` | `q` (query str required)
`count` (query int)
`region` (query str) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoSuggestResponse` | | | duck_duck_go_search | `duck_duck_go_search.duckduckgo_video` | `duckduckgo-video` | `GET /duckduckgo/video` | `q` (query str required)
`page` (query int)
`region` (query str) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoVideoResponse` | | | dunkin | `dunkin.directory` | `dunkin-directory` | `GET /dunkin/directory` | `path` (query str) | `ApiKeyAuth` | `DunkinDirectoryResponse` | | | dunkin | `dunkin.menu` | `dunkin-menu` | `GET /dunkin/menu` | none | `ApiKeyAuth` | `DunkinMenuResponse` | | @@ -1257,7 +1260,7 @@ Total operations: `3529` | google | `google.map_search` | `google-map-search` | `POST /google/map/search` | `mapSearchOption` (body str required) | `ApiKeyAuth` | `GoogleMapSearchResponse` | | | google | `google.news` | `google-news` | `GET /google/news` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GoogleNewsResponse` | | | google | `google.news_search` | `google-news-search` | `POST /google/news` | `searchOption` (body str required) | `ApiKeyAuth` | `GoogleNewsSearchResponse` | | -| google | `google.suggest` | `google-suggest` | `GET /google/suggest` | `q` (query str required)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GoogleSuggestResponse` | | +| google | `google.suggest` | `google-suggest` | `GET /google/suggest` | `q` (query str required)
`count` (query int)
`country` (query str)
`lang` (query str)
`source` (query Literal['web', 'youtube', 'shopping'])
`rich` (query bool) | `ApiKeyAuth` | `GoogleSuggestResponse` | | | google | `google.trends_categories` | `google-trends-categories` | `GET /google/trends/categories` | none | `ApiKeyAuth` | `GoogleTrendsCategoriesResponse` | | | google | `google.trends_enums` | `google-trends-enums` | `GET /google/trends/enums` | none | `ApiKeyAuth` | `GoogleTrendsEnumsResponse` | | | google | `google.trends_explore` | `google-trends-explore` | `POST /google/trends/explore` | `request` (body str required) | `ApiKeyAuth` | `GoogleTrendsExploreResponse` | | @@ -1312,6 +1315,8 @@ Total operations: `3529` | greystar | `greystar.newsroom_article` | `greystar-newsroom-article` | `GET /greystar/newsroom/{slug}` | `slug` (path str required) | `ApiKeyAuth` | `GreystarNewsroomArticleResponse` | | | greystar | `greystar.property` | `greystar-property` | `GET /greystar/properties/{id}` | `id` (path str required) | `ApiKeyAuth` | `GreystarPropertyResponse` | | | greystar | `greystar.search` | `greystar-search` | `GET /greystar/search` | `query` (query str)
`market_area` (query str)
`neighborhood` (query str)
`city` (query str)
`state` (query str)
`country_code` (query str)
`min_price` (query float)
`max_price` (query float)
`sort` (query Literal['relevance', 'name', 'price_asc', 'price_desc'])
`page` (query int)
`per_page` (query int) | `ApiKeyAuth` | `GreystarSearchResponse` | | +| greystar | `greystar.unit_locations` | `greystar-unit-locations` | `GET /greystar/unit-locations` | `query` (query str) | `ApiKeyAuth` | `GreystarUnitLocationsResponse` | | +| greystar | `greystar.units` | `greystar-units` | `GET /greystar/units` | `location` (query str)
`bedrooms` (query list[Literal['0', '1', '2', '3', '4', '5', '6']])
`bathrooms` (query list[Literal['0', '1', '2', '3', '4']])
`building_type` (query list[Literal['Active Adult', 'Garden', 'High-Rise', 'Mid-Rise', 'Single Family Home', 'Student', 'Townhome']])
`highlights` (query list[Literal['airCon', 'dishwasher', 'eco', 'fitness', 'garages', 'limitedAccess', 'patioBalcony', 'pets', 'playground', 'pools', 'smokeFree', 'walkInClosets', 'washerDryer']])
`min_price` (query float)
`max_price` (query float)
`sort` (query Literal['relevance', 'price_asc'])
`page` (query int)
`per_page` (query int) | `ApiKeyAuth` | `GreystarUnitsResponse` | | | grubhub | `grubhub.availability` | `grubhub-availability` | `GET /grubhub/availability` | `restaurant_ids` (query str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `GrubhubAvailabilityResponse` | | | grubhub | `grubhub.offers` | `grubhub-offers` | `GET /grubhub/offers` | `restaurant_id` (query str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `GrubhubOffersResponse` | | | grubhub | `grubhub.restaurant` | `grubhub-restaurant` | `GET /grubhub/restaurant` | `restaurant_id` (query str required) | `ApiKeyAuth` | `GrubhubRestaurantResponse` | | @@ -2402,6 +2407,7 @@ Total operations: `3529` | quince | `quince.sitemap_urls` | `quince-sitemap-urls` | `GET /quince/sitemap/urls` | `type` (query Literal['all', 'products', 'collections', 'subcollections', 'pages'])
`limit` (query int) | `ApiKeyAuth` | `QuinceSitemapUrlsResponse` | | | quince | `quince.sitemaps` | `quince-sitemaps` | `GET /quince/sitemaps` | none | `ApiKeyAuth` | `QuinceSitemapsResponse` | | | quince | `quince.suggest` | `quince-suggest` | `GET /quince/suggest` | `q` (query str required) | `ApiKeyAuth` | `QuinceSuggestResponse` | | +| qwant | `qwant.suggest` | `qwant-suggest` | `GET /qwant/suggest` | `q` (query str required)
`count` (query int)
`locale` (query str) | `ApiKeyAuth` | `QwantSuggestResponse` | | | raising_cane_s | `raising_cane_s.raisingcanes_directory` | `raisingcanes-directory` | `GET /raisingcanes/directory` | `path` (query str) | `ApiKeyAuth` | `RaisingCaneSRaisingcanesDirectoryResponse` | | | raising_cane_s | `raising_cane_s.raisingcanes_menu` | `raisingcanes-menu` | `GET /raisingcanes/menu` | none | `ApiKeyAuth` | `RaisingCaneSRaisingcanesMenuResponse` | | | raising_cane_s | `raising_cane_s.raisingcanes_nearby` | `raisingcanes-nearby` | `GET /raisingcanes/nearby` | `latitude` (query float required)
`longitude` (query float required)
`radius` (query int)
`limit` (query int)
`offset` (query int) | `ApiKeyAuth` | `RaisingCaneSRaisingcanesNearbyResponse` | | @@ -2842,6 +2848,7 @@ Total operations: `3529` | starbucks | `starbucks.product` | `starbucks-product` | `GET /starbucks/product/{product_number}/{form}` | `product_number` (path str required)
`form` (path Literal['hot', 'iced', 'single', 'packaged', 'whole-bean', 'via'] required)
`store_number` (query str)
`market` (query Literal['us', 'ca']) | `ApiKeyAuth` | `StarbucksProductResponse` | | | starbucks | `starbucks.nutrition` | `starbucks-nutrition` | `POST /starbucks/product/{product_number}/{form}/nutrition` | `product_number` (path str required)
`form` (path Literal['hot'] required)
`request` (body str required) | `ApiKeyAuth` | `StarbucksNutritionResponse` | | | starbucks | `starbucks.stores` | `starbucks-stores` | `GET /starbucks/stores` | `place` (query str)
`lat` (query float)
`lng` (query float)
`market` (query Literal['us', 'ca']) | `ApiKeyAuth` | `StarbucksStoresResponse` | | +| startpage | `startpage.suggest` | `startpage-suggest` | `GET /startpage/suggest` | `q` (query str required)
`count` (query int) | `ApiKeyAuth` | `StartpageSuggestResponse` | | | minnesota_star_tribune | `minnesota_star_tribune.startribune_news` | `startribune-news` | `GET /startribune/news` | none | `ApiKeyAuth` | `MinnesotaStarTribuneStartribuneNewsResponse` | | | steam | `steam.achievements` | `steam-achievements` | `GET /steam/achievements` | `appid` (query str required) | `ApiKeyAuth` | `SteamAchievementsResponse` | | | steam | `steam.app` | `steam-app` | `GET /steam/app` | `appid` (query str required)
`cc` (query str)
`l` (query str)
`filters` (query str) | `ApiKeyAuth` | `SteamAppResponse` | | @@ -3471,6 +3478,8 @@ Total operations: `3529` | yahoo_tech | `yahoo_tech.article` | `yahoo-tech-article` | `GET /yahoo-tech/article` | `url` (query str required) | `ApiKeyAuth` | `YahooTechArticleResponse` | | | yahoo_tech | `yahoo_tech.category` | `yahoo-tech-category` | `GET /yahoo-tech/category` | `category` (query Literal['ai', 'apps', 'audio', 'computing', 'deals', 'gaming', 'home', 'home-entertainment', 'phones', 'puzzles', 'science', 'streaming', 'vpn', 'wearables'] required)
`page` (query int) | `ApiKeyAuth` | `YahooTechCategoryResponse` | | | yahoo_tech | `yahoo_tech.home` | `yahoo-tech-home` | `GET /yahoo-tech/home` | none | `ApiKeyAuth` | `YahooTechHomeResponse` | | +| yandex | `yandex.search` | `yandex-search` | `GET /yandex/search` | `q` (query str required)
`page` (query int) | `ApiKeyAuth` | `YandexSearchResponse` | | +| yandex | `yandex.suggest` | `yandex-suggest` | `GET /yandex/suggest` | `q` (query str required)
`count` (query int)
`lang` (query str) | `ApiKeyAuth` | `YandexSuggestResponse` | | | yardbarker | `yardbarker.article` | `yardbarker-article` | `GET /yardbarker/article` | `url` (query str required) | `ApiKeyAuth` | `YardbarkerArticleResponse` | | | yardbarker | `yardbarker.author` | `yardbarker-author` | `GET /yardbarker/author` | `url` (query str required) | `ApiKeyAuth` | `YardbarkerAuthorResponse` | | | yardbarker | `yardbarker.headlines` | `yardbarker-headlines` | `GET /yardbarker/headlines` | `section` (query str required) | `ApiKeyAuth` | `YardbarkerHeadlinesResponse` | | @@ -3497,6 +3506,7 @@ Total operations: `3529` | youtube | `youtube.playlist` | `youtube-playlist` | `GET /youtube/playlist/{id}` | `id` (path str required)
`continuation_token` (query str) | `ApiKeyAuth` | `YoutubePlaylistResponse` | | | youtube | `youtube.profile` | `youtube-profile` | `GET /youtube/profile/{id}` | `id` (path str required) | `ApiKeyAuth` | `YoutubeProfileResponse` | | | youtube | `youtube.search` | `youtube-search` | `GET /youtube/search` | `q` (query str)
`search_query` (query str)
`continuation_token` (query str)
`type` (query Literal['video', 'shorts', 'channel', 'playlist', 'movie'])
`sort_by` (query Literal['relevance', 'upload_date', 'view_count', 'popularity', 'rating'])
`upload_date` (query Literal['last_hour', 'today', 'this_week', 'this_month', 'this_year'])
`duration` (query Literal['under_3_minutes', 'three_to_20_minutes', 'over_20_minutes', 'under_3', 'three_to_20', 'over_20', 'short', 'medium', 'long'])
`features` (query str)
`hl` (query str)
`gl` (query str)
`params` (query str) | `ApiKeyAuth` | `YoutubeSearchResponse` | | +| youtube | `youtube.suggest` | `youtube-suggest` | `GET /youtube/suggest` | `q` (query str required)
`count` (query int)
`hl` (query str)
`gl` (query str) | `ApiKeyAuth` | `YoutubeSuggestResponse` | | | youtube | `youtube.tag` | `youtube-tag` | `GET /youtube/tag/{tag}` | `tag` (path str required)
`type` (query Literal['all', 'shorts'])
`continuation_token` (query str) | `ApiKeyAuth` | `YoutubeTagResponse` | | | youtube | `youtube.transcript` | `youtube-transcript` | `GET /youtube/transcript/{id}` | `id` (path str required)
`lang` (query str)
`translate_to` (query str)
`format` (query Literal['json', 'text', 'srt', 'vtt'])
`timestamps` (query bool) | `ApiKeyAuth` | `YoutubeTranscriptResponse` | Supports text response mode. | | youtube | `youtube.transcript_languages` | `youtube-transcript-languages` | `GET /youtube/transcript/{id}/languages` | `id` (path str required) | `ApiKeyAuth` | `YoutubeTranscriptLanguagesResponse` | | diff --git a/openapi/public.json b/openapi/public.json index a230acb..fe1da67 100644 --- a/openapi/public.json +++ b/openapi/public.json @@ -13195,6 +13195,107 @@ }, "type": "object" }, + "baidu.SearchPagination": { + "properties": { + "next_page": { + "example": 2, + "type": "integer" + }, + "page": { + "example": 1, + "type": "integer" + } + }, + "type": "object" + }, + "baidu.SearchResponse": { + "properties": { + "pagination": { + "$ref": "#/definitions/baidu.SearchPagination" + }, + "query": { + "example": "openai", + "type": "string" + }, + "results": { + "items": { + "$ref": "#/definitions/baidu.SearchResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "baidu.SearchResult": { + "properties": { + "date": { + "example": "2025年10月30日", + "type": "string" + }, + "description": { + "example": "据路透社援引知情人士爆料,OpenAI 正推进最早于2027年的上市计划", + "type": "string" + }, + "position": { + "example": 1, + "type": "integer" + }, + "source": { + "example": "新浪财经", + "type": "string" + }, + "title": { + "example": "OpenAI 万亿估值之谜", + "type": "string" + }, + "type": { + "enum": [ + "web", + "video", + "baike" + ], + "example": "web", + "type": "string" + }, + "url": { + "example": "https://baijiahao.baidu.com/s?id=1847370812297480431", + "type": "string" + } + }, + "type": "object" + }, + "baidu.searchResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/baidu.SearchResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "baidu.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/suggest.Response" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "balenciaga.CategoriesResponse": { "properties": { "categories": { @@ -18863,8 +18964,28 @@ }, "type": "object" }, + "bing.SuggestionEntity": { + "properties": { + "description": { + "example": "American AI company", + "type": "string" + }, + "image_url": { + "example": "https://ts3.tc.mm.bing.net/th/id/OSK.example?w=120&h=120", + "type": "string" + }, + "name": { + "example": "OpenAI", + "type": "string" + } + }, + "type": "object" + }, "bing.SuggestionResult": { "properties": { + "entity": { + "$ref": "#/definitions/bing.SuggestionEntity" + }, "position": { "example": 1, "type": "integer" @@ -23917,8 +24038,36 @@ }, "type": "object" }, + "brave.SuggestionEntity": { + "properties": { + "category": { + "example": "person", + "type": "string" + }, + "description": { + "example": "American singer-songwriter (born 1989)", + "type": "string" + }, + "image_url": { + "example": "https://imgs.search.brave.com/example.jpg", + "type": "string" + }, + "logo": { + "example": false, + "type": "boolean" + }, + "name": { + "example": "Taylor Swift", + "type": "string" + } + }, + "type": "object" + }, "brave.SuggestionResult": { "properties": { + "entity": { + "$ref": "#/definitions/brave.SuggestionEntity" + }, "position": { "example": 1, "type": "integer" @@ -48825,6 +48974,22 @@ }, "type": "object" }, + "duckduckgo.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/suggest.Response" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "duckduckgo.videoResponseDoc": { "properties": { "code": { @@ -74142,6 +74307,10 @@ "example": "openai", "type": "string" }, + "source": { + "example": "web", + "type": "string" + }, "suggestions": { "items": { "$ref": "#/definitions/google.SuggestionResult" @@ -74153,6 +74322,10 @@ }, "google.SuggestionResult": { "properties": { + "description": { + "example": "OpenAI Blog", + "type": "string" + }, "position": { "example": 1, "type": "integer" @@ -74160,6 +74333,14 @@ "query": { "example": "openai api", "type": "string" + }, + "relevance": { + "example": 601, + "type": "integer" + }, + "type": { + "example": "QUERY", + "type": "string" } }, "type": "object" @@ -77116,6 +77297,17 @@ }, "type": "object" }, + "greystar.FacetCount": { + "properties": { + "count": { + "type": "integer" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, "greystar.Fee": { "properties": { "amount": { @@ -77212,6 +77404,47 @@ }, "type": "object" }, + "greystar.ListedUnit": { + "properties": { + "banner": { + "type": "string" + }, + "bathrooms": { + "type": "number" + }, + "bedrooms": { + "type": "number" + }, + "floorplan": { + "type": "string" + }, + "max_price": { + "type": "number" + }, + "min_base_rent_lease_term": { + "type": "integer" + }, + "min_price": { + "type": "number" + }, + "price": { + "type": "number" + }, + "required_monthly_fees_max": { + "type": "number" + }, + "required_monthly_fees_min": { + "type": "number" + }, + "unit_id": { + "type": "string" + }, + "unit_number": { + "type": "string" + } + }, + "type": "object" + }, "greystar.Location": { "properties": { "address": { @@ -77728,6 +77961,139 @@ }, "type": "object" }, + "greystar.UnitFacets": { + "properties": { + "bathrooms": { + "items": { + "$ref": "#/definitions/greystar.FacetCount" + }, + "type": "array" + }, + "bedrooms": { + "items": { + "$ref": "#/definitions/greystar.FacetCount" + }, + "type": "array" + }, + "building_types": { + "items": { + "$ref": "#/definitions/greystar.FacetCount" + }, + "type": "array" + }, + "highlights": { + "items": { + "$ref": "#/definitions/greystar.FacetCount" + }, + "type": "array" + } + }, + "type": "object" + }, + "greystar.UnitLocation": { + "properties": { + "location": { + "type": "string" + }, + "parent": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "greystar.UnitLocationList": { + "properties": { + "locations": { + "items": { + "$ref": "#/definitions/greystar.UnitLocation" + }, + "type": "array" + }, + "total_count": { + "type": "integer" + } + }, + "type": "object" + }, + "greystar.UnitProperty": { + "properties": { + "address": { + "type": "string" + }, + "city": { + "type": "string" + }, + "latitude": { + "type": "number" + }, + "longitude": { + "type": "number" + }, + "matching_units": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "property_id": { + "type": "string" + }, + "state": { + "type": "string" + }, + "state_name": { + "type": "string" + }, + "thumbnail_url": { + "type": "string" + }, + "units": { + "items": { + "$ref": "#/definitions/greystar.ListedUnit" + }, + "type": "array" + }, + "units_truncated": { + "type": "boolean" + } + }, + "type": "object" + }, + "greystar.UnitSearchResult": { + "properties": { + "facets": { + "$ref": "#/definitions/greystar.UnitFacets" + }, + "location": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "properties": { + "items": { + "$ref": "#/definitions/greystar.UnitProperty" + }, + "type": "array" + }, + "total_count": { + "type": "integer" + }, + "total_pages": { + "type": "integer" + } + }, + "type": "object" + }, "grubhub.AvailabilityResponse": { "properties": { "count": { @@ -89016,17 +89382,6 @@ }, "type": "object" }, - "instagram.ImageVersions": { - "properties": { - "candidates": { - "items": { - "$ref": "#/definitions/instagram.ImageCandidate" - }, - "type": "array" - } - }, - "type": "object" - }, "instagram.ImageVersions2": { "properties": { "candidates": { @@ -89069,7 +89424,7 @@ "type": "string" }, "image_versions2": { - "$ref": "#/definitions/instagram.ImageVersions" + "$ref": "#/definitions/instagram.ReelImageVersions" }, "like_count": { "type": "integer" @@ -89254,6 +89609,31 @@ }, "type": "object" }, + "instagram.ReelImageCandidate": { + "properties": { + "height": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer" + } + }, + "type": "object" + }, + "instagram.ReelImageVersions": { + "properties": { + "candidates": { + "items": { + "$ref": "#/definitions/instagram.ReelImageCandidate" + }, + "type": "array" + } + }, + "type": "object" + }, "instagram.ReelResponse": { "properties": { "items": { @@ -137596,6 +137976,22 @@ }, "type": "object" }, + "qwant.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/suggest.Response" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "raisingcanes.DirectoryChild": { "properties": { "is_store": { @@ -165531,6 +165927,22 @@ }, "type": "object" }, + "startpage.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/suggest.Response" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "steam.AchievementsResponse": { "properties": { "achievements": { @@ -171667,6 +172079,34 @@ }, "type": "object" }, + "suggest.Response": { + "properties": { + "query": { + "example": "openai", + "type": "string" + }, + "suggestions": { + "items": { + "$ref": "#/definitions/suggest.Suggestion" + }, + "type": "array" + } + }, + "type": "object" + }, + "suggest.Suggestion": { + "properties": { + "position": { + "example": 1, + "type": "integer" + }, + "query": { + "example": "openai api key", + "type": "string" + } + }, + "type": "object" + }, "sun.AuthorArticle": { "properties": { "category": { @@ -192622,6 +193062,9 @@ "example": "", "type": "string" }, + "dedicated": { + "type": "boolean" + }, "formats": { "example": [ "markdown" @@ -202869,6 +203312,94 @@ }, "type": "object" }, + "yandex.SearchPagination": { + "properties": { + "next_page": { + "example": 2, + "type": "integer" + }, + "page": { + "example": 1, + "type": "integer" + } + }, + "type": "object" + }, + "yandex.SearchResponse": { + "properties": { + "pagination": { + "$ref": "#/definitions/yandex.SearchPagination" + }, + "query": { + "example": "openai", + "type": "string" + }, + "results": { + "items": { + "$ref": "#/definitions/yandex.SearchResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "yandex.SearchResult": { + "properties": { + "description": { + "example": "OpenAI is an AI research and deployment company.", + "type": "string" + }, + "display_url": { + "example": "openai.com", + "type": "string" + }, + "position": { + "example": 1, + "type": "integer" + }, + "title": { + "example": "OpenAI | Research & Deployment", + "type": "string" + }, + "url": { + "example": "https://openai.com/", + "type": "string" + } + }, + "type": "object" + }, + "yandex.searchResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/yandex.SearchResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "yandex.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/suggest.Response" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "yardbarker.AuthorResponse": { "properties": { "articles": { @@ -204523,6 +205054,22 @@ }, "type": "object" }, + "youtube.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/suggest.Response" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "youtube.tagMeta": { "properties": { "channelsCount": { @@ -222908,27 +223455,87 @@ "ApiKeyAuth": [] } ], - "summary": "Search Autotrader vehicle listings", + "summary": "Search Autotrader vehicle listings", + "tags": [ + "Autotrader" + ] + } + }, + "/autotrader/vehicle/{id}": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.", + "operationId": "autotrader-vehicle", + "parameters": [ + { + "description": "Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL", + "in": "path", + "name": "id", + "required": true, + "type": "string", + "x-example": "754822172" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/autotrader.VehicleResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Autotrader vehicle listing detail", "tags": [ "Autotrader" ] } }, - "/autotrader/vehicle/{id}": { + "/axios/article": { "get": { - "consumes": [ - "application/json" - ], - "description": "Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.", - "operationId": "autotrader-vehicle", + "description": "Returns a public Axios article's metadata and full body paragraphs from a canonical article URL. Subscriber-only stories with no free preview return a 403 permission error instead of an empty body.", + "operationId": "axios-article", "parameters": [ { - "description": "Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL", - "in": "path", - "name": "id", + "description": "Canonical www.axios.com article URL", + "in": "query", + "name": "url", "required": true, "type": "string", - "x-example": "754822172" + "x-example": "https://www.axios.com/2026/09/19/google-safety-incidents-testing-hacks" } ], "produces": [ @@ -222938,7 +223545,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/autotrader.VehicleResponse" + "$ref": "#/definitions/axios.articleResponseDoc" } }, "400": { @@ -222947,14 +223554,20 @@ "$ref": "#/definitions/app.Response" } }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -222971,24 +223584,62 @@ "ApiKeyAuth": [] } ], - "summary": "Get Autotrader vehicle listing detail", + "summary": "Get Axios article content", "tags": [ - "Autotrader" + "Axios" ] } }, - "/axios/article": { + "/axios/categories": { "get": { - "description": "Returns a public Axios article's metadata and full body paragraphs from a canonical article URL. Subscriber-only stories with no free preview return a 403 permission error instead of an empty body.", - "operationId": "axios-article", + "description": "Returns Axios's full public topic and subtopic navigation tree. Use a subtopic's topic value directly as the topic parameter on axios-headlines.", + "operationId": "axios-categories", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/axios.categoriesResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Axios topic navigation", + "tags": [ + "Axios" + ] + } + }, + "/axios/headlines": { + "get": { + "description": "Returns the newest public Axios stories on one topic or subtopic page. topic is a topic slug (e.g. technology) or a topic/subtopic path (e.g. technology/automation-and-ai) -- see axios-categories for the full known value space.", + "operationId": "axios-headlines", "parameters": [ { - "description": "Canonical www.axios.com article URL", + "description": "Axios topic slug or topic/subtopic path", "in": "query", - "name": "url", + "name": "topic", "required": true, "type": "string", - "x-example": "https://www.axios.com/2026/09/19/google-safety-incidents-testing-hacks" + "x-example": "technology" } ], "produces": [ @@ -222998,7 +223649,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/axios.articleResponseDoc" + "$ref": "#/definitions/axios.headlinesResponseDoc" } }, "400": { @@ -223007,12 +223658,6 @@ "$ref": "#/definitions/app.Response" } }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/app.Response" - } - }, "404": { "description": "Not Found", "schema": { @@ -223037,16 +223682,38 @@ "ApiKeyAuth": [] } ], - "summary": "Get Axios article content", + "summary": "Get Axios topic headlines", "tags": [ "Axios" ] } }, - "/axios/categories": { + "/baidu/search": { "get": { - "description": "Returns Axios's full public topic and subtopic navigation tree. Use a subtopic's topic value directly as the topic parameter on axios-headlines.", - "operationId": "axios-categories", + "consumes": [ + "application/json" + ], + "description": "Returns normalized Baidu result cards for a query, read from Baidu's mobile search page: title, destination URL, snippet, publisher, and date, with page-based pagination. Each result's `type` is `web` (standard pages), `video` (video cards), or `baike` (Baidu Baike encyclopedia entries); answer widgets such as weather, entity panels, and recommendation lists are not returned. Baidu challenges a portion of requests with a security verification page; the service retries across browser profiles and returns 503 if every attempt is challenged, so callers should retry on 503.", + "operationId": "baidu-search", + "parameters": [ + { + "description": "Search query", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "openai" + }, + { + "description": "1-based result page; defaults to 1, maximum 10", + "in": "query", + "maximum": 10, + "minimum": 1, + "name": "page", + "type": "integer", + "x-example": 1 + } + ], "produces": [ "application/json" ], @@ -223054,17 +223721,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/axios.categoriesResponseDoc" + "$ref": "#/definitions/baidu.searchResponseDoc" + } + }, + "400": { + "description": "Missing or invalid parameters", + "schema": { + "$ref": "#/definitions/app.Response" } }, "429": { - "description": "Too Many Requests", + "description": "Rate limit exceeded", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal server error", "schema": { "$ref": "#/definitions/app.Response" } }, "503": { - "description": "Service Unavailable", + "description": "Baidu upstream request failed or was challenged with a security verification", "schema": { "$ref": "#/definitions/app.Response" } @@ -223075,24 +223754,36 @@ "ApiKeyAuth": [] } ], - "summary": "Get Axios topic navigation", + "summary": "Search Baidu web results", "tags": [ - "Axios" + "Baidu" ] } }, - "/axios/headlines": { + "/baidu/suggest": { "get": { - "description": "Returns the newest public Axios stories on one topic or subtopic page. topic is a topic slug (e.g. technology) or a topic/subtopic path (e.g. technology/automation-and-ai) -- see axios-categories for the full known value space.", - "operationId": "axios-headlines", + "consumes": [ + "application/json" + ], + "description": "Returns Baidu search-box autocomplete completions for a query prefix, in Baidu's own ranking order. Baidu never returns more than 10 suggestions per prefix; Chinese prefixes are supported.", + "operationId": "baidu-suggest", "parameters": [ { - "description": "Axios topic slug or topic/subtopic path", + "description": "Search query prefix", "in": "query", - "name": "topic", + "name": "q", "required": true, "type": "string", - "x-example": "technology" + "x-example": "openai" + }, + { + "description": "Suggestions to return; defaults to 10, clamped to 1..10", + "in": "query", + "maximum": 10, + "minimum": 1, + "name": "count", + "type": "integer", + "x-example": 10 } ], "produces": [ @@ -223102,29 +223793,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/axios.headlinesResponseDoc" + "$ref": "#/definitions/baidu.suggestResponseDoc" } }, "400": { - "description": "Bad Request", + "description": "Missing or invalid parameters", "schema": { "$ref": "#/definitions/app.Response" } }, - "404": { - "description": "Not Found", + "429": { + "description": "Rate limit exceeded", "schema": { "$ref": "#/definitions/app.Response" } }, - "429": { - "description": "Too Many Requests", + "500": { + "description": "Internal server error", "schema": { "$ref": "#/definitions/app.Response" } }, "503": { - "description": "Service Unavailable", + "description": "Baidu upstream request failed", "schema": { "$ref": "#/definitions/app.Response" } @@ -223135,9 +223826,9 @@ "ApiKeyAuth": [] } ], - "summary": "Get Axios topic headlines", + "summary": "Suggest Baidu search queries", "tags": [ - "Axios" + "Baidu" ] } }, @@ -227579,7 +228270,7 @@ "consumes": [ "application/json" ], - "description": "Returns Bing autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Bing suggest endpoints and trimmed to the requested count.", + "description": "Returns Bing autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Bing suggest endpoints and trimmed to the requested count. `rich=true` adds entity cards (name, description, image) where Bing shows them.", "operationId": "bing-suggest", "parameters": [ { @@ -227612,6 +228303,13 @@ "name": "lang", "type": "string", "x-example": "en-us" + }, + { + "description": "Add entity name, description, and image to suggestions Bing resolves to a known entity; defaults to false", + "in": "query", + "name": "rich", + "type": "boolean", + "x-example": false } ], "produces": [ @@ -233070,7 +233768,7 @@ "consumes": [ "application/json" ], - "description": "Returns Brave autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Brave Search suggest JSON and trimmed to the requested count.", + "description": "Returns Brave autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Brave Search suggest JSON and trimmed to the requested count. `rich=true` adds entity metadata (name, description, category, image) where Brave resolves a suggestion to a known entity.", "operationId": "brave-suggest", "parameters": [ { @@ -233159,6 +233857,13 @@ "name": "lang", "type": "string", "x-example": "en-us" + }, + { + "description": "Add entity name, description, category, and image to suggestions Brave resolves to a known entity; defaults to false", + "in": "query", + "name": "rich", + "type": "boolean", + "x-example": false } ], "produces": [ @@ -272505,6 +273210,85 @@ ] } }, + "/duckduckgo/suggest": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns DuckDuckGo search-box autocomplete completions for a query prefix, in DuckDuckGo's own ranking order. DuckDuckGo never returns more than 8 suggestions per prefix.", + "operationId": "duckduckgo-suggest", + "parameters": [ + { + "description": "Search query prefix", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "openai" + }, + { + "description": "Suggestions to return; defaults to 8, clamped to 1..8", + "in": "query", + "maximum": 8, + "minimum": 1, + "name": "count", + "type": "integer", + "x-example": 8 + }, + { + "description": "DuckDuckGo region code such as us-en, uk-en, de-de, or wt-wt (worldwide, the default)", + "in": "query", + "name": "region", + "type": "string", + "x-example": "us-en" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/duckduckgo.suggestResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Suggest DuckDuckGo search queries", + "tags": [ + "DuckDuckGo Search" + ] + } + }, "/duckduckgo/video": { "get": { "consumes": [ @@ -300530,7 +301314,7 @@ "consumes": [ "application/json" ], - "description": "Returns Google autosuggest query completions from the public unauthenticated suggest JSON endpoint.", + "description": "Returns Google autosuggest query completions from the public unauthenticated suggest JSON endpoint. `source` selects the web, YouTube, or shopping suggestion list, and `rich=true` adds a type, relevance score, and short description to each suggestion.", "operationId": "google-suggest", "parameters": [ { @@ -300563,6 +301347,25 @@ "name": "lang", "type": "string", "x-example": "en" + }, + { + "default": "web", + "description": "Suggestion source; defaults to web", + "enum": [ + "web", + "youtube", + "shopping" + ], + "in": "query", + "name": "source", + "type": "string" + }, + { + "description": "Add Google's type, relevance score, and description to each suggestion; defaults to false", + "in": "query", + "name": "rich", + "type": "boolean", + "x-example": false } ], "produces": [ @@ -304848,7 +305651,7 @@ "consumes": [ "application/json" ], - "description": "Lists Greystar communities published on greystar.com, optionally filtered by market area, neighborhood, city, state, country, starting rent, or free text. Filter values must come from /greystar/markets; an unknown value returns 400. Starting prices reflect each community's published minimum and are null when none is published. Results come from a snapshot refreshed every few minutes.", + "description": "Lists Greystar communities published on greystar.com, optionally filtered by market area, neighborhood, city, state, country, starting rent, or free text. Filter values must come from /greystar/markets; an unknown value returns 400. Starting prices reflect each community's published minimum and are null when none is published. Results come from an hourly snapshot of every community listed on greystar.com; the default order follows the site.", "operationId": "greystar-search", "parameters": [ { @@ -304901,7 +305704,7 @@ }, { "default": "relevance", - "description": "Result order", + "description": "Result order; relevance keeps the site's own order", "enum": [ "relevance", "name", @@ -304967,6 +305770,240 @@ ] } }, + "/greystar/unit-locations": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Lists every location accepted by /greystar/units: the nationwide us listing, states, metros, cities, and neighborhoods (nested ones carry their parent), taken from the site's own search pages. Locations Greystar has no unit listing for are dropped once detected.", + "operationId": "greystar-unit-locations", + "parameters": [ + { + "description": "Text matched against the location slug, e.g. austin", + "in": "query", + "name": "query", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/greystar.UnitLocationList" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List Greystar unit search locations", + "tags": [ + "Greystar" + ] + } + }, + "/greystar/units": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Searches apartment units currently available to rent on greystar.com within one location (nationwide by default), filtered by bedrooms, bathrooms, building type, community highlights, and monthly price, sorted by relevance or price. Results are grouped by community: each carries its address, coordinates, the number of matching units, and up to about 100 units with unit number, floor plan, bedrooms, bathrooms, price range, and lease term. The response also returns filter counts for the location. Several values of one filter match any of them. Get location values from /greystar/unit-locations.", + "operationId": "greystar-units", + "parameters": [ + { + "default": "us", + "description": "Search location slug from /greystar/unit-locations, e.g. austin-tx, texas or greater-austin/round-rock", + "in": "query", + "name": "location", + "type": "string" + }, + { + "collectionFormat": "multi", + "description": "Bedroom count; repeat for several (0 is studio)", + "in": "query", + "items": { + "enum": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6" + ], + "type": "string" + }, + "name": "bedrooms", + "type": "array" + }, + { + "collectionFormat": "multi", + "description": "Bathroom count; repeat for several", + "in": "query", + "items": { + "enum": [ + "0", + "1", + "2", + "3", + "4" + ], + "type": "string" + }, + "name": "bathrooms", + "type": "array" + }, + { + "collectionFormat": "multi", + "description": "Building type; repeat for several", + "in": "query", + "items": { + "enum": [ + "Active Adult", + "Garden", + "High-Rise", + "Mid-Rise", + "Single Family Home", + "Student", + "Townhome" + ], + "type": "string" + }, + "name": "building_type", + "type": "array" + }, + { + "collectionFormat": "multi", + "description": "Community highlight; repeat for several (matches any)", + "in": "query", + "items": { + "enum": [ + "airCon", + "dishwasher", + "eco", + "fitness", + "garages", + "limitedAccess", + "patioBalcony", + "pets", + "playground", + "pools", + "smokeFree", + "walkInClosets", + "washerDryer" + ], + "type": "string" + }, + "name": "highlights", + "type": "array" + }, + { + "description": "Minimum monthly unit price", + "in": "query", + "name": "min_price", + "type": "number" + }, + { + "description": "Maximum monthly unit price", + "in": "query", + "name": "max_price", + "type": "number" + }, + { + "default": "relevance", + "description": "Result order", + "enum": [ + "relevance", + "price_asc" + ], + "in": "query", + "name": "sort", + "type": "string" + }, + { + "default": 1, + "description": "1-based page", + "in": "query", + "name": "page", + "type": "integer" + }, + { + "default": 20, + "description": "Communities per page, 1-100", + "in": "query", + "name": "per_page", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/greystar.UnitSearchResult" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search available Greystar apartment units", + "tags": [ + "Greystar" + ] + } + }, "/grubhub/availability": { "get": { "consumes": [ @@ -318055,7 +319092,7 @@ "consumes": [ "application/json" ], - "description": "Returns a feed of Instagram Reels for the specified user ID. Supports pagination via `max_id`.", + "description": "Returns up to 12 public Reels via anonymous proxied HTTP for the numeric Instagram user ID. Supports opaque `max_id` pagination. Captions, timestamps and original image dimensions are omitted when the public source does not expose them.", "operationId": "instagram-reels", "parameters": [ { @@ -381707,7 +382744,7 @@ "consumes": [ "application/json" ], - "description": "Returns the core Product Hunt product details.", + "description": "Returns the core Product Hunt product details. The path takes an exact Product Hunt slug; if you only know the product name, look the slug up first with `/producthunt/search` (live) or `/datasets/producthunt-products/search` (indexed). Unknown slugs return 404, and that 404 is cached for one hour.", "operationId": "producthunt-product", "parameters": [ { @@ -384855,89 +385892,159 @@ "ApiKeyAuth": [] } ], - "summary": "Get Quince product reviews", + "summary": "Get Quince product reviews", + "tags": [ + "Quince" + ] + } + }, + "/quince/search": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Searches or browses Quince's (quince.com) product catalog through its own public Algolia search index. q, department, category, material, color, size, min_price, and max_price are all optional and combine as an AND -- unlike some other families' search/category-browse split, a free-text q can be combined with any of the facet filters in the same request, or every field can be omitted to browse the full catalog by Quince's own relevance/popularity ranking. department accepts one of the values quince-categories' own business_departments[].value field returns (for example Women, Men, Kids & Baby, Home, CPG, Emerging); category, material, color, and size similarly accept values from quince-categories' own categories[].value/materials[].value/colors[].value/sizes[].value fields (or quince-navigation's own browsable category/subcategory slugs for a curated, hierarchical alternative to the flat category facet). Keyword search is Algolia's own typo-tolerant relevance ranking, not a guaranteed exact match. A query with genuinely zero matches (for example a nonsense string) returns a well-formed empty result rather than an error.", + "operationId": "quince-search", + "parameters": [ + { + "description": "Free-text search query", + "in": "query", + "name": "q", + "type": "string", + "x-example": "cashmere sweater" + }, + { + "description": "Business department facet filter, from quince-categories' own business_departments[].value field", + "in": "query", + "name": "department", + "type": "string", + "x-example": "Women" + }, + { + "description": "Category facet filter, from quince-categories' own categories[].value field", + "in": "query", + "name": "category", + "type": "string", + "x-example": "Apparel" + }, + { + "description": "Material facet filter, from quince-categories' own materials[].value field", + "in": "query", + "name": "material", + "type": "string", + "x-example": "Cashmere" + }, + { + "description": "Primary color facet filter, from quince-categories' own colors[].value field", + "in": "query", + "name": "color", + "type": "string", + "x-example": "Grey" + }, + { + "description": "Size facet filter, from quince-categories' own sizes[].value field", + "in": "query", + "name": "size", + "type": "string", + "x-example": "M" + }, + { + "description": "Minimum price (inclusive), in USD", + "in": "query", + "name": "min_price", + "type": "number", + "x-example": 25 + }, + { + "description": "Maximum price (inclusive), in USD", + "in": "query", + "name": "max_price", + "type": "number", + "x-example": 100 + }, + { + "description": "One-based page number, defaults to 1", + "in": "query", + "name": "page", + "type": "integer", + "x-example": 1 + }, + { + "description": "Results per page, defaults to 24, maximum 100", + "in": "query", + "name": "limit", + "type": "integer", + "x-example": 24 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/quince.searchResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search or browse Quince products", "tags": [ "Quince" ] } }, - "/quince/search": { + "/quince/sitemap/urls": { "get": { "consumes": [ "application/json" ], - "description": "Searches or browses Quince's (quince.com) product catalog through its own public Algolia search index. q, department, category, material, color, size, min_price, and max_price are all optional and combine as an AND -- unlike some other families' search/category-browse split, a free-text q can be combined with any of the facet filters in the same request, or every field can be omitted to browse the full catalog by Quince's own relevance/popularity ranking. department accepts one of the values quince-categories' own business_departments[].value field returns (for example Women, Men, Kids & Baby, Home, CPG, Emerging); category, material, color, and size similarly accept values from quince-categories' own categories[].value/materials[].value/colors[].value/sizes[].value fields (or quince-navigation's own browsable category/subcategory slugs for a curated, hierarchical alternative to the flat category facet). Keyword search is Algolia's own typo-tolerant relevance ranking, not a guaranteed exact match. A query with genuinely zero matches (for example a nonsense string) returns a well-formed empty result rather than an error.", - "operationId": "quince-search", + "description": "Returns capped URL entries from Quince's own sitemaps matching the requested type. Each entry's handle is populated from the URL's own path (tracking/variant query parameters stripped) -- for type products, this is directly the value quince-product's own handle parameter expects.", + "operationId": "quince-sitemap-urls", "parameters": [ { - "description": "Free-text search query", - "in": "query", - "name": "q", - "type": "string", - "x-example": "cashmere sweater" - }, - { - "description": "Business department facet filter, from quince-categories' own business_departments[].value field", - "in": "query", - "name": "department", - "type": "string", - "x-example": "Women" - }, - { - "description": "Category facet filter, from quince-categories' own categories[].value field", - "in": "query", - "name": "category", - "type": "string", - "x-example": "Apparel" - }, - { - "description": "Material facet filter, from quince-categories' own materials[].value field", - "in": "query", - "name": "material", - "type": "string", - "x-example": "Cashmere" - }, - { - "description": "Primary color facet filter, from quince-categories' own colors[].value field", - "in": "query", - "name": "color", - "type": "string", - "x-example": "Grey" - }, - { - "description": "Size facet filter, from quince-categories' own sizes[].value field", + "description": "Sitemap type. Allowed values: all, products, collections, subcollections, pages", + "enum": [ + "all", + "products", + "collections", + "subcollections", + "pages" + ], "in": "query", - "name": "size", + "name": "type", "type": "string", - "x-example": "M" - }, - { - "description": "Minimum price (inclusive), in USD", - "in": "query", - "name": "min_price", - "type": "number", - "x-example": 25 - }, - { - "description": "Maximum price (inclusive), in USD", - "in": "query", - "name": "max_price", - "type": "number", - "x-example": 100 - }, - { - "description": "One-based page number, defaults to 1", - "in": "query", - "name": "page", - "type": "integer", - "x-example": 1 + "x-example": "products" }, { - "description": "Results per page, defaults to 24, maximum 100", + "description": "Maximum URL entries, defaults to 50 and supports up to 250", "in": "query", "name": "limit", "type": "integer", - "x-example": 24 + "x-example": 50 } ], "produces": [ @@ -384947,7 +386054,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/quince.searchResponseDoc" + "$ref": "#/definitions/quince.sitemapURLsResponseDoc" } }, "400": { @@ -384974,42 +386081,19 @@ "ApiKeyAuth": [] } ], - "summary": "Search or browse Quince products", + "summary": "List Quince sitemap URLs", "tags": [ "Quince" ] } }, - "/quince/sitemap/urls": { + "/quince/sitemaps": { "get": { "consumes": [ "application/json" ], - "description": "Returns capped URL entries from Quince's own sitemaps matching the requested type. Each entry's handle is populated from the URL's own path (tracking/variant query parameters stripped) -- for type products, this is directly the value quince-product's own handle parameter expects.", - "operationId": "quince-sitemap-urls", - "parameters": [ - { - "description": "Sitemap type. Allowed values: all, products, collections, subcollections, pages", - "enum": [ - "all", - "products", - "collections", - "subcollections", - "pages" - ], - "in": "query", - "name": "type", - "type": "string", - "x-example": "products" - }, - { - "description": "Maximum URL entries, defaults to 50 and supports up to 250", - "in": "query", - "name": "limit", - "type": "integer", - "x-example": 50 - } - ], + "description": "Returns Quince's US-region child sitemaps (products, collections, subcollections, and static pages) with an inferred type, from quince.com's own public sitemap index.", + "operationId": "quince-sitemaps", "produces": [ "application/json" ], @@ -385017,13 +386101,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/quince.sitemapURLsResponseDoc" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/app.Response" + "$ref": "#/definitions/quince.sitemapsResponseDoc" } }, "429": { @@ -385044,19 +386122,29 @@ "ApiKeyAuth": [] } ], - "summary": "List Quince sitemap URLs", + "summary": "List Quince sitemaps", "tags": [ "Quince" ] } }, - "/quince/sitemaps": { + "/quince/suggest": { "get": { "consumes": [ "application/json" ], - "description": "Returns Quince's US-region child sitemaps (products, collections, subcollections, and static pages) with an inferred type, from quince.com's own public sitemap index.", - "operationId": "quince-sitemaps", + "description": "Returns Quince's own search-box typeahead suggestions for a partial query: a flat list of suggested search phrases, no product data. Pass a suggestion straight through to quince-search's own q parameter for product results. A query with no genuine matches returns a well-formed empty result rather than an error.", + "operationId": "quince-suggest", + "parameters": [ + { + "description": "Search query prefix", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "cash" + } + ], "produces": [ "application/json" ], @@ -385064,7 +386152,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/quince.sitemapsResponseDoc" + "$ref": "#/definitions/quince.suggestResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" } }, "429": { @@ -385085,19 +386179,19 @@ "ApiKeyAuth": [] } ], - "summary": "List Quince sitemaps", + "summary": "Get Quince search suggestions", "tags": [ "Quince" ] } }, - "/quince/suggest": { + "/qwant/suggest": { "get": { "consumes": [ "application/json" ], - "description": "Returns Quince's own search-box typeahead suggestions for a partial query: a flat list of suggested search phrases, no product data. Pass a suggestion straight through to quince-search's own q parameter for product results. A query with no genuine matches returns a well-formed empty result rather than an error.", - "operationId": "quince-suggest", + "description": "Returns Qwant search-box autocomplete completions for a query prefix, in Qwant's own ranking order. `locale` selects the Qwant market (en_US, fr_FR, de_DE, en_GB, ...); Qwant ignores locale codes it does not support and uses its default market.", + "operationId": "qwant-suggest", "parameters": [ { "description": "Search query prefix", @@ -385105,7 +386199,23 @@ "name": "q", "required": true, "type": "string", - "x-example": "cash" + "x-example": "openai" + }, + { + "description": "Suggestions to return; defaults to 10, clamped to 1..10", + "in": "query", + "maximum": 10, + "minimum": 1, + "name": "count", + "type": "integer", + "x-example": 10 + }, + { + "description": "Qwant market locale in ll_CC form, such as en_US, fr_FR, de_DE, or en_GB; defaults to en_US", + "in": "query", + "name": "locale", + "type": "string", + "x-example": "en_US" } ], "produces": [ @@ -385115,23 +386225,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/quince.suggestResponseDoc" + "$ref": "#/definitions/qwant.suggestResponseDoc" } }, "400": { - "description": "Bad Request", + "description": "Missing or invalid parameters", "schema": { "$ref": "#/definitions/app.Response" } }, "429": { - "description": "Too Many Requests", + "description": "Rate limit exceeded", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal server error", "schema": { "$ref": "#/definitions/app.Response" } }, "503": { - "description": "Service Unavailable", + "description": "Qwant upstream request failed", "schema": { "$ref": "#/definitions/app.Response" } @@ -385142,9 +386258,9 @@ "ApiKeyAuth": [] } ], - "summary": "Get Quince search suggestions", + "summary": "Suggest Qwant search queries", "tags": [ - "Quince" + "Qwant" ] } }, @@ -415478,51 +416594,117 @@ "ApiKeyAuth": [] } ], - "summary": "Recalculate nutrition for a customized Starbucks drink", + "summary": "Recalculate nutrition for a customized Starbucks drink", + "tags": [ + "Starbucks" + ] + } + }, + "/starbucks/stores": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Starbucks store locations near a point: store number, name, phone, full address, coordinates, weekly opening hours, amenities, and pick-up options. Either place, or both lat and lng, is required. place is free-text (city, address, or postal code) and is geocoded by Starbucks itself, so it works worldwide. market selects which Starbucks country site answers, one of us or ca, defaulting to us; this is not cosmetic even for stores, because the same store reports different operational data depending on the host. There is no filter parameter: Starbucks' own API accepts a features amenity filter but silently ignores it, so it is deliberately not offered here; filter on each store's returned amenities instead. A place Starbucks cannot resolve returns a well-formed empty result with place_not_found set to true rather than an error. The upstream returns at most 50 stores per request and supports no pagination; result_capped is true when that ceiling was reached. Store discovery works worldwide, but hours, amenities, and phone numbers are populated per market and may be absent outside the US and UK.", + "operationId": "starbucks-stores", + "parameters": [ + { + "description": "Free-text city, address, or postal code, geocoded by Starbucks", + "in": "query", + "name": "place", + "type": "string", + "x-example": "Seattle, WA" + }, + { + "description": "Latitude, requires lng", + "in": "query", + "name": "lat", + "type": "number", + "x-example": 47.6062 + }, + { + "description": "Longitude, requires lat", + "in": "query", + "name": "lng", + "type": "number", + "x-example": -122.3321 + }, + { + "description": "Starbucks country site to read. One of: us, ca. Defaults to us", + "enum": [ + "us", + "ca" + ], + "in": "query", + "name": "market", + "type": "string", + "x-example": "us" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/starbucks.storesResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Find nearby Starbucks stores worldwide", "tags": [ "Starbucks" ] } }, - "/starbucks/stores": { + "/startpage/suggest": { "get": { "consumes": [ "application/json" ], - "description": "Returns Starbucks store locations near a point: store number, name, phone, full address, coordinates, weekly opening hours, amenities, and pick-up options. Either place, or both lat and lng, is required. place is free-text (city, address, or postal code) and is geocoded by Starbucks itself, so it works worldwide. market selects which Starbucks country site answers, one of us or ca, defaulting to us; this is not cosmetic even for stores, because the same store reports different operational data depending on the host. There is no filter parameter: Starbucks' own API accepts a features amenity filter but silently ignores it, so it is deliberately not offered here; filter on each store's returned amenities instead. A place Starbucks cannot resolve returns a well-formed empty result with place_not_found set to true rather than an error. The upstream returns at most 50 stores per request and supports no pagination; result_capped is true when that ceiling was reached. Store discovery works worldwide, but hours, amenities, and phone numbers are populated per market and may be absent outside the US and UK.", - "operationId": "starbucks-stores", + "description": "Returns Startpage search-box autocomplete completions for a query prefix, in Startpage's own ranking order. Startpage never returns more than 10 suggestions per prefix.", + "operationId": "startpage-suggest", "parameters": [ { - "description": "Free-text city, address, or postal code, geocoded by Starbucks", + "description": "Search query prefix", "in": "query", - "name": "place", + "name": "q", + "required": true, "type": "string", - "x-example": "Seattle, WA" - }, - { - "description": "Latitude, requires lng", - "in": "query", - "name": "lat", - "type": "number", - "x-example": 47.6062 - }, - { - "description": "Longitude, requires lat", - "in": "query", - "name": "lng", - "type": "number", - "x-example": -122.3321 + "x-example": "openai" }, { - "description": "Starbucks country site to read. One of: us, ca. Defaults to us", - "enum": [ - "us", - "ca" - ], + "description": "Suggestions to return; defaults to 10, clamped to 1..10", "in": "query", - "name": "market", - "type": "string", - "x-example": "us" + "maximum": 10, + "minimum": 1, + "name": "count", + "type": "integer", + "x-example": 10 } ], "produces": [ @@ -415532,23 +416714,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/starbucks.storesResponseDoc" + "$ref": "#/definitions/startpage.suggestResponseDoc" } }, "400": { - "description": "Bad Request", + "description": "Missing or invalid parameters", "schema": { "$ref": "#/definitions/app.Response" } }, "429": { - "description": "Too Many Requests", + "description": "Rate limit exceeded", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal server error", "schema": { "$ref": "#/definitions/app.Response" } }, "503": { - "description": "Service Unavailable", + "description": "Startpage upstream request failed", "schema": { "$ref": "#/definitions/app.Response" } @@ -415559,9 +416747,9 @@ "ApiKeyAuth": [] } ], - "summary": "Find nearby Starbucks stores worldwide", + "summary": "Suggest Startpage search queries", "tags": [ - "Starbucks" + "Startpage" ] } }, @@ -446589,7 +447777,7 @@ "consumes": [ "application/json" ], - "description": "Fetches a single public URL and returns clean content in the requested formats (markdown, html, raw_html, links, metadata). The request body IS the ScrapeOption object itself — e.g. {\"url\": \"https://example.com\"} — do not wrap it in an extra key. With render=auto the request starts as a fast HTTP fetch and escalates to a real browser when the page is blocked or rendered with JavaScript; backend only pins a specific headless-browser engine for the browser tier and is not a render mode. only_main_content (default true) strips navigation, headers, footers and other boilerplate before conversion. Only public pages are supported; respect each site's terms of use and robots directives. A handful of popular sites (Amazon, Reddit, Yelp, LinkedIn, and others) already have a dedicated, more reliable endpoint elsewhere in this API — a failed scrape against one of them names it.", + "description": "Fetches a single public URL and returns clean content in the requested formats (markdown, html, raw_html, links, metadata). The request body IS the ScrapeOption object itself — e.g. {\"url\": \"https://example.com\"} — do not wrap it in an extra key. With render=auto the request starts as a fast HTTP fetch and escalates to a real browser when the page is blocked or rendered with JavaScript; backend only pins a specific headless-browser engine for the browser tier and is not a render mode. only_main_content (default true) strips navigation, headers, footers and other boilerplate before conversion. Only public pages are supported; respect each site's terms of use and robots directives. A handful of popular sites (Amazon, Reddit, Yelp, LinkedIn, and others) already have a dedicated, more reliable endpoint elsewhere in this API — a failed scrape against one of them names it. A Reddit URL that maps onto a dedicated Reddit endpoint (listings, search, comment threads, user and domain pages) is answered by that endpoint instead, and its response is returned as-is in data with an X-Routed-To header; send dedicated=false to always get the scraped page.", "operationId": "web-scrape", "parameters": [ { @@ -457148,6 +458336,157 @@ ] } }, + "/yandex/search": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns normalized organic Yandex web results for a query: title, destination URL, display URL, and snippet, with page-based pagination. Advertisements are not returned. Yandex challenges a portion of requests with a captcha; the service retries across browser profiles and returns 503 if every attempt is challenged, so callers should retry on 503. Results are localized by Yandex to the egress location.", + "operationId": "yandex-search", + "parameters": [ + { + "description": "Search query", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "openai" + }, + { + "description": "1-based result page; defaults to 1, maximum 10", + "in": "query", + "maximum": 10, + "minimum": 1, + "name": "page", + "type": "integer", + "x-example": 1 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/yandex.searchResponseDoc" + } + }, + "400": { + "description": "Missing or invalid parameters", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Rate limit exceeded", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Yandex upstream request failed or was challenged with a captcha", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search Yandex web results", + "tags": [ + "Yandex" + ] + } + }, + "/yandex/suggest": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Yandex search-box autocomplete completions for a query prefix, in Yandex's own ranking order. `lang` is the two-letter Yandex UI language (en, ru, tr, ...) and re-ranks the list; Yandex ignores codes it does not support.", + "operationId": "yandex-suggest", + "parameters": [ + { + "description": "Search query prefix", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "openai" + }, + { + "description": "Suggestions to return; defaults to 10, clamped to 1..20", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "count", + "type": "integer", + "x-example": 10 + }, + { + "description": "Two-letter Yandex UI language, such as en, ru, or tr; defaults to en", + "in": "query", + "name": "lang", + "type": "string", + "x-example": "en" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/yandex.suggestResponseDoc" + } + }, + "400": { + "description": "Missing or invalid parameters", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Rate limit exceeded", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Yandex upstream request failed", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Suggest Yandex search queries", + "tags": [ + "Yandex" + ] + } + }, "/yardbarker/article": { "get": { "description": "Extracts metadata and the publicly served text paragraphs from a canonical Yardbarker story URL. Quiz, account, player, and non-article URLs are rejected.", @@ -458887,6 +460226,92 @@ ] } }, + "/youtube/suggest": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns YouTube search-box autocomplete completions for a query prefix, in YouTube's own ranking order.\n`hl` and `gl` localize the list; they default to `en` and `US`.", + "operationId": "youtube-suggest", + "parameters": [ + { + "description": "Search query prefix", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "openai" + }, + { + "description": "Suggestions to return; defaults to 10, clamped to 1..20", + "in": "query", + "maximum": 20, + "minimum": 1, + "name": "count", + "type": "integer", + "x-example": 10 + }, + { + "description": "YouTube interface language, such as en, de, or pt-BR; defaults to en", + "in": "query", + "name": "hl", + "type": "string", + "x-example": "en" + }, + { + "description": "Two-letter YouTube region code; defaults to US", + "in": "query", + "name": "gl", + "type": "string", + "x-example": "US" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/youtube.suggestResponseDoc" + } + }, + "400": { + "description": "Missing or invalid parameters", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "429": { + "description": "Rate limit exceeded", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "YouTube upstream request failed", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Suggest YouTube search queries", + "tags": [ + "YouTube" + ] + } + }, "/youtube/tag/{tag}": { "get": { "consumes": [ diff --git a/pyproject.toml b/pyproject.toml index e3eda95..491860f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "crawlora" -version = "1.45.0.dev1" +version = "1.46.0.dev1" description = "Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client." readme = "README.md" requires-python = ">=3.10" diff --git a/tests/test_client.py b/tests/test_client.py index da3abea..433432e 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -268,7 +268,7 @@ def transport(_request, _timeout): def test_operation_metadata_count(self) -> None: self.assertEqual(len(OPERATIONS), OPERATION_COUNT) - self.assertEqual(OPERATION_COUNT, 3529) + self.assertEqual(OPERATION_COUNT, 3539) def test_deprecated_endpoints_are_not_generated(self) -> None: self.assertFalse(hasattr(CrawloraClient(api_key="api_test", base_url=self.base_url).google, "lens")) @@ -301,7 +301,7 @@ def test_docs_cover_operations_and_recipes(self): recipes_doc = root.joinpath("docs", "recipes.md").read_text() for expected in [ - "Total operations: `3529`", + "Total operations: `3539`", "`bing-search`", "`GET /bing/search`", "`bing.search`",