From 8db1c526ccd865add337d782473374ac27570797 Mon Sep 17 00:00:00 2001 From: Tony Wang Date: Sat, 15 Aug 2026 18:19:04 +0800 Subject: [PATCH 1/2] sdk: regenerate public contract Expose the DraftKings futures endpoint and synchronize generated client metadata to the current 1190-operation public contract. --- CHANGELOG.md | 4 + crawlora/client.py | 2 +- crawlora/client.pyi | 899 +++++++++++++++ crawlora/operations.py | 245 +++- docs/operations.md | 18 +- openapi/public.json | 2458 ++++++++++++++++++++++++++++++++++++++-- pyproject.toml | 2 +- tests/test_client.py | 4 +- 8 files changed, 3523 insertions(+), 109 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b11b3d..deaabb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v1.36.0-sdk.1 + +- Added DraftKings Sportsbook futures-market support and synchronized the current public API contract (1190 operations). + ## v1.35.0-sdk.1 - Added Twitch (channel profile/live status, streams by game, clips, videos, search, top games, team rosters, schedule, VOD chat replay) and SoundCloud (search, track, playlist, profile, user tracks) platform support. diff --git a/crawlora/client.py b/crawlora/client.py index e06ef24..b40f4ff 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.35.0-sdk.1" +VERSION = "1.36.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 caf6f98..e7e6af7 100644 --- a/crawlora/client.pyi +++ b/crawlora/client.pyi @@ -1700,6 +1700,95 @@ ModelAutotraderSearchResponseDoc = TypedDict('ModelAutotraderSearchResponseDoc', 'msg': NotRequired[str], }, total=False) +ModelBestbuyBreadcrumb = TypedDict('ModelBestbuyBreadcrumb', { + 'name': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelBestbuyCategoryProduct = TypedDict('ModelBestbuyCategoryProduct', { + 'image_url': NotRequired[str], + 'price': NotRequired[float], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'sku': NotRequired[str], + 'title': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelBestbuyCategoryResponse = TypedDict('ModelBestbuyCategoryResponse', { + 'category_id': NotRequired[str], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'products': NotRequired[list[ModelBestbuyCategoryProduct]], + 'source_url': NotRequired[str], + 'total': NotRequired[int], +}, total=False) + +ModelBestbuyProduct = TypedDict('ModelBestbuyProduct', { + 'availability': NotRequired[str], + 'brand': NotRequired[str], + 'breadcrumbs': NotRequired[list[ModelBestbuyBreadcrumb]], + 'color': NotRequired[str], + 'condition': NotRequired[str], + 'currency_code': NotRequired[str], + 'description': NotRequired[str], + 'images': NotRequired[list[str]], + 'model': NotRequired[str], + 'name': NotRequired[str], + 'price': NotRequired[float], + 'product_id': NotRequired[str], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'sku': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelBestbuyProductResponse = TypedDict('ModelBestbuyProductResponse', { + 'fetched_at': NotRequired[str], + 'product': NotRequired[ModelBestbuyProduct], + 'source_url': NotRequired[str], +}, total=False) + +ModelBestbuyProductReviewsResponse = TypedDict('ModelBestbuyProductReviewsResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'reviews': NotRequired[list[ModelBestbuyReview]], + 'sku': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + +ModelBestbuyReview = TypedDict('ModelBestbuyReview', { + 'author': NotRequired[str], + 'helpful': NotRequired[int], + 'posted': NotRequired[str], + 'rating': NotRequired[float], + 'recommended': NotRequired[bool], + 'tags': NotRequired[list[str]], + 'text': NotRequired[str], + 'title': NotRequired[str], + 'unhelpful': NotRequired[int], +}, total=False) + +ModelBestbuyCategoryResponseDoc = TypedDict('ModelBestbuyCategoryResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyCategoryResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuyProductResponseDoc = TypedDict('ModelBestbuyProductResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyProductResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuyProductReviewsResponseDoc = TypedDict('ModelBestbuyProductReviewsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyProductReviewsResponse], + 'msg': NotRequired[str], +}, total=False) + ModelBillingBillingEndpointLedgerDoc = TypedDict('ModelBillingBillingEndpointLedgerDoc', { 'charged_requests': NotRequired[int], 'credits': NotRequired[int], @@ -6495,6 +6584,7 @@ ModelDepopItemSummary = TypedDict('ModelDepopItemSummary', { 'currency': NotRequired[str], 'description': NotRequired[str], 'id': NotRequired[str], + 'like_count': NotRequired[int], 'location': NotRequired[str], 'photos': NotRequired[list[str]], 'price_cents': NotRequired[int], @@ -6545,6 +6635,12 @@ ModelDepopShopResponse = TypedDict('ModelDepopShopResponse', { 'verified': NotRequired[bool], }, total=False) +ModelDepopSimilarItemsResponse = TypedDict('ModelDepopSimilarItemsResponse', { + 'has_more': NotRequired[bool], + 'items': NotRequired[list[ModelDepopItemSummary]], + 'next_cursor': NotRequired[str], +}, total=False) + ModelDepopSubcategory = TypedDict('ModelDepopSubcategory', { 'name': NotRequired[str], 'slug': NotRequired[str], @@ -6568,6 +6664,12 @@ ModelDepopShopResponseDoc = TypedDict('ModelDepopShopResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelDepopSimilarItemsResponseDoc = TypedDict('ModelDepopSimilarItemsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDepopSimilarItemsResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDiagnosticsAntibotCheckRequest = TypedDict('ModelDiagnosticsAntibotCheckRequest', { 'fast': NotRequired[bool], 'url': Required[str], @@ -7126,6 +7228,105 @@ ModelDoordashStoreReviewsResponseDoc = TypedDict('ModelDoordashStoreReviewsRespo 'msg': NotRequired[str], }, total=False) +ModelDraftkingsEvent = TypedDict('ModelDraftkingsEvent', { + 'id': NotRequired[str], + 'markets': NotRequired[list[ModelDraftkingsMarket]], + 'name': NotRequired[str], + 'participants': NotRequired[list[ModelDraftkingsParticipant]], + 'start_time': NotRequired[str], + 'status': NotRequired[str], +}, total=False) + +ModelDraftkingsEventMarketsResponse = TypedDict('ModelDraftkingsEventMarketsResponse', { + 'count': NotRequired[int], + 'event_id': NotRequired[str], + 'fetched_at': NotRequired[str], + 'markets': NotRequired[list[ModelDraftkingsMarket]], + 'source_url': NotRequired[str], + 'subcategory_id': NotRequired[str], +}, total=False) + +ModelDraftkingsEventResponse = TypedDict('ModelDraftkingsEventResponse', { + 'fetched_at': NotRequired[str], + 'id': NotRequired[str], + 'name': NotRequired[str], + 'participants': NotRequired[list[ModelDraftkingsParticipant]], + 'source_url': NotRequired[str], + 'start_time': NotRequired[str], + 'status': NotRequired[str], +}, total=False) + +ModelDraftkingsFuturesResponse = TypedDict('ModelDraftkingsFuturesResponse', { + 'count': NotRequired[int], + 'events': NotRequired[list[ModelDraftkingsEvent]], + 'fetched_at': NotRequired[str], + 'league': NotRequired[str], + 'league_id': NotRequired[str], + 'source_url': NotRequired[str], + 'sport': NotRequired[str], + 'subcategory_id': NotRequired[str], +}, total=False) + +ModelDraftkingsMarket = TypedDict('ModelDraftkingsMarket', { + 'id': NotRequired[str], + 'selections': NotRequired[list[ModelDraftkingsSelection]], + 'subcategory_id': NotRequired[str], + 'type': NotRequired[str], +}, total=False) + +ModelDraftkingsOdds = TypedDict('ModelDraftkingsOdds', { + 'american': NotRequired[str], + 'decimal': NotRequired[str], + 'fractional': NotRequired[str], +}, total=False) + +ModelDraftkingsOddsResponse = TypedDict('ModelDraftkingsOddsResponse', { + 'count': NotRequired[int], + 'events': NotRequired[list[ModelDraftkingsEvent]], + 'fetched_at': NotRequired[str], + 'league': NotRequired[str], + 'league_id': NotRequired[str], + 'source_url': NotRequired[str], + 'sport': NotRequired[str], +}, total=False) + +ModelDraftkingsParticipant = TypedDict('ModelDraftkingsParticipant', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'role': NotRequired[str], +}, total=False) + +ModelDraftkingsSelection = TypedDict('ModelDraftkingsSelection', { + 'label': NotRequired[str], + 'odds': NotRequired[ModelDraftkingsOdds], + 'outcome_type': NotRequired[str], + 'points': NotRequired[float], +}, total=False) + +ModelDraftkingsEventMarketsResponseDoc = TypedDict('ModelDraftkingsEventMarketsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsEventMarketsResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsEventResponseDoc = TypedDict('ModelDraftkingsEventResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsEventResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsFuturesResponseDoc = TypedDict('ModelDraftkingsFuturesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsFuturesResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsOddsResponseDoc = TypedDict('ModelDraftkingsOddsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsOddsResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDuckduckgoImageResponse = TypedDict('ModelDuckduckgoImageResponse', { 'pagination': NotRequired[ModelDuckduckgoSearchPagination], 'query': NotRequired[str], @@ -10964,6 +11165,157 @@ ModelGooglejobsSearchResponseDoc = TypedDict('ModelGooglejobsSearchResponseDoc', 'msg': NotRequired[str], }, total=False) +ModelGooglepatentsCitedPatent = TypedDict('ModelGooglepatentsCitedPatent', { + 'assignee': NotRequired[str], + 'priority_date': NotRequired[str], + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelGooglepatentsClassification = TypedDict('ModelGooglepatentsClassification', { + 'code': NotRequired[str], + 'description': NotRequired[str], + 'is_cpc': NotRequired[bool], +}, total=False) + +ModelGooglepatentsCountryStatus = TypedDict('ModelGooglepatentsCountryStatus', { + 'country_code': NotRequired[str], + 'state': NotRequired[str], +}, total=False) + +ModelGooglepatentsCoverageCountry = TypedDict('ModelGooglepatentsCoverageCountry', { + 'country_code': NotRequired[str], + 'years': NotRequired[list[ModelGooglepatentsCoverageYear]], +}, total=False) + +ModelGooglepatentsCoverageResponse = TypedDict('ModelGooglepatentsCoverageResponse', { + 'countries': NotRequired[list[ModelGooglepatentsCoverageCountry]], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + +ModelGooglepatentsCoverageYear = TypedDict('ModelGooglepatentsCoverageYear', { + 'applications': NotRequired[str], + 'grants': NotRequired[str], + 'year': NotRequired[int], +}, total=False) + +ModelGooglepatentsDetailResponse = TypedDict('ModelGooglepatentsDetailResponse', { + 'abstract': NotRequired[str], + 'application_number': NotRequired[str], + 'citations': NotRequired[list[ModelGooglepatentsCitedPatent]], + 'cited_by': NotRequired[list[ModelGooglepatentsCitedPatent]], + 'claims': NotRequired[list[str]], + 'claims_count': NotRequired[int], + 'classifications': NotRequired[list[ModelGooglepatentsClassification]], + 'country_code': NotRequired[str], + 'country_name': NotRequired[str], + 'current_assignees': NotRequired[list[str]], + 'description': NotRequired[list[str]], + 'expiration_date': NotRequired[str], + 'family_members': NotRequired[list[ModelGooglepatentsFamilyMember]], + 'fetched_at': NotRequired[str], + 'filing_date': NotRequired[str], + 'inventors': NotRequired[list[str]], + 'kind_code': NotRequired[str], + 'legal_status': NotRequired[str], + 'original_assignees': NotRequired[list[str]], + 'pdf_url': NotRequired[str], + 'prior_art_keywords': NotRequired[list[str]], + 'priority_date': NotRequired[str], + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], + 'similar_documents': NotRequired[list[ModelGooglepatentsSimilarDocument]], + 'source_url': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelGooglepatentsFacetEntry = TypedDict('ModelGooglepatentsFacetEntry', { + 'key': NotRequired[str], + 'value': NotRequired[int], +}, total=False) + +ModelGooglepatentsFamilyMember = TypedDict('ModelGooglepatentsFamilyMember', { + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], +}, total=False) + +ModelGooglepatentsSearchResponse = TypedDict('ModelGooglepatentsSearchResponse', { + 'fetched_at': NotRequired[str], + 'many_results': NotRequired[bool], + 'page': NotRequired[int], + 'query': NotRequired[str], + 'results': NotRequired[list[ModelGooglepatentsSearchResult]], + 'source_url': NotRequired[str], + 'top_assignees': NotRequired[list[ModelGooglepatentsFacetEntry]], + 'top_classifications': NotRequired[list[ModelGooglepatentsFacetEntry]], + 'top_inventors': NotRequired[list[ModelGooglepatentsFacetEntry]], + 'total_pages': NotRequired[int], + 'total_results': NotRequired[int], +}, total=False) + +ModelGooglepatentsSearchResult = TypedDict('ModelGooglepatentsSearchResult', { + 'assignee': NotRequired[str], + 'country_status': NotRequired[list[ModelGooglepatentsCountryStatus]], + 'detail_url': NotRequired[str], + 'filing_date': NotRequired[str], + 'grant_date': NotRequired[str], + 'inventor': NotRequired[str], + 'is_similar_document': NotRequired[bool], + 'language': NotRequired[str], + 'pdf_url': NotRequired[str], + 'priority_date': NotRequired[str], + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], + 'snippet': NotRequired[str], + 'thumbnail_url': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelGooglepatentsSimilarDocument = TypedDict('ModelGooglepatentsSimilarDocument', { + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelGooglepatentsSuggestEntry = TypedDict('ModelGooglepatentsSuggestEntry', { + 'description': NotRequired[str], + 'value': NotRequired[str], +}, total=False) + +ModelGooglepatentsSuggestResponse = TypedDict('ModelGooglepatentsSuggestResponse', { + 'fetched_at': NotRequired[str], + 'field': NotRequired[str], + 'source_url': NotRequired[str], + 'suggestions': NotRequired[list[ModelGooglepatentsSuggestEntry]], + 'value': NotRequired[str], +}, total=False) + +ModelGooglepatentsCoverageResponseDoc = TypedDict('ModelGooglepatentsCoverageResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelGooglepatentsCoverageResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelGooglepatentsDetailResponseDoc = TypedDict('ModelGooglepatentsDetailResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelGooglepatentsDetailResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelGooglepatentsSearchResponseDoc = TypedDict('ModelGooglepatentsSearchResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelGooglepatentsSearchResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelGooglepatentsSuggestResponseDoc = TypedDict('ModelGooglepatentsSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelGooglepatentsSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelGoogleplayApp = TypedDict('ModelGoogleplayApp', { 'ad_supported': NotRequired[bool], 'android_max_version': NotRequired[str], @@ -11281,6 +11633,18 @@ ModelHmProductSummary = TypedDict('ModelHmProductSummary', { 'url': NotRequired[str], }, total=False) +ModelHmRelatedList = TypedDict('ModelHmRelatedList', { + 'label': NotRequired[str], + 'products': NotRequired[list[ModelHmProductSummary]], +}, total=False) + +ModelHmRelatedResponse = TypedDict('ModelHmRelatedResponse', { + 'fetched_at': NotRequired[str], + 'lists': NotRequired[list[ModelHmRelatedList]], + 'product_id': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + ModelHmSearchMeta = TypedDict('ModelHmSearchMeta', { 'blocked': NotRequired[bool], 'did_you_mean': NotRequired[list[str]], @@ -11332,6 +11696,26 @@ ModelHmStoreResponse = TypedDict('ModelHmStoreResponse', { 'stores': NotRequired[list[ModelHmStore]], }, total=False) +ModelHmSuggestResponse = TypedDict('ModelHmSuggestResponse', { + 'blocked': NotRequired[bool], + 'content_suggestions': NotRequired[list[ModelHmSuggestionLink]], + 'fetched_at': NotRequired[str], + 'phrase_suggestions': NotRequired[list[str]], + 'popular_searches': NotRequired[list[ModelHmSuggestionLink]], + 'query': NotRequired[str], + 'search_history': NotRequired[list[str]], + 'source_url': NotRequired[str], + 'trending_searches': NotRequired[list[str]], +}, total=False) + +ModelHmSuggestionLink = TypedDict('ModelHmSuggestionLink', { + 'content_type': NotRequired[str], + 'deep_link': NotRequired[str], + 'image_url': NotRequired[str], + 'link': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + ModelHmCategoriesResponseDoc = TypedDict('ModelHmCategoriesResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelHmCategoriesResponse], @@ -11350,6 +11734,12 @@ ModelHmProductDetailResponseDoc = TypedDict('ModelHmProductDetailResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelHmRelatedResponseDoc = TypedDict('ModelHmRelatedResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelHmRelatedResponse], + 'msg': NotRequired[str], +}, total=False) + ModelHmSearchResponseDoc = TypedDict('ModelHmSearchResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelHmSearchResponse], @@ -11362,6 +11752,12 @@ ModelHmStoresResponseDoc = TypedDict('ModelHmStoresResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelHmSuggestResponseDoc = TypedDict('ModelHmSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelHmSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelImdbAlternateTitle = TypedDict('ModelImdbAlternateTitle', { 'country': NotRequired[str], 'title': NotRequired[str], @@ -29886,6 +30282,30 @@ AutotraderVehicleParams = TypedDict('AutotraderVehicleParams', { 'id': Required[str], }, total=False) +BestBuyBestbuyCategoryResponse = ModelBestbuyCategoryResponseDoc +BestBuyBestbuyCategoryParams = TypedDict('BestBuyBestbuyCategoryParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'category_id': Required[str], +}, total=False) + +BestBuyBestbuyProductResponse = ModelBestbuyProductResponseDoc +BestBuyBestbuyProductParams = TypedDict('BestBuyBestbuyProductParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'sku': Required[str], +}, total=False) + +BestBuyBestbuyProductReviewsResponse = ModelBestbuyProductReviewsResponseDoc +BestBuyBestbuyProductReviewsParams = TypedDict('BestBuyBestbuyProductReviewsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'sku': Required[str], +}, total=False) + BillingMeResponse = ModelBillingBillingStateResponseDoc BillingMeParams = TypedDict('BillingMeParams', { '_response_type': NotRequired[ResponseType], @@ -32784,6 +33204,16 @@ DepopItemParams = TypedDict('DepopItemParams', { 'slug': Required[str], }, total=False) +DepopItemSimilarResponse = ModelDepopSimilarItemsResponseDoc +DepopItemSimilarParams = TypedDict('DepopItemSimilarParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'slug': Required[str], + 'limit': NotRequired[int], + 'after': NotRequired[str], +}, total=False) + DepopSearchResponse = ModelDepopSearchResponseDoc DepopSearchParams = TypedDict('DepopSearchParams', { '_response_type': NotRequired[ResponseType], @@ -32799,6 +33229,7 @@ DepopSearchParams = TypedDict('DepopSearchParams', { 'category': NotRequired[str], 'subcategory': NotRequired[str], 'gender': NotRequired[str], + 'is_kids': NotRequired[bool], 'brand_ids': NotRequired[str], 'after': NotRequired[str], }, total=False) @@ -33017,6 +33448,40 @@ DoorDashDoordashStoreReviewsParams = TypedDict('DoorDashDoordashStoreReviewsPara 'longitude': Required[float], }, total=False) +DraftKingsDraftkingsEventResponse = ModelDraftkingsEventResponseDoc +DraftKingsDraftkingsEventParams = TypedDict('DraftKingsDraftkingsEventParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'event_id': Required[str], +}, total=False) + +DraftKingsDraftkingsEventMarketsResponse = ModelDraftkingsEventMarketsResponseDoc +DraftKingsDraftkingsEventMarketsParams = TypedDict('DraftKingsDraftkingsEventMarketsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'event_id': Required[str], + 'subcategory_id': Required[str], +}, total=False) + +DraftKingsDraftkingsFuturesResponse = ModelDraftkingsFuturesResponseDoc +DraftKingsDraftkingsFuturesParams = TypedDict('DraftKingsDraftkingsFuturesParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'league_id': Required[str], + 'subcategory_id': Required[str], +}, total=False) + +DraftKingsDraftkingsOddsResponse = ModelDraftkingsOddsResponseDoc +DraftKingsDraftkingsOddsParams = TypedDict('DraftKingsDraftkingsOddsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'league_id': Required[str], +}, total=False) + DuckDuckGoSearchDuckduckgoImageResponse = ModelDuckduckgoImageResponseDoc DuckDuckGoSearchDuckduckgoImageParams = TypedDict('DuckDuckGoSearchDuckduckgoImageParams', { '_response_type': NotRequired[ResponseType], @@ -34106,6 +34571,51 @@ GoogleVideosParams = TypedDict('GoogleVideosParams', { 'lang': NotRequired[str], }, total=False) +GooglePatentsGooglepatentsCoverageResponse = ModelGooglepatentsCoverageResponseDoc +GooglePatentsGooglepatentsCoverageParams = TypedDict('GooglePatentsGooglepatentsCoverageParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +GooglePatentsGooglepatentsDetailResponse = ModelGooglepatentsDetailResponseDoc +GooglePatentsGooglepatentsDetailParams = TypedDict('GooglePatentsGooglepatentsDetailParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'number': Required[str], + 'lang': NotRequired[str], +}, total=False) + +GooglePatentsGooglepatentsSearchResponse = ModelGooglepatentsSearchResponseDoc +GooglePatentsGooglepatentsSearchParams = TypedDict('GooglePatentsGooglepatentsSearchParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'inventor': NotRequired[str], + 'assignee': NotRequired[str], + 'country': NotRequired[str], + 'status': NotRequired[Literal['GRANT', 'APPLICATION']], + 'type': NotRequired[Literal['PATENT', 'DESIGN']], + 'language': NotRequired[Literal['ENGLISH', 'GERMAN', 'CHINESE', 'FRENCH', 'SPANISH', 'ARABIC', 'JAPANESE', 'KOREAN', 'PORTUGUESE', 'RUSSIAN', 'ITALIAN', 'DUTCH', 'SWEDISH', 'FINNISH', 'NORWEGIAN', 'DANISH']], + 'date_field': NotRequired[Literal['priority', 'filing', 'publication']], + 'before': NotRequired[str], + 'after': NotRequired[str], + 'sort': NotRequired[Literal['relevance', 'new', 'old']], + 'num': NotRequired[int], + 'page': NotRequired[int], +}, total=False) + +GooglePatentsGooglepatentsSuggestResponse = ModelGooglepatentsSuggestResponseDoc +GooglePatentsGooglepatentsSuggestParams = TypedDict('GooglePatentsGooglepatentsSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'field': Required[Literal['inventor', 'assignee']], + 'value': Required[str], +}, total=False) + GooglePlayAppResponse = ModelGoogleplayAppDetailsResponse GooglePlayAppParams = TypedDict('GooglePlayAppParams', { '_response_type': NotRequired[ResponseType], @@ -34259,6 +34769,14 @@ HMHmProductParams = TypedDict('HMHmProductParams', { 'product_id': Required[str], }, total=False) +HMHmProductRelatedResponse = ModelHmRelatedResponseDoc +HMHmProductRelatedParams = TypedDict('HMHmProductRelatedParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'product_id': Required[str], +}, total=False) + HMHmSearchResponse = ModelHmSearchResponseDoc HMHmSearchParams = TypedDict('HMHmSearchParams', { '_response_type': NotRequired[ResponseType], @@ -34269,6 +34787,14 @@ HMHmSearchParams = TypedDict('HMHmSearchParams', { 'page_size': NotRequired[int], }, total=False) +HMHmSearchSuggestionsResponse = ModelHmSuggestResponseDoc +HMHmSearchSuggestionsParams = TypedDict('HMHmSearchSuggestionsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': NotRequired[str], +}, total=False) + HMHmStoresResponse = ModelHmStoresResponseDoc HMHmStoresParams = TypedDict('HMHmStoresParams', { '_response_type': NotRequired[ResponseType], @@ -41422,6 +41948,11 @@ class AutotraderGroup: def search(self, **params: Unpack[AutotraderSearchParams]) -> AutotraderSearchResponse: ... def vehicle(self, **params: Unpack[AutotraderVehicleParams]) -> AutotraderVehicleResponse: ... +class BestBuyGroup: + def bestbuy_category(self, **params: Unpack[BestBuyBestbuyCategoryParams]) -> BestBuyBestbuyCategoryResponse: ... + def bestbuy_product(self, **params: Unpack[BestBuyBestbuyProductParams]) -> BestBuyBestbuyProductResponse: ... + def bestbuy_product_reviews(self, **params: Unpack[BestBuyBestbuyProductReviewsParams]) -> BestBuyBestbuyProductReviewsResponse: ... + class BillingGroup: def me(self, **params: Unpack[BillingMeParams]) -> BillingMeResponse: ... def me_checkout(self, **params: Unpack[BillingMeCheckoutParams]) -> BillingMeCheckoutResponse: ... @@ -41680,6 +42211,7 @@ class DatasetsGroup: class DepopGroup: def categories(self, **params: Unpack[DepopCategoriesParams]) -> DepopCategoriesResponse: ... def item(self, **params: Unpack[DepopItemParams]) -> DepopItemResponse: ... + def item_similar(self, **params: Unpack[DepopItemSimilarParams]) -> DepopItemSimilarResponse: ... def search(self, **params: Unpack[DepopSearchParams]) -> DepopSearchResponse: ... def shop(self, **params: Unpack[DepopShopParams]) -> DepopShopResponse: ... @@ -41706,6 +42238,12 @@ class DoorDashGroup: def doordash_store_menu(self, **params: Unpack[DoorDashDoordashStoreMenuParams]) -> DoorDashDoordashStoreMenuResponse: ... def doordash_store_reviews(self, **params: Unpack[DoorDashDoordashStoreReviewsParams]) -> DoorDashDoordashStoreReviewsResponse: ... +class DraftKingsGroup: + def draftkings_event(self, **params: Unpack[DraftKingsDraftkingsEventParams]) -> DraftKingsDraftkingsEventResponse: ... + def draftkings_event_markets(self, **params: Unpack[DraftKingsDraftkingsEventMarketsParams]) -> DraftKingsDraftkingsEventMarketsResponse: ... + def draftkings_futures(self, **params: Unpack[DraftKingsDraftkingsFuturesParams]) -> DraftKingsDraftkingsFuturesResponse: ... + def draftkings_odds(self, **params: Unpack[DraftKingsDraftkingsOddsParams]) -> DraftKingsDraftkingsOddsResponse: ... + class DuckDuckGoSearchGroup: def duckduckgo_image(self, **params: Unpack[DuckDuckGoSearchDuckduckgoImageParams]) -> DuckDuckGoSearchDuckduckgoImageResponse: ... def duckduckgo_news(self, **params: Unpack[DuckDuckGoSearchDuckduckgoNewsParams]) -> DuckDuckGoSearchDuckduckgoNewsResponse: ... @@ -41845,6 +42383,12 @@ class GoogleGroup: def trends_trending_detail(self, **params: Unpack[GoogleTrendsTrendingDetailParams]) -> GoogleTrendsTrendingDetailResponse: ... def videos(self, **params: Unpack[GoogleVideosParams]) -> GoogleVideosResponse: ... +class GooglePatentsGroup: + def googlepatents_coverage(self, **params: Unpack[GooglePatentsGooglepatentsCoverageParams]) -> GooglePatentsGooglepatentsCoverageResponse: ... + def googlepatents_detail(self, **params: Unpack[GooglePatentsGooglepatentsDetailParams]) -> GooglePatentsGooglepatentsDetailResponse: ... + def googlepatents_search(self, **params: Unpack[GooglePatentsGooglepatentsSearchParams]) -> GooglePatentsGooglepatentsSearchResponse: ... + def googlepatents_suggest(self, **params: Unpack[GooglePatentsGooglepatentsSuggestParams]) -> GooglePatentsGooglepatentsSuggestResponse: ... + class GooglePlayGroup: def app(self, **params: Unpack[GooglePlayAppParams]) -> GooglePlayAppResponse: ... def categories(self, **params: Unpack[GooglePlayCategoriesParams]) -> GooglePlayCategoriesResponse: ... @@ -41862,7 +42406,9 @@ class HMGroup: def hm_categories(self, **params: Unpack[HMHmCategoriesParams]) -> HMHmCategoriesResponse: ... def hm_listing(self, **params: Unpack[HMHmListingParams]) -> HMHmListingResponse: ... def hm_product(self, **params: Unpack[HMHmProductParams]) -> HMHmProductResponse: ... + def hm_product_related(self, **params: Unpack[HMHmProductRelatedParams]) -> HMHmProductRelatedResponse: ... def hm_search(self, **params: Unpack[HMHmSearchParams]) -> HMHmSearchResponse: ... + def hm_search_suggestions(self, **params: Unpack[HMHmSearchSuggestionsParams]) -> HMHmSearchSuggestionsResponse: ... def hm_stores(self, **params: Unpack[HMHmStoresParams]) -> HMHmStoresResponse: ... class ImdbGroup: @@ -42835,6 +43381,9 @@ OperationId = Literal[ 'autotrader-dealer', 'autotrader-search', 'autotrader-vehicle', + 'bestbuy-category', + 'bestbuy-product', + 'bestbuy-product-reviews', 'billing-me', 'billing-me-checkout', 'billing-me-events', @@ -43056,6 +43605,7 @@ OperationId = Literal[ 'datasets-x-users-search', 'depop-categories', 'depop-item', + 'depop-item-similar', 'depop-search', 'depop-shop', 'antibot-check', @@ -43078,6 +43628,10 @@ OperationId = Literal[ 'doordash-store-item', 'doordash-store-menu', 'doordash-store-reviews', + 'draftkings-event', + 'draftkings-event-markets', + 'draftkings-futures', + 'draftkings-odds', 'duckduckgo-image', 'duckduckgo-news', 'duckduckgo-search', @@ -43194,6 +43748,10 @@ OperationId = Literal[ 'google-trends-trending', 'google-trends-trending-detail', 'google-videos', + 'googlepatents-coverage', + 'googlepatents-detail', + 'googlepatents-search', + 'googlepatents-suggest', 'googleplay-app', 'googleplay-categories', 'googleplay-datasafety', @@ -43208,7 +43766,9 @@ OperationId = Literal[ 'hm-categories', 'hm-listing', 'hm-product', + 'hm-product-related', 'hm-search', + 'hm-search-suggestions', 'hm-stores', 'imdb-name', 'imdb-name-awards', @@ -43958,6 +44518,7 @@ class CrawloraClient: apple_podcasts: ApplePodcastsGroup app_store: AppStoreGroup autotrader: AutotraderGroup + best_buy: BestBuyGroup billing: BillingGroup bing: BingGroup bluesky: BlueskyGroup @@ -43977,6 +44538,7 @@ class CrawloraClient: depop: DepopGroup discogs: DiscogsGroup door_dash: DoorDashGroup + draft_kings: DraftKingsGroup duck_duck_go_search: DuckDuckGoSearchGroup e_bay: EBayGroup espn: EspnGroup @@ -43989,6 +44551,7 @@ class CrawloraClient: goodreads: GoodreadsGroup google_jobs: GoogleJobsGroup google: GoogleGroup + google_patents: GooglePatentsGroup google_play: GooglePlayGroup h_m: HMGroup imdb: ImdbGroup @@ -44949,6 +45512,42 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AutotraderVehicleResponse: ... @overload + def operation( + self, + operation_id: Literal['bestbuy-category'], + params: BestBuyBestbuyCategoryParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategoryResponse: ... + @overload + def operation( + self, + operation_id: Literal['bestbuy-product'], + params: BestBuyBestbuyProductParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductResponse: ... + @overload + def operation( + self, + operation_id: Literal['bestbuy-product-reviews'], + params: BestBuyBestbuyProductReviewsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductReviewsResponse: ... + @overload def operation( self, operation_id: Literal['billing-me'], @@ -47601,6 +48200,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DepopItemResponse: ... @overload + def operation( + self, + operation_id: Literal['depop-item-similar'], + params: DepopItemSimilarParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopItemSimilarResponse: ... + @overload def operation( self, operation_id: Literal['depop-search'], @@ -47865,6 +48476,54 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DoorDashDoordashStoreReviewsResponse: ... @overload + def operation( + self, + operation_id: Literal['draftkings-event'], + params: DraftKingsDraftkingsEventParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsEventResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-event-markets'], + params: DraftKingsDraftkingsEventMarketsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsEventMarketsResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-futures'], + params: DraftKingsDraftkingsFuturesParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsFuturesResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-odds'], + params: DraftKingsDraftkingsOddsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsOddsResponse: ... + @overload def operation( self, operation_id: Literal['duckduckgo-image'], @@ -49257,6 +49916,54 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GoogleVideosResponse: ... @overload + def operation( + self, + operation_id: Literal['googlepatents-coverage'], + params: GooglePatentsGooglepatentsCoverageParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsCoverageResponse: ... + @overload + def operation( + self, + operation_id: Literal['googlepatents-detail'], + params: GooglePatentsGooglepatentsDetailParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsDetailResponse: ... + @overload + def operation( + self, + operation_id: Literal['googlepatents-search'], + params: GooglePatentsGooglepatentsSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsSearchResponse: ... + @overload + def operation( + self, + operation_id: Literal['googlepatents-suggest'], + params: GooglePatentsGooglepatentsSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsSuggestResponse: ... + @overload def operation( self, operation_id: Literal['googleplay-app'], @@ -49425,6 +50132,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> HMHmProductResponse: ... @overload + def operation( + self, + operation_id: Literal['hm-product-related'], + params: HMHmProductRelatedParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> HMHmProductRelatedResponse: ... + @overload def operation( self, operation_id: Literal['hm-search'], @@ -49437,6 +50156,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> HMHmSearchResponse: ... @overload + def operation( + self, + operation_id: Literal['hm-search-suggestions'], + params: HMHmSearchSuggestionsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> HMHmSearchSuggestionsResponse: ... + @overload def operation( self, operation_id: Literal['hm-stores'], @@ -59073,6 +59804,42 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AutotraderVehicleResponse: ... @overload + def request( + self, + operation_id: Literal['bestbuy-category'], + params: BestBuyBestbuyCategoryParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategoryResponse: ... + @overload + def request( + self, + operation_id: Literal['bestbuy-product'], + params: BestBuyBestbuyProductParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductResponse: ... + @overload + def request( + self, + operation_id: Literal['bestbuy-product-reviews'], + params: BestBuyBestbuyProductReviewsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductReviewsResponse: ... + @overload def request( self, operation_id: Literal['billing-me'], @@ -61725,6 +62492,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DepopItemResponse: ... @overload + def request( + self, + operation_id: Literal['depop-item-similar'], + params: DepopItemSimilarParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopItemSimilarResponse: ... + @overload def request( self, operation_id: Literal['depop-search'], @@ -61989,6 +62768,54 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DoorDashDoordashStoreReviewsResponse: ... @overload + def request( + self, + operation_id: Literal['draftkings-event'], + params: DraftKingsDraftkingsEventParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsEventResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-event-markets'], + params: DraftKingsDraftkingsEventMarketsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsEventMarketsResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-futures'], + params: DraftKingsDraftkingsFuturesParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsFuturesResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-odds'], + params: DraftKingsDraftkingsOddsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsDraftkingsOddsResponse: ... + @overload def request( self, operation_id: Literal['duckduckgo-image'], @@ -63381,6 +64208,54 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GoogleVideosResponse: ... @overload + def request( + self, + operation_id: Literal['googlepatents-coverage'], + params: GooglePatentsGooglepatentsCoverageParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsCoverageResponse: ... + @overload + def request( + self, + operation_id: Literal['googlepatents-detail'], + params: GooglePatentsGooglepatentsDetailParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsDetailResponse: ... + @overload + def request( + self, + operation_id: Literal['googlepatents-search'], + params: GooglePatentsGooglepatentsSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsSearchResponse: ... + @overload + def request( + self, + operation_id: Literal['googlepatents-suggest'], + params: GooglePatentsGooglepatentsSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsSuggestResponse: ... + @overload def request( self, operation_id: Literal['googleplay-app'], @@ -63549,6 +64424,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> HMHmProductResponse: ... @overload + def request( + self, + operation_id: Literal['hm-product-related'], + params: HMHmProductRelatedParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> HMHmProductRelatedResponse: ... + @overload def request( self, operation_id: Literal['hm-search'], @@ -63561,6 +64448,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> HMHmSearchResponse: ... @overload + def request( + self, + operation_id: Literal['hm-search-suggestions'], + params: HMHmSearchSuggestionsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> HMHmSearchSuggestionsResponse: ... + @overload def request( self, operation_id: Literal['hm-stores'], diff --git a/crawlora/operations.py b/crawlora/operations.py index 7b39723..1f00ee7 100644 --- a/crawlora/operations.py +++ b/crawlora/operations.py @@ -1048,6 +1048,39 @@ 'produces': ['application/json'], 'queryParams': [], 'security': ['ApiKeyAuth']}, + 'bestbuy-category': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-category', + 'method': 'GET', + 'path': '/bestbuy/category', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'category_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'bestbuy-product': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-product', + 'method': 'GET', + 'path': '/bestbuy/product', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'sku', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'bestbuy-product-reviews': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-product-reviews', + 'method': 'GET', + 'path': '/bestbuy/product/reviews', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'sku', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'billing-me': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -7270,6 +7303,18 @@ 'produces': ['application/json'], 'queryParams': [], 'security': ['ApiKeyAuth']}, + 'depop-item-similar': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'depop-item-similar', + 'method': 'GET', + 'path': '/depop/item/{slug}/similar', + 'pathParams': ['slug'], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'limit', 'type': 'integer'}, + {'in': 'query', 'name': 'after', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'depop-search': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -7289,6 +7334,7 @@ {'in': 'query', 'name': 'category', 'type': 'string'}, {'in': 'query', 'name': 'subcategory', 'type': 'string'}, {'in': 'query', 'name': 'gender', 'type': 'string'}, + {'in': 'query', 'name': 'is_kids', 'type': 'boolean'}, {'in': 'query', 'name': 'brand_ids', 'type': 'string'}, {'in': 'query', 'name': 'after', 'type': 'string'}], 'security': ['ApiKeyAuth']}, @@ -7563,6 +7609,55 @@ 'queryParams': [{'in': 'query', 'name': 'latitude', 'required': True, 'type': 'number'}, {'in': 'query', 'name': 'longitude', 'required': True, 'type': 'number'}], 'security': ['ApiKeyAuth']}, + 'draftkings-event': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-event', + 'method': 'GET', + 'path': '/draftkings/event', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'event_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'draftkings-event-markets': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-event-markets', + 'method': 'GET', + 'path': '/draftkings/event-markets', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'event_id', 'required': True, 'type': 'string'}, + {'in': 'query', + 'name': 'subcategory_id', + 'required': True, + 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'draftkings-futures': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-futures', + 'method': 'GET', + 'path': '/draftkings/futures', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'league_id', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'subcategory_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'draftkings-odds': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-odds', + 'method': 'GET', + 'path': '/draftkings/odds', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'league_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'duckduckgo-image': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -9572,6 +9667,99 @@ {'in': 'query', 'name': 'country', 'type': 'string'}, {'in': 'query', 'name': 'lang', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'googlepatents-coverage': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'googlepatents-coverage', + 'method': 'GET', + 'path': '/googlepatents/coverage', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, + 'googlepatents-detail': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'googlepatents-detail', + 'method': 'GET', + 'path': '/googlepatents/detail', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'number', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'lang', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'googlepatents-search': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'googlepatents-search', + 'method': 'GET', + 'paginatable': True, + 'path': '/googlepatents/search', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'inventor', 'type': 'string'}, + {'in': 'query', 'name': 'assignee', 'type': 'string'}, + {'in': 'query', 'name': 'country', 'type': 'string'}, + {'enum': ['GRANT', 'APPLICATION'], + 'in': 'query', + 'name': 'status', + 'type': 'string'}, + {'enum': ['PATENT', 'DESIGN'], + 'in': 'query', + 'name': 'type', + 'type': 'string'}, + {'enum': ['ENGLISH', + 'GERMAN', + 'CHINESE', + 'FRENCH', + 'SPANISH', + 'ARABIC', + 'JAPANESE', + 'KOREAN', + 'PORTUGUESE', + 'RUSSIAN', + 'ITALIAN', + 'DUTCH', + 'SWEDISH', + 'FINNISH', + 'NORWEGIAN', + 'DANISH'], + 'in': 'query', + 'name': 'language', + 'type': 'string'}, + {'enum': ['priority', 'filing', 'publication'], + 'in': 'query', + 'name': 'date_field', + 'type': 'string'}, + {'in': 'query', 'name': 'before', 'type': 'string'}, + {'in': 'query', 'name': 'after', 'type': 'string'}, + {'enum': ['relevance', 'new', 'old'], + 'in': 'query', + 'name': 'sort', + 'type': 'string'}, + {'in': 'query', 'name': 'num', 'type': 'integer'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'googlepatents-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'googlepatents-suggest', + 'method': 'GET', + 'path': '/googlepatents/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'enum': ['inventor', 'assignee'], + 'in': 'query', + 'name': 'field', + 'required': True, + 'type': 'string'}, + {'in': 'query', 'name': 'value', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'googleplay-app': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -9784,6 +9972,17 @@ 'produces': ['application/json'], 'queryParams': [], 'security': ['ApiKeyAuth']}, + 'hm-product-related': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'hm-product-related', + 'method': 'GET', + 'path': '/hm/product/{product_id}/related', + 'pathParams': ['product_id'], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, 'hm-search': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -9798,6 +9997,17 @@ {'in': 'query', 'name': 'page', 'type': 'integer'}, {'in': 'query', 'name': 'page_size', 'type': 'integer'}], 'security': ['ApiKeyAuth']}, + 'hm-search-suggestions': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'hm-search-suggestions', + 'method': 'GET', + 'path': '/hm/search/suggestions', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'hm-stores': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -20567,6 +20777,9 @@ 'show_episodes': 'apple-podcasts-show-episodes', 'show_related': 'apple-podcasts-show-related'}, 'autotrader': {'dealer': 'autotrader-dealer', 'search': 'autotrader-search', 'vehicle': 'autotrader-vehicle'}, + 'best_buy': {'bestbuy_category': 'bestbuy-category', + 'bestbuy_product': 'bestbuy-product', + 'bestbuy_product_reviews': 'bestbuy-product-reviews'}, 'billing': {'me': 'billing-me', 'me_checkout': 'billing-me-checkout', 'me_events': 'billing-me-events', @@ -20781,7 +20994,11 @@ 'x_users_facets': 'datasets-x-users-facets', 'x_users_item': 'datasets-x-users-item', 'x_users_search': 'datasets-x-users-search'}, - 'depop': {'categories': 'depop-categories', 'item': 'depop-item', 'search': 'depop-search', 'shop': 'depop-shop'}, + 'depop': {'categories': 'depop-categories', + 'item': 'depop-item', + 'item_similar': 'depop-item-similar', + 'search': 'depop-search', + 'shop': 'depop-shop'}, 'discogs': {'artist': 'discogs-artist', 'artist_releases': 'discogs-artist-releases', 'label': 'discogs-label', @@ -20801,6 +21018,10 @@ 'doordash_store_item': 'doordash-store-item', 'doordash_store_menu': 'doordash-store-menu', 'doordash_store_reviews': 'doordash-store-reviews'}, + 'draft_kings': {'draftkings_event': 'draftkings-event', + 'draftkings_event_markets': 'draftkings-event-markets', + 'draftkings_futures': 'draftkings-futures', + 'draftkings_odds': 'draftkings-odds'}, 'duck_duck_go_search': {'duckduckgo_image': 'duckduckgo-image', 'duckduckgo_news': 'duckduckgo-news', 'duckduckgo_search': 'duckduckgo-search', @@ -20910,6 +21131,10 @@ 'trends_trending_detail': 'google-trends-trending-detail', 'videos': 'google-videos'}, 'google_jobs': {'job': 'google-jobs-job', 'search': 'google-jobs-search'}, + 'google_patents': {'googlepatents_coverage': 'googlepatents-coverage', + 'googlepatents_detail': 'googlepatents-detail', + 'googlepatents_search': 'googlepatents-search', + 'googlepatents_suggest': 'googlepatents-suggest'}, 'google_play': {'app': 'googleplay-app', 'categories': 'googleplay-categories', 'datasafety': 'googleplay-datasafety', @@ -20924,7 +21149,9 @@ 'h_m': {'hm_categories': 'hm-categories', 'hm_listing': 'hm-listing', 'hm_product': 'hm-product', + 'hm_product_related': 'hm-product-related', 'hm_search': 'hm-search', + 'hm_search_suggestions': 'hm-search-suggestions', 'hm_stores': 'hm-stores'}, 'imdb': {'name': 'imdb-name', 'name_awards': 'imdb-name-awards', @@ -21628,7 +21855,7 @@ 'suggest': 'zara-suggest'}, 'zillow': {'autocomplete': 'zillow-autocomplete', 'property': 'zillow-property', 'search': 'zillow-search'}} -OPERATION_COUNT = 1176 +OPERATION_COUNT = 1190 class OperationId: ACCOUNT_DELETION_CANCEL = 'account-deletion-cancel' @@ -21700,6 +21927,9 @@ class OperationId: AUTOTRADER_DEALER = 'autotrader-dealer' AUTOTRADER_SEARCH = 'autotrader-search' AUTOTRADER_VEHICLE = 'autotrader-vehicle' + BEST_BUY_BESTBUY_CATEGORY = 'bestbuy-category' + BEST_BUY_BESTBUY_PRODUCT = 'bestbuy-product' + BEST_BUY_BESTBUY_PRODUCT_REVIEWS = 'bestbuy-product-reviews' BILLING_ME = 'billing-me' BILLING_ME_CHECKOUT = 'billing-me-checkout' BILLING_ME_EVENTS = 'billing-me-events' @@ -21920,6 +22150,7 @@ class OperationId: DATASETS_XUSERS_SEARCH = 'datasets-x-users-search' DEPOP_CATEGORIES = 'depop-categories' DEPOP_ITEM = 'depop-item' + DEPOP_ITEM_SIMILAR = 'depop-item-similar' DEPOP_SEARCH = 'depop-search' DEPOP_SHOP = 'depop-shop' DISCOGS_ARTIST = 'discogs-artist' @@ -21941,6 +22172,10 @@ class OperationId: DOOR_DASH_DOORDASH_STORE_ITEM = 'doordash-store-item' DOOR_DASH_DOORDASH_STORE_MENU = 'doordash-store-menu' DOOR_DASH_DOORDASH_STORE_REVIEWS = 'doordash-store-reviews' + DRAFT_KINGS_DRAFTKINGS_EVENT = 'draftkings-event' + DRAFT_KINGS_DRAFTKINGS_EVENT_MARKETS = 'draftkings-event-markets' + DRAFT_KINGS_DRAFTKINGS_FUTURES = 'draftkings-futures' + DRAFT_KINGS_DRAFTKINGS_ODDS = 'draftkings-odds' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_IMAGE = 'duckduckgo-image' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_NEWS = 'duckduckgo-news' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_SEARCH = 'duckduckgo-search' @@ -22042,6 +22277,10 @@ class OperationId: GOOGLE_MAP_PLACE_REVIEWS = 'google-map-place-reviews' GOOGLE_MAP_SEARCH = 'google-map-search' GOOGLE_NEWS = 'google-news' + GOOGLE_PATENTS_GOOGLEPATENTS_COVERAGE = 'googlepatents-coverage' + GOOGLE_PATENTS_GOOGLEPATENTS_DETAIL = 'googlepatents-detail' + GOOGLE_PATENTS_GOOGLEPATENTS_SEARCH = 'googlepatents-search' + GOOGLE_PATENTS_GOOGLEPATENTS_SUGGEST = 'googlepatents-suggest' GOOGLE_PLAY_APP = 'googleplay-app' GOOGLE_PLAY_CATEGORIES = 'googleplay-categories' GOOGLE_PLAY_DATASAFETY = 'googleplay-datasafety' @@ -22070,7 +22309,9 @@ class OperationId: HMHM_CATEGORIES = 'hm-categories' HMHM_LISTING = 'hm-listing' HMHM_PRODUCT = 'hm-product' + HMHM_PRODUCT_RELATED = 'hm-product-related' HMHM_SEARCH = 'hm-search' + HMHM_SEARCH_SUGGESTIONS = 'hm-search-suggestions' HMHM_STORES = 'hm-stores' IMDB_NAME = 'imdb-name' IMDB_NAME_AWARDS = 'imdb-name-awards' diff --git a/docs/operations.md b/docs/operations.md index f6adeac..6904c75 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: `1176` +Total operations: `1190` | Group | SDK method | Operation ID | HTTP | Params | Auth | Response | Notes | | --- | --- | --- | --- | --- | --- | --- | --- | @@ -72,6 +72,9 @@ Total operations: `1176` | autotrader | `autotrader.dealer` | `autotrader-dealer` | `GET /autotrader/dealer/{id}` | `id` (path str required) | `ApiKeyAuth` | `AutotraderDealerResponse` | | | autotrader | `autotrader.search` | `autotrader-search` | `GET /autotrader/search` | `query` (query str)
`zip` (query str)
`radius` (query int)
`make` (query str)
`model` (query str)
`trim` (query str)
`condition` (query Literal['new', 'used', 'certified', '3p_cert'])
`body_style` (query Literal['convertible', 'coupe', 'hatchback', 'sedan', 'suv', 'truck', 'van', 'wagon'])
`seller_type` (query Literal['dealer', 'private'])
`min_year` (query int)
`max_year` (query int)
`min_price` (query int)
`max_price` (query int)
`max_mileage` (query int)
`page` (query int) | `ApiKeyAuth` | `AutotraderSearchResponse` | | | autotrader | `autotrader.vehicle` | `autotrader-vehicle` | `GET /autotrader/vehicle/{id}` | `id` (path str required) | `ApiKeyAuth` | `AutotraderVehicleResponse` | | +| best_buy | `best_buy.bestbuy_category` | `bestbuy-category` | `GET /bestbuy/category` | `category_id` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyCategoryResponse` | | +| best_buy | `best_buy.bestbuy_product` | `bestbuy-product` | `GET /bestbuy/product` | `sku` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyProductResponse` | | +| best_buy | `best_buy.bestbuy_product_reviews` | `bestbuy-product-reviews` | `GET /bestbuy/product/reviews` | `sku` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyProductReviewsResponse` | | | billing | `billing.me` | `billing-me` | `GET /billing/me` | none | `ApiKeyAuth` | `BillingMeResponse` | | | billing | `billing.me_checkout` | `billing-me-checkout` | `POST /billing/me/checkout` | `request` (body str required) | `ApiKeyAuth` | `BillingMeCheckoutResponse` | | | billing | `billing.me_events` | `billing-me-events` | `GET /billing/me/events` | `limit` (query int)
`from` (query str)
`to` (query str)
`endpoint` (query str)
`request_id` (query str)
`event_status` (query Literal['reserved', 'charged', 'non_billable', 'failed'])
`billable` (query bool) | `ApiKeyAuth` | `BillingMeEventsResponse` | | @@ -297,7 +300,8 @@ Total operations: `1176` | datasets | `datasets.x_users_search` | `datasets-x-users-search` | `GET /datasets/x-users/search` | `q` (query str)
`username` (query str)
`source_tier` (query str)
`is_blue_verified` (query bool)
`has_bio` (query bool)
`has_external_url` (query bool)
`min_followers` (query int)
`max_followers` (query int)
`min_ratio` (query float)
`max_ratio` (query float)
`created_after` (query str)
`created_before` (query str)
`crawled_after` (query str)
`crawled_before` (query str)
`sort` (query Literal['relevance', 'followers_desc', 'followers_asc', 'crawled_at_desc', 'crawled_at_asc', 'created_at_desc', 'created_at_asc'])
`page` (query int)
`page_size` (query int) | `ApiKeyAuth` | `DatasetsXUsersSearchResponse` | | | depop | `depop.categories` | `depop-categories` | `GET /depop/categories` | none | `ApiKeyAuth` | `DepopCategoriesResponse` | | | depop | `depop.item` | `depop-item` | `GET /depop/item/{slug}` | `slug` (path str required) | `ApiKeyAuth` | `DepopItemResponse` | | -| depop | `depop.search` | `depop-search` | `GET /depop/search` | `query` (query str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str)
`brand_ids` (query str)
`after` (query str) | `ApiKeyAuth` | `DepopSearchResponse` | | +| depop | `depop.item_similar` | `depop-item-similar` | `GET /depop/item/{slug}/similar` | `slug` (path str required)
`limit` (query int)
`after` (query str) | `ApiKeyAuth` | `DepopItemSimilarResponse` | | +| depop | `depop.search` | `depop-search` | `GET /depop/search` | `query` (query str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str)
`is_kids` (query bool)
`brand_ids` (query str)
`after` (query str) | `ApiKeyAuth` | `DepopSearchResponse` | | | depop | `depop.shop` | `depop-shop` | `GET /depop/shop/{username}` | `username` (path str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str) | `ApiKeyAuth` | `DepopShopResponse` | | | discogs | `discogs.artist` | `discogs-artist` | `GET /discogs/artist/{id}` | `id` (path str required) | `ApiKeyAuth` | `DiscogsArtistResponse` | | | discogs | `discogs.artist_releases` | `discogs-artist-releases` | `GET /discogs/artist/{id}/releases` | `id` (path str required)
`page` (query int)
`per_page` (query int) | `ApiKeyAuth` | `DiscogsArtistReleasesResponse` | | @@ -318,6 +322,10 @@ Total operations: `1176` | door_dash | `door_dash.doordash_store_item` | `doordash-store-item` | `GET /doordash/store/{store_id}/item/{item_id}` | `store_id` (path str required)
`item_id` (path str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `DoorDashDoordashStoreItemResponse` | | | door_dash | `door_dash.doordash_store_menu` | `doordash-store-menu` | `GET /doordash/store/{store_id}/menu` | `store_id` (path str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `DoorDashDoordashStoreMenuResponse` | | | door_dash | `door_dash.doordash_store_reviews` | `doordash-store-reviews` | `GET /doordash/store/{store_id}/reviews` | `store_id` (path str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `DoorDashDoordashStoreReviewsResponse` | | +| draft_kings | `draft_kings.draftkings_event` | `draftkings-event` | `GET /draftkings/event` | `event_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsEventResponse` | | +| draft_kings | `draft_kings.draftkings_event_markets` | `draftkings-event-markets` | `GET /draftkings/event-markets` | `event_id` (query str required)
`subcategory_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsEventMarketsResponse` | | +| draft_kings | `draft_kings.draftkings_futures` | `draftkings-futures` | `GET /draftkings/futures` | `league_id` (query str required)
`subcategory_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsFuturesResponse` | | +| draft_kings | `draft_kings.draftkings_odds` | `draftkings-odds` | `GET /draftkings/odds` | `league_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsOddsResponse` | | | duck_duck_go_search | `duck_duck_go_search.duckduckgo_image` | `duckduckgo-image` | `GET /duckduckgo/image` | `q` (query str required)
`page` (query int)
`region` (query str) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoImageResponse` | | | 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` | | @@ -433,6 +441,10 @@ Total operations: `1176` | google | `google.trends_trending` | `google-trends-trending` | `GET /google/trends/trending` | `geo` (query Literal['AF', 'AX', 'AL', 'DZ', 'AS', 'AD', 'AO', 'AI', 'AQ', 'AG', 'AR', 'AM', 'AW', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BM', 'BT', 'BO', 'BA', 'BW', 'BV', 'BR', 'IO', 'VG', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'BQ', 'KY', 'CF', 'TD', 'CL', 'CN', 'CX', 'CC', 'CO', 'KM', 'CG', 'CD', 'CK', 'CR', 'CI', 'HR', 'CU', 'CW', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'SZ', 'ET', 'FK', 'FO', 'FJ', 'FI', 'FR', 'GF', 'PF', 'TF', 'GA', 'GM', 'GE', 'DE', 'GH', 'GI', 'GR', 'GL', 'GD', 'GP', 'GU', 'GT', 'GG', 'GN', 'GW', 'GY', 'HT', 'HM', 'HN', 'HK', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IM', 'IL', 'IT', 'JM', 'JP', 'JE', 'JO', 'KZ', 'KE', 'KI', 'XK', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MO', 'MG', 'MW', 'MY', 'MV', 'ML', 'MT', 'MH', 'MQ', 'MR', 'MU', 'YT', 'MX', 'FM', 'MD', 'MC', 'MN', 'ME', 'MS', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NL', 'NC', 'NZ', 'NI', 'NE', 'NG', 'NU', 'NF', 'KP', 'MK', 'MP', 'NO', 'OM', 'PK', 'PW', 'PS', 'PA', 'PG', 'PY', 'PE', 'PH', 'PN', 'PL', 'PT', 'PR', 'QA', 'RE', 'RO', 'RU', 'RW', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SL', 'SG', 'SX', 'SK', 'SI', 'SB', 'SO', 'ZA', 'GS', 'KR', 'SS', 'ES', 'LK', 'BL', 'SH', 'KN', 'LC', 'MF', 'PM', 'VC', 'SD', 'SR', 'SJ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TL', 'TG', 'TK', 'TO', 'TT', 'TN', 'TR', 'TM', 'TC', 'TV', 'UM', 'VI', 'UG', 'UA', 'AE', 'GB', 'US', 'UY', 'UZ', 'VU', 'VA', 'VE', 'VN', 'WF', 'EH', 'YE', 'ZM', 'ZW'])
`hl` (query str)
`tz` (query int)
`window` (query Literal['4h', '24h', '48h', '7d'])
`time_range` (query Literal['4h', '24h', '48h', '7d'])
`category` (query Literal['0', '3', '47', '44', '22', '12', '5', '7', '71', '8', '45', '65', '11', '13', '958', '19', '16', '299', '14', '66', '29', '533', '174', '18', '20', '67'])
`status` (query Literal['all', 'active', 'ended'])
`sort_by` (query Literal['relevance', 'title', 'recency', 'search_volume'])
`limit` (query int) | `ApiKeyAuth` | `GoogleTrendsTrendingResponse` | | | google | `google.trends_trending_detail` | `google-trends-trending-detail` | `POST /google/trends/trending/detail` | `request` (body str required) | `ApiKeyAuth` | `GoogleTrendsTrendingDetailResponse` | | | google | `google.videos` | `google-videos` | `GET /google/videos` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GoogleVideosResponse` | | +| google_patents | `google_patents.googlepatents_coverage` | `googlepatents-coverage` | `GET /googlepatents/coverage` | none | `ApiKeyAuth` | `GooglePatentsGooglepatentsCoverageResponse` | | +| google_patents | `google_patents.googlepatents_detail` | `googlepatents-detail` | `GET /googlepatents/detail` | `number` (query str required)
`lang` (query str) | `ApiKeyAuth` | `GooglePatentsGooglepatentsDetailResponse` | | +| google_patents | `google_patents.googlepatents_search` | `googlepatents-search` | `GET /googlepatents/search` | `q` (query str required)
`inventor` (query str)
`assignee` (query str)
`country` (query str)
`status` (query Literal['GRANT', 'APPLICATION'])
`type` (query Literal['PATENT', 'DESIGN'])
`language` (query Literal['ENGLISH', 'GERMAN', 'CHINESE', 'FRENCH', 'SPANISH', 'ARABIC', 'JAPANESE', 'KOREAN', 'PORTUGUESE', 'RUSSIAN', 'ITALIAN', 'DUTCH', 'SWEDISH', 'FINNISH', 'NORWEGIAN', 'DANISH'])
`date_field` (query Literal['priority', 'filing', 'publication'])
`before` (query str)
`after` (query str)
`sort` (query Literal['relevance', 'new', 'old'])
`num` (query int)
`page` (query int) | `ApiKeyAuth` | `GooglePatentsGooglepatentsSearchResponse` | | +| google_patents | `google_patents.googlepatents_suggest` | `googlepatents-suggest` | `GET /googlepatents/suggest` | `field` (query Literal['inventor', 'assignee'] required)
`value` (query str required) | `ApiKeyAuth` | `GooglePatentsGooglepatentsSuggestResponse` | | | google_play | `google_play.app` | `googleplay-app` | `GET /googleplay/app` | `app_id` (query str required)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GooglePlayAppResponse` | | | google_play | `google_play.categories` | `googleplay-categories` | `GET /googleplay/categories` | `country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GooglePlayCategoriesResponse` | | | google_play | `google_play.datasafety` | `googleplay-datasafety` | `GET /googleplay/datasafety` | `app_id` (query str required)
`lang` (query str) | `ApiKeyAuth` | `GooglePlayDatasafetyResponse` | | @@ -447,7 +459,9 @@ Total operations: `1176` | h_m | `h_m.hm_categories` | `hm-categories` | `GET /hm/categories` | `department` (query Literal['women', 'men', 'kids', 'home', 'beauty']) | `ApiKeyAuth` | `HMHmCategoriesResponse` | | | h_m | `h_m.hm_listing` | `hm-listing` | `GET /hm/listing` | `category_id` (query str required)
`page` (query int)
`page_size` (query int)
`sort` (query Literal['RELEVANCE', 'NEWEST_FIRST', 'PRICE_ASCENDING', 'PRICE_DESCENDING'])
`is_new` (query bool) | `ApiKeyAuth` | `HMHmListingResponse` | | | h_m | `h_m.hm_product` | `hm-product` | `GET /hm/product/{product_id}` | `product_id` (path str required) | `ApiKeyAuth` | `HMHmProductResponse` | | +| h_m | `h_m.hm_product_related` | `hm-product-related` | `GET /hm/product/{product_id}/related` | `product_id` (path str required) | `ApiKeyAuth` | `HMHmProductRelatedResponse` | | | h_m | `h_m.hm_search` | `hm-search` | `GET /hm/search` | `query` (query str required)
`page` (query int)
`page_size` (query int) | `ApiKeyAuth` | `HMHmSearchResponse` | | +| h_m | `h_m.hm_search_suggestions` | `hm-search-suggestions` | `GET /hm/search/suggestions` | `query` (query str) | `ApiKeyAuth` | `HMHmSearchSuggestionsResponse` | | | h_m | `h_m.hm_stores` | `hm-stores` | `GET /hm/stores` | `search` (query str)
`lat` (query float)
`lng` (query float)
`radius_meters` (query int) | `ApiKeyAuth` | `HMHmStoresResponse` | | | imdb | `imdb.name` | `imdb-name` | `GET /imdb/name` | `id` (query str)
`url` (query str) | `ApiKeyAuth` | `ImdbNameResponse` | | | imdb | `imdb.name_awards` | `imdb-name-awards` | `GET /imdb/name/awards` | `id` (query str)
`url` (query str) | `ApiKeyAuth` | `ImdbNameAwardsResponse` | | diff --git a/openapi/public.json b/openapi/public.json index d4a3ff5..a73574d 100644 --- a/openapi/public.json +++ b/openapi/public.json @@ -5276,6 +5276,281 @@ }, "type": "object" }, + "bestbuy.Breadcrumb": { + "properties": { + "name": { + "example": "Laptops", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.CategoryProduct": { + "properties": { + "image_url": { + "type": "string" + }, + "price": { + "example": 799.99, + "type": "number" + }, + "rating": { + "example": 4.6, + "type": "number" + }, + "review_count": { + "example": 28, + "type": "integer" + }, + "sku": { + "example": "6673590", + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.CategoryResponse": { + "properties": { + "category_id": { + "example": "pcmcat138500050001", + "type": "string" + }, + "count": { + "example": 24, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "products": { + "items": { + "$ref": "#/definitions/bestbuy.CategoryProduct" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "total": { + "example": 6286, + "type": "integer" + } + }, + "type": "object" + }, + "bestbuy.Product": { + "properties": { + "availability": { + "example": "InStock", + "type": "string" + }, + "brand": { + "example": "ASUS", + "type": "string" + }, + "breadcrumbs": { + "items": { + "$ref": "#/definitions/bestbuy.Breadcrumb" + }, + "type": "array" + }, + "color": { + "type": "string" + }, + "condition": { + "example": "NewCondition", + "type": "string" + }, + "currency_code": { + "example": "USD", + "type": "string" + }, + "description": { + "type": "string" + }, + "images": { + "items": { + "type": "string" + }, + "type": "array" + }, + "model": { + "type": "string" + }, + "name": { + "type": "string" + }, + "price": { + "example": 4399.99, + "type": "number" + }, + "product_id": { + "example": "JJGHGSJZR6", + "type": "string" + }, + "rating": { + "example": 4.6, + "type": "number" + }, + "review_count": { + "example": 28, + "type": "integer" + }, + "sku": { + "example": "6673590", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.ProductResponse": { + "properties": { + "fetched_at": { + "type": "string" + }, + "product": { + "$ref": "#/definitions/bestbuy.Product" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.ProductReviewsResponse": { + "properties": { + "count": { + "example": 20, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "rating": { + "example": 4.6, + "type": "number" + }, + "review_count": { + "example": 28, + "type": "integer" + }, + "reviews": { + "items": { + "$ref": "#/definitions/bestbuy.Review" + }, + "type": "array" + }, + "sku": { + "example": "6673590", + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.Review": { + "properties": { + "author": { + "example": "nhim", + "type": "string" + }, + "helpful": { + "type": "integer" + }, + "posted": { + "example": "Posted 3 days ago", + "type": "string" + }, + "rating": { + "example": 5, + "type": "number" + }, + "recommended": { + "type": "boolean" + }, + "tags": { + "example": [ + "Verified Purchaser" + ], + "items": { + "type": "string" + }, + "type": "array" + }, + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "unhelpful": { + "type": "integer" + } + }, + "type": "object" + }, + "bestbuy.categoryResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.CategoryResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.productResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.ProductResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.productReviewsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.ProductReviewsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "billing.billingEndpointLedgerDoc": { "properties": { "charged_requests": { @@ -20271,6 +20546,10 @@ "id": { "type": "string" }, + "like_count": { + "description": "LikeCount is the listing's like count. Depop's search API only\nincludes this field when the request asks for it -- searchURL always\nrequests it (include_like_count=true), so this is populated on every\nsearch result. Confirmed live 2026-08-15 (see notes/depop-maintenance.md).", + "type": "integer" + }, "location": { "type": "string" }, @@ -20416,6 +20695,24 @@ }, "type": "object" }, + "depop.SimilarItemsResponse": { + "properties": { + "has_more": { + "description": "HasMore indicates additional results exist beyond this page. When\ntrue, NextCursor can be passed as the next request's After field.", + "type": "boolean" + }, + "items": { + "items": { + "$ref": "#/definitions/depop.ItemSummary" + }, + "type": "array" + }, + "next_cursor": { + "type": "string" + } + }, + "type": "object" + }, "depop.Subcategory": { "properties": { "name": { @@ -20476,6 +20773,22 @@ }, "type": "object" }, + "depop.similarItemsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/depop.SimilarItemsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "diagnostics.AntibotCheckRequest": { "properties": { "fast": { @@ -22142,6 +22455,298 @@ }, "type": "object" }, + "draftkings.Event": { + "properties": { + "id": { + "type": "string" + }, + "markets": { + "items": { + "$ref": "#/definitions/draftkings.Market" + }, + "type": "array" + }, + "name": { + "example": "CAR Panthers @ BUF Bills", + "type": "string" + }, + "participants": { + "items": { + "$ref": "#/definitions/draftkings.Participant" + }, + "type": "array" + }, + "start_time": { + "type": "string" + }, + "status": { + "example": "NOT_STARTED", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.EventMarketsResponse": { + "properties": { + "count": { + "type": "integer" + }, + "event_id": { + "type": "string" + }, + "fetched_at": { + "type": "string" + }, + "markets": { + "items": { + "$ref": "#/definitions/draftkings.Market" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "subcategory_id": { + "type": "string" + } + }, + "type": "object" + }, + "draftkings.EventResponse": { + "properties": { + "fetched_at": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "example": "CAR Panthers @ BUF Bills", + "type": "string" + }, + "participants": { + "items": { + "$ref": "#/definitions/draftkings.Participant" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "start_time": { + "type": "string" + }, + "status": { + "example": "NOT_STARTED", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.FuturesResponse": { + "properties": { + "count": { + "type": "integer" + }, + "events": { + "items": { + "$ref": "#/definitions/draftkings.Event" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "league": { + "example": "MLB", + "type": "string" + }, + "league_id": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sport": { + "example": "Baseball", + "type": "string" + }, + "subcategory_id": { + "type": "string" + } + }, + "type": "object" + }, + "draftkings.Market": { + "properties": { + "id": { + "type": "string" + }, + "selections": { + "items": { + "$ref": "#/definitions/draftkings.Selection" + }, + "type": "array" + }, + "subcategory_id": { + "example": "4519", + "type": "string" + }, + "type": { + "example": "Moneyline", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.Odds": { + "properties": { + "american": { + "example": "+130", + "type": "string" + }, + "decimal": { + "example": "2.30", + "type": "string" + }, + "fractional": { + "example": "13/10", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.OddsResponse": { + "properties": { + "count": { + "type": "integer" + }, + "events": { + "items": { + "$ref": "#/definitions/draftkings.Event" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "league": { + "example": "NFL", + "type": "string" + }, + "league_id": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sport": { + "example": "Football", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.Participant": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "example": "BUF Bills", + "type": "string" + }, + "role": { + "example": "Home", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.Selection": { + "properties": { + "label": { + "example": "CAR Panthers", + "type": "string" + }, + "odds": { + "$ref": "#/definitions/draftkings.Odds" + }, + "outcome_type": { + "example": "Away", + "type": "string" + }, + "points": { + "example": 3, + "type": "number" + } + }, + "type": "object" + }, + "draftkings.eventMarketsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.EventMarketsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.eventResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.EventResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.futuresResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.FuturesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.oddsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.OddsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "duckduckgo.ImageResponse": { "properties": { "pagination": { @@ -34208,6 +34813,509 @@ }, "type": "object" }, + "googlepatents.CitedPatent": { + "properties": { + "assignee": { + "example": "Netzsch Maschinenfabrik", + "type": "string" + }, + "priority_date": { + "example": "1985-12-27", + "type": "string" + }, + "publication_date": { + "example": "1987-05-19", + "type": "string" + }, + "publication_number": { + "example": "US4665582A", + "type": "string" + }, + "title": { + "example": "Apparatus for shaking foundry moulds in a casting installation", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.Classification": { + "properties": { + "code": { + "example": "A47L9/00", + "type": "string" + }, + "description": { + "example": "Details or accessories of suction cleaners", + "type": "string" + }, + "is_cpc": { + "example": true, + "type": "boolean" + } + }, + "type": "object" + }, + "googlepatents.CountryStatus": { + "properties": { + "country_code": { + "example": "US", + "type": "string" + }, + "state": { + "example": "ACTIVE", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.CoverageCountry": { + "properties": { + "country_code": { + "example": "US", + "type": "string" + }, + "years": { + "items": { + "$ref": "#/definitions/googlepatents.CoverageYear" + }, + "type": "array" + } + }, + "type": "object" + }, + "googlepatents.CoverageResponse": { + "properties": { + "countries": { + "items": { + "$ref": "#/definitions/googlepatents.CoverageCountry" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.CoverageYear": { + "properties": { + "applications": { + "example": "1712467", + "type": "string" + }, + "grants": { + "example": "2802408", + "type": "string" + }, + "year": { + "example": 2025, + "type": "integer" + } + }, + "type": "object" + }, + "googlepatents.DetailResponse": { + "properties": { + "abstract": { + "example": "Battery-powered upright vacuum cleaners are disclosed.", + "type": "string" + }, + "application_number": { + "example": "US15/620,213", + "type": "string" + }, + "citations": { + "items": { + "$ref": "#/definitions/googlepatents.CitedPatent" + }, + "type": "array" + }, + "cited_by": { + "items": { + "$ref": "#/definitions/googlepatents.CitedPatent" + }, + "type": "array" + }, + "claims": { + "items": { + "type": "string" + }, + "type": "array" + }, + "claims_count": { + "example": 19, + "type": "integer" + }, + "classifications": { + "items": { + "$ref": "#/definitions/googlepatents.Classification" + }, + "type": "array" + }, + "country_code": { + "example": "US", + "type": "string" + }, + "country_name": { + "example": "United States", + "type": "string" + }, + "current_assignees": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "items": { + "type": "string" + }, + "type": "array" + }, + "expiration_date": { + "example": "2038-04-26", + "type": "string" + }, + "family_members": { + "items": { + "$ref": "#/definitions/googlepatents.FamilyMember" + }, + "type": "array" + }, + "fetched_at": { + "example": "2026-08-15T12:00:00Z", + "type": "string" + }, + "filing_date": { + "example": "2017-06-12", + "type": "string" + }, + "inventors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "kind_code": { + "example": "B2", + "type": "string" + }, + "legal_status": { + "example": "Active", + "type": "string" + }, + "original_assignees": { + "items": { + "type": "string" + }, + "type": "array" + }, + "pdf_url": { + "example": "https://patentimages.storage.googleapis.com/ae/9f/51/f34dc3bf93426e/US10758101.pdf", + "type": "string" + }, + "prior_art_keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "priority_date": { + "example": "2017-06-12", + "type": "string" + }, + "publication_date": { + "example": "2020-09-01", + "type": "string" + }, + "publication_number": { + "example": "US10758101B2", + "type": "string" + }, + "similar_documents": { + "items": { + "$ref": "#/definitions/googlepatents.SimilarDocument" + }, + "type": "array" + }, + "source_url": { + "example": "https://patents.google.com/patent/US10758101B2/en", + "type": "string" + }, + "title": { + "example": "Upright vacuum cleaner with battery support plate", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.FacetEntry": { + "properties": { + "key": { + "example": "Emerson Electric Co.", + "type": "string" + }, + "value": { + "example": 666, + "type": "integer" + } + }, + "type": "object" + }, + "googlepatents.FamilyMember": { + "properties": { + "publication_date": { + "example": "2018-12-13", + "type": "string" + }, + "publication_number": { + "example": "US20180353038A1", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.SearchResponse": { + "properties": { + "fetched_at": { + "type": "string" + }, + "many_results": { + "example": false, + "type": "boolean" + }, + "page": { + "example": 0, + "type": "integer" + }, + "query": { + "example": "battery", + "type": "string" + }, + "results": { + "items": { + "$ref": "#/definitions/googlepatents.SearchResult" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "top_assignees": { + "items": { + "$ref": "#/definitions/googlepatents.FacetEntry" + }, + "type": "array" + }, + "top_classifications": { + "items": { + "$ref": "#/definitions/googlepatents.FacetEntry" + }, + "type": "array" + }, + "top_inventors": { + "items": { + "$ref": "#/definitions/googlepatents.FacetEntry" + }, + "type": "array" + }, + "total_pages": { + "example": 100, + "type": "integer" + }, + "total_results": { + "example": 112795, + "type": "integer" + } + }, + "type": "object" + }, + "googlepatents.SearchResult": { + "properties": { + "assignee": { + "example": "Emerson Electric Co", + "type": "string" + }, + "country_status": { + "items": { + "$ref": "#/definitions/googlepatents.CountryStatus" + }, + "type": "array" + }, + "detail_url": { + "example": "https://patents.google.com/patent/US10758101B2/en", + "type": "string" + }, + "filing_date": { + "example": "2017-06-12", + "type": "string" + }, + "grant_date": { + "example": "2020-09-01", + "type": "string" + }, + "inventor": { + "example": "Thomas E. Fogarty, Jr.", + "type": "string" + }, + "is_similar_document": { + "example": false, + "type": "boolean" + }, + "language": { + "example": "en", + "type": "string" + }, + "pdf_url": { + "type": "string" + }, + "priority_date": { + "example": "2017-06-12", + "type": "string" + }, + "publication_date": { + "example": "2020-09-01", + "type": "string" + }, + "publication_number": { + "example": "US10758101B2", + "type": "string" + }, + "snippet": { + "example": "a battery support plate adapted to support a battery...", + "type": "string" + }, + "thumbnail_url": { + "type": "string" + }, + "title": { + "example": "Upright vacuum cleaner with battery support plate", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.SimilarDocument": { + "properties": { + "publication_date": { + "example": "1990-06-26", + "type": "string" + }, + "publication_number": { + "example": "CA1270625A", + "type": "string" + }, + "title": { + "example": "Method and apparatus for setting pattern frame and press die", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.SuggestEntry": { + "properties": { + "description": { + "type": "string" + }, + "value": { + "example": "John Cronin", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.SuggestResponse": { + "properties": { + "fetched_at": { + "type": "string" + }, + "field": { + "example": "inventor", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "suggestions": { + "items": { + "$ref": "#/definitions/googlepatents.SuggestEntry" + }, + "type": "array" + }, + "value": { + "example": "John", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.coverageResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/googlepatents.CoverageResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.detailResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/googlepatents.DetailResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.searchResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/googlepatents.SearchResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/googlepatents.SuggestResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "googleplay.App": { "properties": { "ad_supported": { @@ -35223,6 +36331,40 @@ }, "type": "object" }, + "hm.RelatedList": { + "properties": { + "label": { + "type": "string" + }, + "products": { + "items": { + "$ref": "#/definitions/hm.ProductSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "hm.RelatedResponse": { + "properties": { + "fetched_at": { + "type": "string" + }, + "lists": { + "items": { + "$ref": "#/definitions/hm.RelatedList" + }, + "type": "array" + }, + "product_id": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "hm.SearchMeta": { "properties": { "blocked": { @@ -35368,6 +36510,73 @@ }, "type": "object" }, + "hm.SuggestResponse": { + "properties": { + "blocked": { + "type": "boolean" + }, + "content_suggestions": { + "items": { + "$ref": "#/definitions/hm.SuggestionLink" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "phrase_suggestions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "popular_searches": { + "items": { + "$ref": "#/definitions/hm.SuggestionLink" + }, + "type": "array" + }, + "query": { + "type": "string" + }, + "search_history": { + "items": { + "type": "string" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "trending_searches": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "hm.SuggestionLink": { + "properties": { + "content_type": { + "type": "string" + }, + "deep_link": { + "type": "string" + }, + "image_url": { + "type": "string" + }, + "link": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "type": "object" + }, "hm.categoriesResponseDoc": { "properties": { "code": { @@ -35416,6 +36625,22 @@ }, "type": "object" }, + "hm.relatedResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/hm.RelatedResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "hm.searchResponseDoc": { "properties": { "code": { @@ -35448,6 +36673,22 @@ }, "type": "object" }, + "hm.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/hm.SuggestResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "imdb.AlternateTitle": { "properties": { "country": { @@ -96267,27 +97508,90 @@ "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}": { + "/bestbuy/category": { "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 page 1 (up to 24) of one Best Buy category's normalized product listing (sku, title, url, image, price, rating, review count). category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment.", + "operationId": "bestbuy-category", "parameters": [ { - "description": "Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL", - "in": "path", - "name": "id", + "description": "Best Buy category id", + "in": "query", + "name": "category_id", "required": true, "type": "string", - "x-example": "754822172" + "x-example": "pcmcat138500050001" } ], "produces": [ @@ -96297,7 +97601,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/autotrader.VehicleResponse" + "$ref": "#/definitions/bestbuy.categoryResponseDoc" } }, "400": { @@ -96312,8 +97616,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -96330,9 +97634,123 @@ "ApiKeyAuth": [] } ], - "summary": "Get Autotrader vehicle listing detail", + "summary": "Get a Best Buy category's product listing", "tags": [ - "Autotrader" + "Best Buy" + ] + } + }, + "/bestbuy/product": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one Best Buy product's normalized detail (name, brand, model, color, price, availability, rating, images, breadcrumbs), sourced from the product page's own schema.org Product structured-data block. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.", + "operationId": "bestbuy-product", + "parameters": [ + { + "description": "Numeric Best Buy SKU", + "in": "query", + "name": "sku", + "required": true, + "type": "string", + "x-example": "6673590" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.productResponseDoc" + } + }, + "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": "Get a Best Buy product's detail", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/product/reviews": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns page 1 (up to 20) of one Best Buy product's normalized customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts), sourced from the product's dedicated reviews page. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.", + "operationId": "bestbuy-product-reviews", + "parameters": [ + { + "description": "Numeric Best Buy SKU", + "in": "query", + "name": "sku", + "required": true, + "type": "string", + "x-example": "6673590" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.productReviewsResponseDoc" + } + }, + "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": "Get a Best Buy product's customer reviews", + "tags": [ + "Best Buy" ] } }, @@ -118918,12 +120336,88 @@ ] } }, + "/depop/item/{slug}/similar": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns items similar to a given Depop listing, via Depop's dedicated similar-items API -- richer and paginated (up to 150 per page) compared to the small, non-paginated \"similar items\" carousel already included in item detail. Public data sourced from Depop's own similar-items API.", + "operationId": "depop-item-similar", + "parameters": [ + { + "description": "Depop item URL slug, e.g. from a search result's id field", + "in": "path", + "name": "slug", + "required": true, + "type": "string", + "x-example": "ag_boutique-vintage-mid-rise-bootcut-levi-2476" + }, + { + "description": "Max results per page, 1-150", + "in": "query", + "name": "limit", + "type": "integer", + "x-example": 24 + }, + { + "description": "Opaque pagination cursor from a previous response's next_cursor field. Omit for the first page.", + "in": "query", + "name": "after", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/depop.similarItemsResponseDoc" + } + }, + "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 Depop items similar to a listing", + "tags": [ + "Depop" + ] + } + }, "/depop/search": { "get": { "consumes": [ "application/json" ], - "description": "Searches Depop's resale-fashion marketplace by free-text keyword, with optional price, condition, colour, category, subcategory, gender, brand, discount, and sort filters, returning normalized listing summaries (title, price, brand, condition, photos, sizes), a pagination cursor, and the total matching count. Public data sourced from Depop's own search API.", + "description": "Searches Depop's resale-fashion marketplace by free-text keyword, with optional price, condition, colour, category, subcategory, gender, kids-department, brand, discount, and sort filters, returning normalized listing summaries (title, price, brand, condition, like count, photos, sizes), a pagination cursor, and the total matching count. Public data sourced from Depop's own search API.", "operationId": "depop-search", "parameters": [ { @@ -118996,6 +120490,12 @@ "type": "string", "x-example": "female" }, + { + "description": "Kids-department filter: true restricts results to kids items only, false excludes them, omitted returns both.", + "in": "query", + "name": "is_kids", + "type": "boolean" + }, { "description": "Comma-separated Depop internal numeric brand ids. Not documented by Depop -- find a brand's id by browsing its depop.com/brands// page.", "in": "query", @@ -120032,22 +121532,168 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash pickup search suggestions", + "summary": "Get DoorDash pickup search suggestions", + "tags": [ + "DoorDash" + ] + } + }, + "/doordash/search/filters": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the cuisines and filter values supported by the Android mobile guest search experience for a location. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-search-filters", + "parameters": [ + { + "description": "Consumer latitude", + "in": "query", + "name": "latitude", + "required": true, + "type": "number", + "x-example": 37.7825 + }, + { + "description": "Consumer longitude", + "in": "query", + "name": "longitude", + "required": true, + "type": "number", + "x-example": -122.461 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/doordash.searchFiltersResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "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 DoorDash search filter options", + "tags": [ + "DoorDash" + ] + } + }, + "/doordash/search/items": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Search for specific dishes or items across nearby merchants from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-search-items", + "parameters": [ + { + "description": "Search text", + "in": "query", + "name": "query", + "required": true, + "type": "string", + "x-example": "pizza" + }, + { + "description": "Consumer latitude", + "in": "query", + "name": "latitude", + "required": true, + "type": "number", + "x-example": 37.7825 + }, + { + "description": "Consumer longitude", + "in": "query", + "name": "longitude", + "required": true, + "type": "number", + "x-example": -122.461 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/doordash.searchItemsResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "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": "Search DoorDash dishes and items", "tags": [ "DoorDash" ] } }, - "/doordash/search/filters": { + "/doordash/store/{store_id}": { "get": { "consumes": [ "application/json" ], - "description": "Returns the cuisines and filter values supported by the Android mobile guest search experience for a location. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-search-filters", + "description": "Returns location-aware DoorDash store metadata through the Android mobile guest flow. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store", "parameters": [ { - "description": "Consumer latitude", + "description": "Numeric DoorDash store ID", + "in": "path", + "name": "store_id", + "required": true, + "type": "string", + "x-example": "26282644" + }, + { + "description": "Delivery latitude", "in": "query", "name": "latitude", "required": true, @@ -120055,7 +121701,7 @@ "x-example": 37.7825 }, { - "description": "Consumer longitude", + "description": "Delivery longitude", "in": "query", "name": "longitude", "required": true, @@ -120070,7 +121716,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.searchFiltersResponseDoc" + "$ref": "#/definitions/doordash.storeResponseDoc" } }, "400": { @@ -120079,6 +121725,12 @@ "$ref": "#/definitions/app.Response" } }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, "500": { "description": "Internal Server Error", "schema": { @@ -120097,30 +121749,30 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash search filter options", + "summary": "Get a DoorDash store", "tags": [ "DoorDash" ] } }, - "/doordash/search/items": { + "/doordash/store/{store_id}/fulfillment": { "get": { "consumes": [ "application/json" ], - "description": "Search for specific dishes or items across nearby merchants from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-search-items", + "description": "Returns store fulfillment methods, delivery fee info, and scheduling details from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-fulfillment", "parameters": [ { - "description": "Search text", - "in": "query", - "name": "query", + "description": "Numeric DoorDash store ID", + "in": "path", + "name": "store_id", "required": true, "type": "string", - "x-example": "pizza" + "x-example": "26282644" }, { - "description": "Consumer latitude", + "description": "Delivery latitude", "in": "query", "name": "latitude", "required": true, @@ -120128,7 +121780,7 @@ "x-example": 37.7825 }, { - "description": "Consumer longitude", + "description": "Delivery longitude", "in": "query", "name": "longitude", "required": true, @@ -120143,7 +121795,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.searchItemsResponseDoc" + "$ref": "#/definitions/doordash.storeFulfillmentResponseDoc" } }, "400": { @@ -120152,6 +121804,12 @@ "$ref": "#/definitions/app.Response" } }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, "500": { "description": "Internal Server Error", "schema": { @@ -120170,19 +121828,19 @@ "ApiKeyAuth": [] } ], - "summary": "Search DoorDash dishes and items", + "summary": "Get DoorDash store fulfillment details", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}": { + "/doordash/store/{store_id}/info": { "get": { "consumes": [ "application/json" ], - "description": "Returns location-aware DoorDash store metadata through the Android mobile guest flow. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store", + "description": "Returns a lightweight store info card (map coordinates, address, phone number) from the Android mobile guest experience. This is a distinct upstream contract from the full store endpoint and reliably includes address and coordinates. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-info", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -120216,7 +121874,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeResponseDoc" + "$ref": "#/definitions/doordash.storeInfoResponseDoc" } }, "400": { @@ -120249,19 +121907,19 @@ "ApiKeyAuth": [] } ], - "summary": "Get a DoorDash store", + "summary": "Get DoorDash store contact info", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/fulfillment": { + "/doordash/store/{store_id}/item/{item_id}": { "get": { "consumes": [ "application/json" ], - "description": "Returns store fulfillment methods, delivery fee info, and scheduling details from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-fulfillment", + "description": "Returns details for a specific menu item from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-item", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -120271,6 +121929,14 @@ "type": "string", "x-example": "26282644" }, + { + "description": "Menu item ID or name", + "in": "path", + "name": "item_id", + "required": true, + "type": "string", + "x-example": "Roasted Duck" + }, { "description": "Delivery latitude", "in": "query", @@ -120295,7 +121961,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeFulfillmentResponseDoc" + "$ref": "#/definitions/doordash.storeItemResponseDoc" } }, "400": { @@ -120328,19 +121994,19 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash store fulfillment details", + "summary": "Get DoorDash menu item details", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/info": { + "/doordash/store/{store_id}/menu": { "get": { "consumes": [ "application/json" ], - "description": "Returns a lightweight store info card (map coordinates, address, phone number) from the Android mobile guest experience. This is a distinct upstream contract from the full store endpoint and reliably includes address and coordinates. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-info", + "description": "Returns the location-aware DoorDash mobile menu, grouped into sections with item names, descriptions, and displayed prices. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-menu", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -120374,7 +122040,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeInfoResponseDoc" + "$ref": "#/definitions/doordash.menuResponseDoc" } }, "400": { @@ -120407,19 +122073,19 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash store contact info", + "summary": "Get a DoorDash store menu", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/item/{item_id}": { + "/doordash/store/{store_id}/reviews": { "get": { "consumes": [ "application/json" ], - "description": "Returns details for a specific menu item from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-item", + "description": "Returns store ratings and customer reviews from the Android mobile guest experience for a location. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-reviews", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -120429,14 +122095,6 @@ "type": "string", "x-example": "26282644" }, - { - "description": "Menu item ID or name", - "in": "path", - "name": "item_id", - "required": true, - "type": "string", - "x-example": "Roasted Duck" - }, { "description": "Delivery latitude", "in": "query", @@ -120461,7 +122119,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeItemResponseDoc" + "$ref": "#/definitions/doordash.storeReviewsResponseDoc" } }, "400": { @@ -120494,43 +122152,98 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash menu item details", + "summary": "Get DoorDash store reviews", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/menu": { + "/draftkings/event": { "get": { "consumes": [ "application/json" ], - "description": "Returns the location-aware DoorDash mobile menu, grouped into sections with item names, descriptions, and displayed prices. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-menu", + "description": "Returns one event's metadata (teams, status, start time) from DraftKings' credential-free public JSON. `event_id` is a numeric DraftKings event identifier (find it from an event's DraftKings Sportsbook page, or from the `id` field of an event returned by /draftkings/odds). This endpoint does not include betting markets/odds -- use /draftkings/odds for those.", + "operationId": "draftkings-event", "parameters": [ { - "description": "Numeric DoorDash store ID", - "in": "path", - "name": "store_id", + "description": "Numeric DraftKings event id", + "in": "query", + "name": "event_id", "required": true, "type": "string", - "x-example": "26282644" + "x-example": "34240140" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.eventResponseDoc" + } }, + "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": [ { - "description": "Delivery latitude", + "ApiKeyAuth": [] + } + ], + "summary": "DraftKings Sportsbook event", + "tags": [ + "DraftKings" + ] + } + }, + "/draftkings/event-markets": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one event's betting markets and selections for a specific market category, from DraftKings' credential-free public JSON. `event_id` is a numeric DraftKings event identifier (find it from the `id` field of an event returned by /draftkings/odds). `subcategory_id` selects the market category (e.g. game lines, a player-prop category, an alternate-line category) -- find one from the `subcategory_id` field on a market returned by /draftkings/odds, or from a DraftKings Sportsbook event page's own network traffic. An empty `markets` list is a valid response when the category has no markets currently posted for this event.", + "operationId": "draftkings-event-markets", + "parameters": [ + { + "description": "Numeric DraftKings event id", "in": "query", - "name": "latitude", + "name": "event_id", "required": true, - "type": "number", - "x-example": 37.7825 + "type": "string", + "x-example": "34497667" }, { - "description": "Delivery longitude", + "description": "Numeric DraftKings market subcategory id", "in": "query", - "name": "longitude", + "name": "subcategory_id", "required": true, - "type": "number", - "x-example": -122.461 + "type": "string", + "x-example": "6354" } ], "produces": [ @@ -120540,7 +122253,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.menuResponseDoc" + "$ref": "#/definitions/draftkings.eventMarketsResponseDoc" } }, "400": { @@ -120555,8 +122268,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -120573,43 +122286,98 @@ "ApiKeyAuth": [] } ], - "summary": "Get a DoorDash store menu", + "summary": "DraftKings Sportsbook event markets", "tags": [ - "DoorDash" + "DraftKings" ] } }, - "/doordash/store/{store_id}/reviews": { + "/draftkings/futures": { "get": { "consumes": [ "application/json" ], - "description": "Returns store ratings and customer reviews from the Android mobile guest experience for a location. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-reviews", + "description": "Returns league-level futures markets and selections for a specific DraftKings market category, from DraftKings' credential-free public JSON. `league_id` is a numeric DraftKings league identifier and `subcategory_id` is a numeric futures category identifier. An empty `events` list is a valid response when the category has no markets currently posted for that league.", + "operationId": "draftkings-futures", "parameters": [ { - "description": "Numeric DoorDash store ID", - "in": "path", - "name": "store_id", + "description": "Numeric DraftKings league id", + "in": "query", + "name": "league_id", "required": true, "type": "string", - "x-example": "26282644" + "x-example": "84240" }, { - "description": "Delivery latitude", + "description": "Numeric DraftKings futures market subcategory id", "in": "query", - "name": "latitude", + "name": "subcategory_id", "required": true, - "type": "number", - "x-example": 37.7825 + "type": "string", + "x-example": "17279" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.futuresResponseDoc" + } + }, + "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": [ { - "description": "Delivery longitude", + "ApiKeyAuth": [] + } + ], + "summary": "DraftKings Sportsbook futures", + "tags": [ + "DraftKings" + ] + } + }, + "/draftkings/odds": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the primary betting markets (moneyline, spread, total) for every upcoming event in a DraftKings Sportsbook league, from DraftKings' credential-free public JSON. `league_id` is a numeric DraftKings league identifier (find it from a league's DraftKings Sportsbook page). An empty `events` list is a valid response when nothing is currently scheduled.", + "operationId": "draftkings-odds", + "parameters": [ + { + "description": "Numeric DraftKings league id", "in": "query", - "name": "longitude", + "name": "league_id", "required": true, - "type": "number", - "x-example": -122.461 + "type": "string", + "x-example": "84240" } ], "produces": [ @@ -120619,7 +122387,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeReviewsResponseDoc" + "$ref": "#/definitions/draftkings.oddsResponseDoc" } }, "400": { @@ -120634,8 +122402,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -120652,9 +122420,9 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash store reviews", + "summary": "DraftKings Sportsbook odds", "tags": [ - "DoorDash" + "DraftKings" ] } }, @@ -129247,6 +131015,387 @@ ] } }, + "/googlepatents/coverage": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns how many patent grants and applications Google Patents has indexed, per patent office/country, per year, across every authority it covers. Public data, sourced from Google Patents' own search API.", + "operationId": "googlepatents-coverage", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/googlepatents.coverageResponseDoc" + } + }, + "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": "Google Patents database coverage: grants and applications indexed per country per year", + "tags": [ + "Google Patents" + ] + } + }, + "/googlepatents/detail": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a single patent's normalized detail: title, abstract, inventors, assignees, dates, legal status, CPC/IPC classifications, claims, description, patent citations, cited-by patents, family members, and similar documents. `number` is a publication number such as `US10758101B2`, `EP1000000A1`, or `WO2020123456A1`. Public data, sourced from Google Patents' server-rendered detail pages. To search or browse by keyword, inventor, or assignee instead of a known publication number, use `/googlepatents/search`.", + "operationId": "googlepatents-detail", + "parameters": [ + { + "description": "Publication number, e.g. US10758101B2", + "in": "query", + "name": "number", + "required": true, + "type": "string", + "x-example": "US10758101B2" + }, + { + "description": "Language code for the translated page, default en", + "in": "query", + "name": "lang", + "type": "string", + "x-example": "en" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/googlepatents.detailResponseDoc" + } + }, + "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" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "A single patent's bibliographic data, abstract, claims, description, citations, and family", + "tags": [ + "Google Patents" + ] + } + }, + "/googlepatents/search": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Searches Google Patents' full index by free-text query, with optional inventor, assignee, patent office, status, type, language, and date filters. Returns a page of normalized hits plus top-assignee/top-inventor/top-classification breakdowns over the full result set. Public data, sourced from Google Patents' own search API.", + "operationId": "googlepatents-search", + "parameters": [ + { + "description": "Free-text search query", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "battery" + }, + { + "description": "Filter by inventor name", + "in": "query", + "name": "inventor", + "type": "string", + "x-example": "Thomas Fogarty" + }, + { + "description": "Filter by assignee/applicant name", + "in": "query", + "name": "assignee", + "type": "string", + "x-example": "Emerson Electric" + }, + { + "description": "Filter by patent office/authority code, e.g. US, EP, WO, CN, JP", + "in": "query", + "name": "country", + "type": "string", + "x-example": "US" + }, + { + "description": "Filter by legal status. Allowed values: GRANT, APPLICATION", + "enum": [ + "GRANT", + "APPLICATION" + ], + "in": "query", + "name": "status", + "type": "string", + "x-example": "GRANT" + }, + { + "description": "Filter by document type. Allowed values: PATENT, DESIGN", + "enum": [ + "PATENT", + "DESIGN" + ], + "in": "query", + "name": "type", + "type": "string", + "x-example": "PATENT" + }, + { + "description": "Filter by document language. Allowed values: ENGLISH, GERMAN, CHINESE, FRENCH, SPANISH, ARABIC, JAPANESE, KOREAN, PORTUGUESE, RUSSIAN, ITALIAN, DUTCH, SWEDISH, FINNISH, NORWEGIAN, DANISH", + "enum": [ + "ENGLISH", + "GERMAN", + "CHINESE", + "FRENCH", + "SPANISH", + "ARABIC", + "JAPANESE", + "KOREAN", + "PORTUGUESE", + "RUSSIAN", + "ITALIAN", + "DUTCH", + "SWEDISH", + "FINNISH", + "NORWEGIAN", + "DANISH" + ], + "in": "query", + "name": "language", + "type": "string", + "x-example": "ENGLISH" + }, + { + "description": "Which date before/after filter. Allowed values: priority, filing, publication. Defaults to priority when before/after is set", + "enum": [ + "priority", + "filing", + "publication" + ], + "in": "query", + "name": "date_field", + "type": "string", + "x-example": "priority" + }, + { + "description": "Only results dated on or before this date (YYYY-MM-DD)", + "in": "query", + "name": "before", + "type": "string", + "x-example": "2021-12-31" + }, + { + "description": "Only results dated on or after this date (YYYY-MM-DD)", + "in": "query", + "name": "after", + "type": "string", + "x-example": "2020-01-01" + }, + { + "description": "Sort order. Allowed values: relevance, new, old. Defaults to relevance", + "enum": [ + "relevance", + "new", + "old" + ], + "in": "query", + "name": "sort", + "type": "string", + "x-example": "relevance" + }, + { + "description": "Results per page, default 10, max 100", + "in": "query", + "name": "num", + "type": "integer", + "x-example": 10 + }, + { + "description": "Page number, 0-indexed, default 0", + "in": "query", + "name": "page", + "type": "integer", + "x-example": 0 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/googlepatents.searchResponseDoc" + } + }, + "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": "Search Google Patents by keyword, inventor, assignee, and other filters", + "tags": [ + "Google Patents" + ] + } + }, + "/googlepatents/suggest": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Google Patents' own autocomplete suggestions for an inventor or assignee name as the user types, the same suggestions shown by the Inventor/Assignee fields on Google Patents' advanced search page. Public data, sourced from Google Patents' own search API.", + "operationId": "googlepatents-suggest", + "parameters": [ + { + "description": "Which field to autocomplete. Allowed values: inventor, assignee", + "enum": [ + "inventor", + "assignee" + ], + "in": "query", + "name": "field", + "required": true, + "type": "string", + "x-example": "inventor" + }, + { + "description": "Partial name typed so far", + "in": "query", + "name": "value", + "required": true, + "type": "string", + "x-example": "John" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/googlepatents.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": "Autocomplete an inventor or assignee name for Google Patents search", + "tags": [ + "Google Patents" + ] + } + }, "/googleplay/app": { "get": { "consumes": [ @@ -130436,6 +132585,63 @@ ] } }, + "/hm/product/{product_id}/related": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns every product-detail recommendation list H&M's own app shows for one product (which lists are present genuinely varies by product -- for example \"more from series\" and \"style with\" appear only when the product has one, while \"alternatives\" and \"upsell\" are more consistently present). An unrecognized product_id returns a well-formed empty result rather than an error.", + "operationId": "hm-product-related", + "parameters": [ + { + "description": "Numeric H&M product id, from a listing/search result's id field", + "in": "path", + "name": "product_id", + "required": true, + "type": "string", + "x-example": "1368905001" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/hm.relatedResponseDoc" + } + }, + "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": "Get related products for an H&M product", + "tags": [ + "H&M" + ] + } + }, "/hm/search": { "get": { "consumes": [ @@ -130507,6 +132713,56 @@ ] } }, + "/hm/search/suggestions": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns H&M's own search-box typeahead suggestions, sourced from the same credential-free app-backend host as hm-listing/hm-search. When query is given, returns spelling-complete phrase suggestions and merchandised content results. When query is omitted or empty, instead returns trending searches and popular-search shortcuts (phrase/content suggestions are both empty in that mode). search_history is part of the real upstream response but confirmed NOT session-scoped -- it returned the identical list across separate cookie-free requests, so treat it as fixed default content rather than a real per-caller history.", + "operationId": "hm-search-suggestions", + "parameters": [ + { + "description": "Free-text search-box input; omit or leave empty for trending/popular searches instead", + "in": "query", + "name": "query", + "type": "string", + "x-example": "jean" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/hm.suggestResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get H&M search-box typeahead suggestions", + "tags": [ + "H&M" + ] + } + }, "/hm/stores": { "get": { "consumes": [ diff --git a/pyproject.toml b/pyproject.toml index 7746d57..09e6c2b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "crawlora" -version = "1.35.0.dev1" +version = "1.36.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 d8bda5d..46533ef 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, 1176) + self.assertEqual(OPERATION_COUNT, 1190) def test_deprecated_endpoints_are_not_generated(self) -> None: self.assertFalse(hasattr(CrawloraClient(api_key="api_test", base_url=self.base_url).google, "lens")) @@ -299,7 +299,7 @@ def test_docs_cover_operations_and_recipes(self): recipes_doc = root.joinpath("docs", "recipes.md").read_text() for expected in [ - "Total operations: `1176`", + "Total operations: `1190`", "`bing-search`", "`GET /bing/search`", "`bing.search`", From f805751f017489c7c9abd4556e30ec6469a02f7e Mon Sep 17 00:00:00 2001 From: Tony Wang Date: Sun, 16 Aug 2026 02:04:34 +0800 Subject: [PATCH 2/2] sdk: regenerate public contract Refresh generated clients for the 1,222-operation public API contract, including USPTO Patent Public Search. --- CHANGELOG.md | 2 +- crawlora/client.pyi | 2057 ++++++++++++++- crawlora/operations.py | 525 +++- docs/operations.md | 48 +- openapi/public.json | 5421 +++++++++++++++++++++++++++++++++++++--- tests/test_client.py | 4 +- 6 files changed, 7631 insertions(+), 426 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index deaabb9..e3603e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## v1.36.0-sdk.1 -- Added DraftKings Sportsbook futures-market support and synchronized the current public API contract (1190 operations). +- Added DraftKings Sportsbook futures-market support, USPTO Patent Public Search, and synchronized the current public API contract (1222 operations). ## v1.35.0-sdk.1 diff --git a/crawlora/client.pyi b/crawlora/client.pyi index e7e6af7..6e8b9bd 100644 --- a/crawlora/client.pyi +++ b/crawlora/client.pyi @@ -1700,11 +1700,37 @@ ModelAutotraderSearchResponseDoc = TypedDict('ModelAutotraderSearchResponseDoc', 'msg': NotRequired[str], }, total=False) +ModelBestbuyBrand = TypedDict('ModelBestbuyBrand', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelBestbuyBrandsResponse = TypedDict('ModelBestbuyBrandsResponse', { + 'brands': NotRequired[list[ModelBestbuyBrand]], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + ModelBestbuyBreadcrumb = TypedDict('ModelBestbuyBreadcrumb', { 'name': NotRequired[str], 'url': NotRequired[str], }, total=False) +ModelBestbuyCategoriesResponse = TypedDict('ModelBestbuyCategoriesResponse', { + 'categories': NotRequired[list[ModelBestbuyCategory]], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + +ModelBestbuyCategory = TypedDict('ModelBestbuyCategory', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + ModelBestbuyCategoryProduct = TypedDict('ModelBestbuyCategoryProduct', { 'image_url': NotRequired[str], 'price': NotRequired[float], @@ -1719,6 +1745,7 @@ ModelBestbuyCategoryResponse = TypedDict('ModelBestbuyCategoryResponse', { 'category_id': NotRequired[str], 'count': NotRequired[int], 'fetched_at': NotRequired[str], + 'page': NotRequired[int], 'products': NotRequired[list[ModelBestbuyCategoryProduct]], 'source_url': NotRequired[str], 'total': NotRequired[int], @@ -1743,6 +1770,29 @@ ModelBestbuyProduct = TypedDict('ModelBestbuyProduct', { 'url': NotRequired[str], }, total=False) +ModelBestbuyProductQuestion = TypedDict('ModelBestbuyProductQuestion', { + 'answer': NotRequired[str], + 'answered': NotRequired[str], + 'answered_by': NotRequired[str], + 'question': NotRequired[str], +}, total=False) + +ModelBestbuyProductQuestionsResponse = TypedDict('ModelBestbuyProductQuestionsResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'questions': NotRequired[list[ModelBestbuyProductQuestion]], + 'sku': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + +ModelBestbuyProductRelatedResponse = TypedDict('ModelBestbuyProductRelatedResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'products': NotRequired[list[ModelBestbuyRelatedProduct]], + 'sku': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + ModelBestbuyProductResponse = TypedDict('ModelBestbuyProductResponse', { 'fetched_at': NotRequired[str], 'product': NotRequired[ModelBestbuyProduct], @@ -1759,6 +1809,15 @@ ModelBestbuyProductReviewsResponse = TypedDict('ModelBestbuyProductReviewsRespon 'source_url': NotRequired[str], }, total=False) +ModelBestbuyRelatedProduct = TypedDict('ModelBestbuyRelatedProduct', { + 'currency_code': NotRequired[str], + 'image_url': NotRequired[str], + 'name': NotRequired[str], + 'price': NotRequired[float], + 'sku': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + ModelBestbuyReview = TypedDict('ModelBestbuyReview', { 'author': NotRequired[str], 'helpful': NotRequired[int], @@ -1771,12 +1830,92 @@ ModelBestbuyReview = TypedDict('ModelBestbuyReview', { 'unhelpful': NotRequired[int], }, total=False) +ModelBestbuySearchResponse = TypedDict('ModelBestbuySearchResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'page': NotRequired[int], + 'products': NotRequired[list[ModelBestbuyCategoryProduct]], + 'query': NotRequired[str], + 'source_url': NotRequired[str], + 'total': NotRequired[int], +}, total=False) + +ModelBestbuyStore = TypedDict('ModelBestbuyStore', { + 'address': NotRequired[str], + 'city': NotRequired[str], + 'country': NotRequired[str], + 'hours': NotRequired[dict[str, str]], + 'latitude': NotRequired[float], + 'longitude': NotRequired[float], + 'name': NotRequired[str], + 'phone': NotRequired[str], + 'postal_code': NotRequired[str], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'state': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelBestbuyStoreResponse = TypedDict('ModelBestbuyStoreResponse', { + 'city': NotRequired[str], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], + 'state': NotRequired[str], + 'stores': NotRequired[list[ModelBestbuyStore]], +}, total=False) + +ModelBestbuySubcategoriesResponse = TypedDict('ModelBestbuySubcategoriesResponse', { + 'category_id': NotRequired[str], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], + 'subcategories': NotRequired[list[ModelBestbuyCategory]], +}, total=False) + +ModelBestbuyTrendingCategoriesResponse = TypedDict('ModelBestbuyTrendingCategoriesResponse', { + 'categories': NotRequired[list[ModelBestbuyTrendingCategory]], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + +ModelBestbuyTrendingCategory = TypedDict('ModelBestbuyTrendingCategory', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelBestbuyBrandsResponseDoc = TypedDict('ModelBestbuyBrandsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyBrandsResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuyCategoriesResponseDoc = TypedDict('ModelBestbuyCategoriesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyCategoriesResponse], + 'msg': NotRequired[str], +}, total=False) + ModelBestbuyCategoryResponseDoc = TypedDict('ModelBestbuyCategoryResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelBestbuyCategoryResponse], 'msg': NotRequired[str], }, total=False) +ModelBestbuyProductQuestionsResponseDoc = TypedDict('ModelBestbuyProductQuestionsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyProductQuestionsResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuyProductRelatedResponseDoc = TypedDict('ModelBestbuyProductRelatedResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyProductRelatedResponse], + 'msg': NotRequired[str], +}, total=False) + ModelBestbuyProductResponseDoc = TypedDict('ModelBestbuyProductResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelBestbuyProductResponse], @@ -1789,6 +1928,30 @@ ModelBestbuyProductReviewsResponseDoc = TypedDict('ModelBestbuyProductReviewsRes 'msg': NotRequired[str], }, total=False) +ModelBestbuySearchResponseDoc = TypedDict('ModelBestbuySearchResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuySearchResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuyStoresResponseDoc = TypedDict('ModelBestbuyStoresResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyStoreResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuySubcategoriesResponseDoc = TypedDict('ModelBestbuySubcategoriesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuySubcategoriesResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelBestbuyTrendingCategoriesResponseDoc = TypedDict('ModelBestbuyTrendingCategoriesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelBestbuyTrendingCategoriesResponse], + 'msg': NotRequired[str], +}, total=False) + ModelBillingBillingEndpointLedgerDoc = TypedDict('ModelBillingBillingEndpointLedgerDoc', { 'charged_requests': NotRequired[int], 'credits': NotRequired[int], @@ -6540,6 +6703,17 @@ ModelDatasetsXUsersSearchResponseDoc = TypedDict('ModelDatasetsXUsersSearchRespo 'msg': NotRequired[str], }, total=False) +ModelDepopBrand = TypedDict('ModelDepopBrand', { + 'id': NotRequired[int], + 'name': NotRequired[str], + 'slug': NotRequired[str], +}, total=False) + +ModelDepopBrandsResponse = TypedDict('ModelDepopBrandsResponse', { + 'brands': NotRequired[list[ModelDepopBrand]], + 'total': NotRequired[int], +}, total=False) + ModelDepopCategoriesResponse = TypedDict('ModelDepopCategoriesResponse', { 'departments': NotRequired[list[ModelDepopDepartment]], }, total=False) @@ -6558,6 +6732,18 @@ ModelDepopDepartment = TypedDict('ModelDepopDepartment', { 'name': NotRequired[str], }, total=False) +ModelDepopDepartmentFacets = TypedDict('ModelDepopDepartmentFacets', { + 'categories': NotRequired[list[ModelDepopFacetCount]], + 'count': NotRequired[int], + 'department': NotRequired[str], + 'subcategories': NotRequired[list[ModelDepopFacetCount]], +}, total=False) + +ModelDepopFacetCount = TypedDict('ModelDepopFacetCount', { + 'count': NotRequired[int], + 'id': NotRequired[str], +}, total=False) + ModelDepopItemDetailResponse = TypedDict('ModelDepopItemDetailResponse', { 'brand_name': NotRequired[str], 'colours': NotRequired[list[str]], @@ -6595,6 +6781,11 @@ ModelDepopItemSummary = TypedDict('ModelDepopItemSummary', { 'url': NotRequired[str], }, total=False) +ModelDepopSearchFacetsResponse = TypedDict('ModelDepopSearchFacetsResponse', { + 'departments': NotRequired[list[ModelDepopDepartmentFacets]], + 'query': NotRequired[str], +}, total=False) + ModelDepopSearchResponse = TypedDict('ModelDepopSearchResponse', { 'has_more': NotRequired[bool], 'items': NotRequired[list[ModelDepopItemSummary]], @@ -6603,6 +6794,11 @@ ModelDepopSearchResponse = TypedDict('ModelDepopSearchResponse', { 'total_results': NotRequired[int], }, total=False) +ModelDepopSearchSellersResponse = TypedDict('ModelDepopSearchSellersResponse', { + 'query': NotRequired[str], + 'sellers': NotRequired[list[ModelDepopSellerSummary]], +}, total=False) + ModelDepopSeller = TypedDict('ModelDepopSeller', { 'first_name': NotRequired[str], 'id': NotRequired[int], @@ -6611,6 +6807,14 @@ ModelDepopSeller = TypedDict('ModelDepopSeller', { 'verified': NotRequired[bool], }, total=False) +ModelDepopSellerSummary = TypedDict('ModelDepopSellerSummary', { + 'avatar_url': NotRequired[str], + 'first_name': NotRequired[str], + 'id': NotRequired[int], + 'last_name': NotRequired[str], + 'username': NotRequired[str], +}, total=False) + ModelDepopShopItem = TypedDict('ModelDepopShopItem', { 'currency': NotRequired[str], 'id': NotRequired[str], @@ -6641,23 +6845,79 @@ ModelDepopSimilarItemsResponse = TypedDict('ModelDepopSimilarItemsResponse', { 'next_cursor': NotRequired[str], }, total=False) +ModelDepopSizeCategory = TypedDict('ModelDepopSizeCategory', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'regions': NotRequired[list[ModelDepopSizeRegion]], +}, total=False) + +ModelDepopSizeDepartment = TypedDict('ModelDepopSizeDepartment', { + 'categories': NotRequired[list[ModelDepopSizeCategory]], + 'id': NotRequired[str], + 'name': NotRequired[str], +}, total=False) + +ModelDepopSizeOption = TypedDict('ModelDepopSizeOption', { + 'id': NotRequired[str], + 'name': NotRequired[str], +}, total=False) + +ModelDepopSizeRegion = TypedDict('ModelDepopSizeRegion', { + 'region': NotRequired[str], + 'sizes': NotRequired[list[ModelDepopSizeOption]], +}, total=False) + +ModelDepopSizesResponse = TypedDict('ModelDepopSizesResponse', { + 'departments': NotRequired[list[ModelDepopSizeDepartment]], +}, total=False) + ModelDepopSubcategory = TypedDict('ModelDepopSubcategory', { 'name': NotRequired[str], 'slug': NotRequired[str], }, total=False) +ModelDepopSuggestResponse = TypedDict('ModelDepopSuggestResponse', { + 'query': NotRequired[str], + 'suggestions': NotRequired[list[ModelDepopSuggestion]], +}, total=False) + +ModelDepopSuggestion = TypedDict('ModelDepopSuggestion', { + 'gender': NotRequired[str], + 'group': NotRequired[str], + 'suggested_filter_label': NotRequired[str], + 'value': NotRequired[str], +}, total=False) + +ModelDepopBrandsResponseDoc = TypedDict('ModelDepopBrandsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDepopBrandsResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDepopCategoriesResponseDoc = TypedDict('ModelDepopCategoriesResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDepopCategoriesResponse], 'msg': NotRequired[str], }, total=False) +ModelDepopSearchFacetsResponseDoc = TypedDict('ModelDepopSearchFacetsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDepopSearchFacetsResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDepopSearchResponseDoc = TypedDict('ModelDepopSearchResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDepopSearchResponse], 'msg': NotRequired[str], }, total=False) +ModelDepopSearchSellersResponseDoc = TypedDict('ModelDepopSearchSellersResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDepopSearchSellersResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDepopShopResponseDoc = TypedDict('ModelDepopShopResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDepopShopResponse], @@ -6670,6 +6930,18 @@ ModelDepopSimilarItemsResponseDoc = TypedDict('ModelDepopSimilarItemsResponseDoc 'msg': NotRequired[str], }, total=False) +ModelDepopSizesResponseDoc = TypedDict('ModelDepopSizesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDepopSizesResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDepopSuggestResponseDoc = TypedDict('ModelDepopSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDepopSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDiagnosticsAntibotCheckRequest = TypedDict('ModelDiagnosticsAntibotCheckRequest', { 'fast': NotRequired[bool], 'url': Required[str], @@ -7237,6 +7509,17 @@ ModelDraftkingsEvent = TypedDict('ModelDraftkingsEvent', { 'status': NotRequired[str], }, total=False) +ModelDraftkingsEventContextResponse = TypedDict('ModelDraftkingsEventContextResponse', { + 'event_id': NotRequired[str], + 'event_seo_id': NotRequired[str], + 'fetched_at': NotRequired[str], + 'league_id': NotRequired[str], + 'league_seo_id': NotRequired[str], + 'source_url': NotRequired[str], + 'sport_id': NotRequired[str], + 'sport_seo_id': NotRequired[str], +}, total=False) + ModelDraftkingsEventMarketsResponse = TypedDict('ModelDraftkingsEventMarketsResponse', { 'count': NotRequired[int], 'event_id': NotRequired[str], @@ -7249,13 +7532,33 @@ ModelDraftkingsEventMarketsResponse = TypedDict('ModelDraftkingsEventMarketsResp ModelDraftkingsEventResponse = TypedDict('ModelDraftkingsEventResponse', { 'fetched_at': NotRequired[str], 'id': NotRequired[str], + 'league_id': NotRequired[str], 'name': NotRequired[str], 'participants': NotRequired[list[ModelDraftkingsParticipant]], 'source_url': NotRequired[str], + 'sport_id': NotRequired[str], 'start_time': NotRequired[str], 'status': NotRequired[str], }, total=False) +ModelDraftkingsFeaturedLeague = TypedDict('ModelDraftkingsFeaturedLeague', { + 'featured_order': NotRequired[int], + 'has_live_offers': NotRequired[bool], + 'id': NotRequired[str], + 'name': NotRequired[str], + 'slug': NotRequired[str], + 'sport': NotRequired[str], + 'sport_id': NotRequired[str], + 'tags': NotRequired[list[str]], +}, total=False) + +ModelDraftkingsFeaturedLeaguesResponse = TypedDict('ModelDraftkingsFeaturedLeaguesResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'leagues': NotRequired[list[ModelDraftkingsFeaturedLeague]], + 'source_url': NotRequired[str], +}, total=False) + ModelDraftkingsFuturesResponse = TypedDict('ModelDraftkingsFuturesResponse', { 'count': NotRequired[int], 'events': NotRequired[list[ModelDraftkingsEvent]], @@ -7267,6 +7570,80 @@ ModelDraftkingsFuturesResponse = TypedDict('ModelDraftkingsFuturesResponse', { 'subcategory_id': NotRequired[str], }, total=False) +ModelDraftkingsLeague = TypedDict('ModelDraftkingsLeague', { + 'has_live_offers': NotRequired[bool], + 'id': NotRequired[str], + 'name': NotRequired[str], + 'slug': NotRequired[str], +}, total=False) + +ModelDraftkingsLeagueEvent = TypedDict('ModelDraftkingsLeagueEvent', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'participant_type': NotRequired[str], + 'participants': NotRequired[list[ModelDraftkingsParticipant]], + 'start_time': NotRequired[str], + 'status': NotRequired[str], + 'tags': NotRequired[list[str]], +}, total=False) + +ModelDraftkingsLeagueEventsResponse = TypedDict('ModelDraftkingsLeagueEventsResponse', { + 'count': NotRequired[int], + 'events': NotRequired[list[ModelDraftkingsLeagueEvent]], + 'fetched_at': NotRequired[str], + 'league': NotRequired[str], + 'league_id': NotRequired[str], + 'source_url': NotRequired[str], + 'sport': NotRequired[str], + 'sport_id': NotRequired[str], +}, total=False) + +ModelDraftkingsLeaguesResponse = TypedDict('ModelDraftkingsLeaguesResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], + 'sports': NotRequired[list[ModelDraftkingsSport]], +}, total=False) + +ModelDraftkingsLiveEvent = TypedDict('ModelDraftkingsLiveEvent', { + 'categories': NotRequired[list[ModelDraftkingsMarketCategory]], + 'id': NotRequired[str], + 'league_id': NotRequired[str], + 'markets': NotRequired[list[ModelDraftkingsMarket]], + 'name': NotRequired[str], + 'participants': NotRequired[list[ModelDraftkingsParticipant]], + 'period': NotRequired[str], + 'score': NotRequired[ModelDraftkingsLiveScore], + 'sport_id': NotRequired[str], + 'start_time': NotRequired[str], + 'status': NotRequired[str], + 'subcategories': NotRequired[list[ModelDraftkingsMarketSubcategory]], +}, total=False) + +ModelDraftkingsLiveResponse = TypedDict('ModelDraftkingsLiveResponse', { + 'count': NotRequired[int], + 'events': NotRequired[list[ModelDraftkingsLiveEvent]], + 'fetched_at': NotRequired[str], + 'source_url': NotRequired[str], +}, total=False) + +ModelDraftkingsLiveScore = TypedDict('ModelDraftkingsLiveScore', { + 'current': NotRequired[ModelDraftkingsLiveScoreLine], + 'on_serve': NotRequired[str], + 'periods': NotRequired[list[ModelDraftkingsLiveScorePeriod]], +}, total=False) + +ModelDraftkingsLiveScoreLine = TypedDict('ModelDraftkingsLiveScoreLine', { + 'away': NotRequired[str], + 'home': NotRequired[str], +}, total=False) + +ModelDraftkingsLiveScorePeriod = TypedDict('ModelDraftkingsLiveScorePeriod', { + 'away': NotRequired[str], + 'home': NotRequired[str], + 'name': NotRequired[str], +}, total=False) + ModelDraftkingsMarket = TypedDict('ModelDraftkingsMarket', { 'id': NotRequired[str], 'selections': NotRequired[list[ModelDraftkingsSelection]], @@ -7274,6 +7651,17 @@ ModelDraftkingsMarket = TypedDict('ModelDraftkingsMarket', { 'type': NotRequired[str], }, total=False) +ModelDraftkingsMarketCategory = TypedDict('ModelDraftkingsMarketCategory', { + 'id': NotRequired[str], + 'name': NotRequired[str], +}, total=False) + +ModelDraftkingsMarketSubcategory = TypedDict('ModelDraftkingsMarketSubcategory', { + 'category_id': NotRequired[str], + 'id': NotRequired[str], + 'name': NotRequired[str], +}, total=False) + ModelDraftkingsOdds = TypedDict('ModelDraftkingsOdds', { 'american': NotRequired[str], 'decimal': NotRequired[str], @@ -7296,6 +7684,20 @@ ModelDraftkingsParticipant = TypedDict('ModelDraftkingsParticipant', { 'role': NotRequired[str], }, total=False) +ModelDraftkingsQuickLink = TypedDict('ModelDraftkingsQuickLink', { + 'league_id': NotRequired[str], + 'name': NotRequired[str], + 'path': NotRequired[str], + 'sport_id': NotRequired[str], +}, total=False) + +ModelDraftkingsQuickLinksResponse = TypedDict('ModelDraftkingsQuickLinksResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'links': NotRequired[list[ModelDraftkingsQuickLink]], + 'source_url': NotRequired[str], +}, total=False) + ModelDraftkingsSelection = TypedDict('ModelDraftkingsSelection', { 'label': NotRequired[str], 'odds': NotRequired[ModelDraftkingsOdds], @@ -7303,6 +7705,55 @@ ModelDraftkingsSelection = TypedDict('ModelDraftkingsSelection', { 'points': NotRequired[float], }, total=False) +ModelDraftkingsSport = TypedDict('ModelDraftkingsSport', { + 'id': NotRequired[str], + 'leagues': NotRequired[list[ModelDraftkingsLeague]], + 'name': NotRequired[str], + 'slug': NotRequired[str], +}, total=False) + +ModelDraftkingsTeam = TypedDict('ModelDraftkingsTeam', { + 'id': NotRequired[str], + 'name': NotRequired[str], + 'slug': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelDraftkingsTeamDetailResponse = TypedDict('ModelDraftkingsTeamDetailResponse', { + 'abbreviation': NotRequired[str], + 'city': NotRequired[str], + 'fetched_at': NotRequired[str], + 'id': NotRequired[str], + 'leagues': NotRequired[list[ModelDraftkingsTeamLeagueRef]], + 'name': NotRequired[str], + 'primary_color': NotRequired[str], + 'secondary_color': NotRequired[str], + 'short_name': NotRequired[str], + 'source_url': NotRequired[str], + 'sport': NotRequired[str], + 'sport_id': NotRequired[str], +}, total=False) + +ModelDraftkingsTeamLeagueRef = TypedDict('ModelDraftkingsTeamLeagueRef', { + 'id': NotRequired[str], + 'slug': NotRequired[str], +}, total=False) + +ModelDraftkingsTeamsResponse = TypedDict('ModelDraftkingsTeamsResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'league': NotRequired[str], + 'source_url': NotRequired[str], + 'sport': NotRequired[str], + 'teams': NotRequired[list[ModelDraftkingsTeam]], +}, total=False) + +ModelDraftkingsEventContextResponseDoc = TypedDict('ModelDraftkingsEventContextResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsEventContextResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDraftkingsEventMarketsResponseDoc = TypedDict('ModelDraftkingsEventMarketsResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDraftkingsEventMarketsResponse], @@ -7315,18 +7766,60 @@ ModelDraftkingsEventResponseDoc = TypedDict('ModelDraftkingsEventResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelDraftkingsFeaturedLeaguesResponseDoc = TypedDict('ModelDraftkingsFeaturedLeaguesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsFeaturedLeaguesResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDraftkingsFuturesResponseDoc = TypedDict('ModelDraftkingsFuturesResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDraftkingsFuturesResponse], 'msg': NotRequired[str], }, total=False) +ModelDraftkingsLeagueEventsResponseDoc = TypedDict('ModelDraftkingsLeagueEventsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsLeagueEventsResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsLeaguesResponseDoc = TypedDict('ModelDraftkingsLeaguesResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsLeaguesResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsLiveResponseDoc = TypedDict('ModelDraftkingsLiveResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsLiveResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDraftkingsOddsResponseDoc = TypedDict('ModelDraftkingsOddsResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelDraftkingsOddsResponse], 'msg': NotRequired[str], }, total=False) +ModelDraftkingsQuickLinksResponseDoc = TypedDict('ModelDraftkingsQuickLinksResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsQuickLinksResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsTeamResponseDoc = TypedDict('ModelDraftkingsTeamResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsTeamDetailResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelDraftkingsTeamsResponseDoc = TypedDict('ModelDraftkingsTeamsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelDraftkingsTeamsResponse], + 'msg': NotRequired[str], +}, total=False) + ModelDuckduckgoImageResponse = TypedDict('ModelDuckduckgoImageResponse', { 'pagination': NotRequired[ModelDuckduckgoSearchPagination], 'query': NotRequired[str], @@ -8629,6 +9122,7 @@ ModelEsPitchbookRecord = TypedDict('ModelEsPitchbookRecord', { 'commitments_count': NotRequired[int], 'contact': NotRequired[dict[str, str]], 'contact_title': NotRequired[str], + 'content_hash': NotRequired[str], 'crawled_at': NotRequired[str], 'crawled_at_ms': NotRequired[int], 'description': NotRequired[str], @@ -11179,6 +11673,24 @@ ModelGooglepatentsClassification = TypedDict('ModelGooglepatentsClassification', 'is_cpc': NotRequired[bool], }, total=False) +ModelGooglepatentsClassificationRelation = TypedDict('ModelGooglepatentsClassificationRelation', { + 'code': NotRequired[str], + 'description': NotRequired[str], + 'is_child': NotRequired[bool], + 'is_parent': NotRequired[bool], + 'is_related': NotRequired[bool], + 'name': NotRequired[str], +}, total=False) + +ModelGooglepatentsClassificationResponse = TypedDict('ModelGooglepatentsClassificationResponse', { + 'code': NotRequired[str], + 'description': NotRequired[list[str]], + 'fetched_at': NotRequired[str], + 'name': NotRequired[str], + 'relations': NotRequired[list[ModelGooglepatentsClassificationRelation]], + 'source_url': NotRequired[str], +}, total=False) + ModelGooglepatentsCountryStatus = TypedDict('ModelGooglepatentsCountryStatus', { 'country_code': NotRequired[str], 'state': NotRequired[str], @@ -11241,6 +11753,20 @@ ModelGooglepatentsFamilyMember = TypedDict('ModelGooglepatentsFamilyMember', { 'publication_number': NotRequired[str], }, total=False) +ModelGooglepatentsRecentEntry = TypedDict('ModelGooglepatentsRecentEntry', { + 'publication_number': NotRequired[str], + 'title': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelGooglepatentsRecentResponse = TypedDict('ModelGooglepatentsRecentResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'results': NotRequired[list[ModelGooglepatentsRecentEntry]], + 'source_url': NotRequired[str], + 'week': NotRequired[str], +}, total=False) + ModelGooglepatentsSearchResponse = TypedDict('ModelGooglepatentsSearchResponse', { 'fetched_at': NotRequired[str], 'many_results': NotRequired[bool], @@ -11292,6 +11818,12 @@ ModelGooglepatentsSuggestResponse = TypedDict('ModelGooglepatentsSuggestResponse 'value': NotRequired[str], }, total=False) +ModelGooglepatentsClassificationResponseDoc = TypedDict('ModelGooglepatentsClassificationResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelGooglepatentsClassificationResponse], + 'msg': NotRequired[str], +}, total=False) + ModelGooglepatentsCoverageResponseDoc = TypedDict('ModelGooglepatentsCoverageResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelGooglepatentsCoverageResponse], @@ -11304,6 +11836,12 @@ ModelGooglepatentsDetailResponseDoc = TypedDict('ModelGooglepatentsDetailRespons 'msg': NotRequired[str], }, total=False) +ModelGooglepatentsRecentResponseDoc = TypedDict('ModelGooglepatentsRecentResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelGooglepatentsRecentResponse], + 'msg': NotRequired[str], +}, total=False) + ModelGooglepatentsSearchResponseDoc = TypedDict('ModelGooglepatentsSearchResponseDoc', { 'code': NotRequired[int], 'data': NotRequired[ModelGooglepatentsSearchResponse], @@ -19809,6 +20347,284 @@ ModelSecSubmissionsResponseDoc = TypedDict('ModelSecSubmissionsResponseDoc', { 'msg': NotRequired[str], }, total=False) +ModelSephoraAnswer = TypedDict('ModelSephoraAnswer', { + 'author': NotRequired[str], + 'helpful_votes': NotRequired[int], + 'id': NotRequired[str], + 'is_brand_answer': NotRequired[bool], + 'not_helpful_votes': NotRequired[int], + 'submitted_at': NotRequired[str], + 'text': NotRequired[str], +}, total=False) + +ModelSephoraCategoryResponse = TypedDict('ModelSephoraCategoryResponse', { + 'brand': NotRequired[list[str]], + 'category_id': NotRequired[str], + 'count': NotRequired[int], + 'display_name': NotRequired[str], + 'fetched_at': NotRequired[str], + 'filter': NotRequired[list[str]], + 'is_new': NotRequired[bool], + 'page': NotRequired[int], + 'page_size': NotRequired[int], + 'price_max': NotRequired[int], + 'price_min': NotRequired[int], + 'products': NotRequired[list[ModelSephoraSearchProduct]], + 'rating_min': NotRequired[int], + 'related_categories': NotRequired[list[str]], + 'slug': NotRequired[str], + 'sort_by': NotRequired[str], + 'source_url': NotRequired[str], + 'total_products': NotRequired[int], +}, total=False) + +ModelSephoraFullReview = TypedDict('ModelSephoraFullReview', { + 'author': NotRequired[str], + 'body': NotRequired[str], + 'helpful_votes': NotRequired[int], + 'id': NotRequired[str], + 'location': NotRequired[str], + 'not_helpful_votes': NotRequired[int], + 'photo_urls': NotRequired[list[str]], + 'rating': NotRequired[int], + 'ratings_only': NotRequired[bool], + 'recommended': NotRequired[bool], + 'secondary_ratings': NotRequired[list[ModelSephoraReviewSecondaryRating]], + 'submitted_at': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelSephoraProductQuestionsResponse = TypedDict('ModelSephoraProductQuestionsResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'page': NotRequired[int], + 'page_size': NotRequired[int], + 'product_id': NotRequired[str], + 'questions': NotRequired[list[ModelSephoraQuestion]], + 'source_url': NotRequired[str], + 'total_pages': NotRequired[int], + 'total_questions': NotRequired[int], +}, total=False) + +ModelSephoraProductResponse = TypedDict('ModelSephoraProductResponse', { + 'brand': NotRequired[str], + 'category': NotRequired[str], + 'description': NotRequired[str], + 'fetched_at': NotRequired[str], + 'image': NotRequired[str], + 'name': NotRequired[str], + 'product_group_id': NotRequired[str], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'review_sample': NotRequired[list[ModelSephoraReviewSample]], + 'source_url': NotRequired[str], + 'url': NotRequired[str], + 'variants': NotRequired[list[ModelSephoraVariant]], +}, total=False) + +ModelSephoraProductReviewsResponse = TypedDict('ModelSephoraProductReviewsResponse', { + 'average_rating': NotRequired[float], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'page': NotRequired[int], + 'page_size': NotRequired[int], + 'product_id': NotRequired[str], + 'rating_count': NotRequired[int], + 'rating_histogram': NotRequired[list[int]], + 'recommended_ratio': NotRequired[float], + 'reviews': NotRequired[list[ModelSephoraFullReview]], + 'source_url': NotRequired[str], + 'total_pages': NotRequired[int], + 'total_reviews': NotRequired[int], +}, total=False) + +ModelSephoraQuestion = TypedDict('ModelSephoraQuestion', { + 'answer_count': NotRequired[int], + 'answers': NotRequired[list[ModelSephoraAnswer]], + 'author': NotRequired[str], + 'has_best_answer': NotRequired[bool], + 'id': NotRequired[str], + 'submitted_at': NotRequired[str], + 'text': NotRequired[str], +}, total=False) + +ModelSephoraReviewSample = TypedDict('ModelSephoraReviewSample', { + 'author': NotRequired[str], + 'body': NotRequired[str], + 'date_published': NotRequired[str], + 'id': NotRequired[str], + 'rating': NotRequired[float], + 'title': NotRequired[str], +}, total=False) + +ModelSephoraReviewSecondaryRating = TypedDict('ModelSephoraReviewSecondaryRating', { + 'max_value': NotRequired[int], + 'name': NotRequired[str], + 'value': NotRequired[int], +}, total=False) + +ModelSephoraSearchProduct = TypedDict('ModelSephoraSearchProduct', { + 'brand_name': NotRequired[str], + 'image_url': NotRequired[str], + 'list_price': NotRequired[str], + 'more_colors': NotRequired[int], + 'product_id': NotRequired[str], + 'product_name': NotRequired[str], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'sku_id': NotRequired[str], + 'sponsored': NotRequired[bool], + 'url': NotRequired[str], + 'value_price': NotRequired[str], +}, total=False) + +ModelSephoraSearchResponse = TypedDict('ModelSephoraSearchResponse', { + 'brand': NotRequired[list[str]], + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'filter': NotRequired[list[str]], + 'is_new': NotRequired[bool], + 'page': NotRequired[int], + 'page_size': NotRequired[int], + 'price_max': NotRequired[int], + 'price_min': NotRequired[int], + 'products': NotRequired[list[ModelSephoraSearchProduct]], + 'query': NotRequired[str], + 'rating_min': NotRequired[int], + 'related_searches': NotRequired[list[str]], + 'sort_by': NotRequired[str], + 'source_url': NotRequired[str], + 'total_products': NotRequired[int], +}, total=False) + +ModelSephoraStore = TypedDict('ModelSephoraStore', { + 'address': NotRequired[ModelSephoraStoreAddress], + 'display_name': NotRequired[str], + 'distance_miles': NotRequired[float], + 'hours': NotRequired[ModelSephoraStoreHours], + 'is_bopisable': NotRequired[bool], + 'is_curbside_enabled': NotRequired[bool], + 'is_online_reservation_enabled': NotRequired[bool], + 'latitude': NotRequired[float], + 'longitude': NotRequired[float], + 'same_day_delivery_enabled': NotRequired[bool], + 'store_id': NotRequired[str], + 'store_type': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelSephoraStoreAddress = TypedDict('ModelSephoraStoreAddress', { + 'address1': NotRequired[str], + 'address2': NotRequired[str], + 'city': NotRequired[str], + 'country': NotRequired[str], + 'mall_name': NotRequired[str], + 'phone': NotRequired[str], + 'postal_code': NotRequired[str], + 'state': NotRequired[str], +}, total=False) + +ModelSephoraStoreHours = TypedDict('ModelSephoraStoreHours', { + 'friday': NotRequired[str], + 'monday': NotRequired[str], + 'saturday': NotRequired[str], + 'sunday': NotRequired[str], + 'thursday': NotRequired[str], + 'time_zone': NotRequired[str], + 'tuesday': NotRequired[str], + 'wednesday': NotRequired[str], +}, total=False) + +ModelSephoraStoresResponse = TypedDict('ModelSephoraStoresResponse', { + 'count': NotRequired[int], + 'fetched_at': NotRequired[str], + 'latitude': NotRequired[float], + 'longitude': NotRequired[float], + 'radius': NotRequired[int], + 'source_url': NotRequired[str], + 'stores': NotRequired[list[ModelSephoraStore]], +}, total=False) + +ModelSephoraSuggestCategory = TypedDict('ModelSephoraSuggestCategory', { + 'name': NotRequired[str], + 'url': NotRequired[str], +}, total=False) + +ModelSephoraSuggestProduct = TypedDict('ModelSephoraSuggestProduct', { + 'brand_name': NotRequired[str], + 'image_url': NotRequired[str], + 'product_id': NotRequired[str], + 'product_name': NotRequired[str], + 'rating': NotRequired[float], + 'review_count': NotRequired[int], + 'sku_id': NotRequired[str], +}, total=False) + +ModelSephoraSuggestResponse = TypedDict('ModelSephoraSuggestResponse', { + 'categories': NotRequired[list[ModelSephoraSuggestCategory]], + 'fetched_at': NotRequired[str], + 'products': NotRequired[list[ModelSephoraSuggestProduct]], + 'query': NotRequired[str], + 'source_url': NotRequired[str], + 'terms': NotRequired[list[ModelSephoraSuggestTerm]], +}, total=False) + +ModelSephoraSuggestTerm = TypedDict('ModelSephoraSuggestTerm', { + 'term': NotRequired[str], +}, total=False) + +ModelSephoraVariant = TypedDict('ModelSephoraVariant', { + 'availability': NotRequired[str], + 'color': NotRequired[str], + 'currency_code': NotRequired[str], + 'image': NotRequired[str], + 'name': NotRequired[str], + 'price': NotRequired[str], + 'sku': NotRequired[str], +}, total=False) + +ModelSephoraCategoryResponseDoc = TypedDict('ModelSephoraCategoryResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraCategoryResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelSephoraProductQuestionsResponseDoc = TypedDict('ModelSephoraProductQuestionsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraProductQuestionsResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelSephoraProductResponseDoc = TypedDict('ModelSephoraProductResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraProductResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelSephoraProductReviewsResponseDoc = TypedDict('ModelSephoraProductReviewsResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraProductReviewsResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelSephoraSearchResponseDoc = TypedDict('ModelSephoraSearchResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraSearchResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelSephoraStoresResponseDoc = TypedDict('ModelSephoraStoresResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraStoresResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelSephoraSuggestResponseDoc = TypedDict('ModelSephoraSuggestResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelSephoraSuggestResponse], + 'msg': NotRequired[str], +}, total=False) + ModelShopappAnalysisResponse = TypedDict('ModelShopappAnalysisResponse', { 'currencies': NotRequired[list[str]], 'discounts': NotRequired[ModelShopappDiscountSummary], @@ -25912,6 +26728,69 @@ ModelUserUserRotateApikeyResponseDoc = TypedDict('ModelUserUserRotateApikeyRespo 'msg': NotRequired[str], }, total=False) +ModelUsptoppubsDetailResponse = TypedDict('ModelUsptoppubsDetailResponse', { + 'abstract': NotRequired[str], + 'applicant_names': NotRequired[list[str]], + 'application_number': NotRequired[str], + 'assignee_name': NotRequired[str], + 'claims': NotRequired[list[str]], + 'cpc_codes': NotRequired[str], + 'database': NotRequired[str], + 'description': NotRequired[list[str]], + 'fetched_at': NotRequired[str], + 'filing_date': NotRequired[str], + 'guid': NotRequired[str], + 'inventors_short': NotRequired[str], + 'ipc_codes': NotRequired[str], + 'kind_codes': NotRequired[list[str]], + 'language': NotRequired[str], + 'page_count': NotRequired[int], + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], + 'source_url': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelUsptoppubsSearchResponse = TypedDict('ModelUsptoppubsSearchResponse', { + 'fetched_at': NotRequired[str], + 'num_found': NotRequired[int], + 'page': NotRequired[int], + 'per_page': NotRequired[int], + 'query': NotRequired[str], + 'results': NotRequired[list[ModelUsptoppubsSearchResult]], + 'source_url': NotRequired[str], +}, total=False) + +ModelUsptoppubsSearchResult = TypedDict('ModelUsptoppubsSearchResult', { + 'applicant_names': NotRequired[list[str]], + 'application_number': NotRequired[str], + 'assignee_name': NotRequired[str], + 'cpc_codes': NotRequired[str], + 'database': NotRequired[str], + 'filing_date': NotRequired[str], + 'guid': NotRequired[str], + 'inventors_short': NotRequired[str], + 'ipc_codes': NotRequired[str], + 'kind_codes': NotRequired[list[str]], + 'language': NotRequired[str], + 'page_count': NotRequired[int], + 'publication_date': NotRequired[str], + 'publication_number': NotRequired[str], + 'title': NotRequired[str], +}, total=False) + +ModelUsptoppubsDetailResponseDoc = TypedDict('ModelUsptoppubsDetailResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelUsptoppubsDetailResponse], + 'msg': NotRequired[str], +}, total=False) + +ModelUsptoppubsSearchResponseDoc = TypedDict('ModelUsptoppubsSearchResponseDoc', { + 'code': NotRequired[int], + 'data': NotRequired[ModelUsptoppubsSearchResponse], + 'msg': NotRequired[str], +}, total=False) + ModelVintedBrandEntry = TypedDict('ModelVintedBrandEntry', { 'id': NotRequired[str], 'name': NotRequired[str], @@ -30282,12 +31161,42 @@ AutotraderVehicleParams = TypedDict('AutotraderVehicleParams', { 'id': Required[str], }, total=False) +BestBuyBestbuyBrandsResponse = ModelBestbuyBrandsResponseDoc +BestBuyBestbuyBrandsParams = TypedDict('BestBuyBestbuyBrandsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +BestBuyBestbuyCategoriesResponse = ModelBestbuyCategoriesResponseDoc +BestBuyBestbuyCategoriesParams = TypedDict('BestBuyBestbuyCategoriesParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +BestBuyBestbuyCategoriesTrendingResponse = ModelBestbuyTrendingCategoriesResponseDoc +BestBuyBestbuyCategoriesTrendingParams = TypedDict('BestBuyBestbuyCategoriesTrendingParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + BestBuyBestbuyCategoryResponse = ModelBestbuyCategoryResponseDoc BestBuyBestbuyCategoryParams = TypedDict('BestBuyBestbuyCategoryParams', { '_response_type': NotRequired[ResponseType], '_timeout': NotRequired[float], '_headers': NotRequired[Mapping[str, str]], 'category_id': Required[str], + 'page': NotRequired[int], +}, total=False) + +BestBuyBestbuyCategorySubcategoriesResponse = ModelBestbuySubcategoriesResponseDoc +BestBuyBestbuyCategorySubcategoriesParams = TypedDict('BestBuyBestbuyCategorySubcategoriesParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'category_id': Required[str], }, total=False) BestBuyBestbuyProductResponse = ModelBestbuyProductResponseDoc @@ -30298,6 +31207,22 @@ BestBuyBestbuyProductParams = TypedDict('BestBuyBestbuyProductParams', { 'sku': Required[str], }, total=False) +BestBuyBestbuyProductQuestionsResponse = ModelBestbuyProductQuestionsResponseDoc +BestBuyBestbuyProductQuestionsParams = TypedDict('BestBuyBestbuyProductQuestionsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'sku': Required[str], +}, total=False) + +BestBuyBestbuyProductRelatedResponse = ModelBestbuyProductRelatedResponseDoc +BestBuyBestbuyProductRelatedParams = TypedDict('BestBuyBestbuyProductRelatedParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'sku': Required[str], +}, total=False) + BestBuyBestbuyProductReviewsResponse = ModelBestbuyProductReviewsResponseDoc BestBuyBestbuyProductReviewsParams = TypedDict('BestBuyBestbuyProductReviewsParams', { '_response_type': NotRequired[ResponseType], @@ -30306,6 +31231,24 @@ BestBuyBestbuyProductReviewsParams = TypedDict('BestBuyBestbuyProductReviewsPara 'sku': Required[str], }, total=False) +BestBuyBestbuySearchResponse = ModelBestbuySearchResponseDoc +BestBuyBestbuySearchParams = TypedDict('BestBuyBestbuySearchParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'page': NotRequired[int], +}, total=False) + +BestBuyBestbuyStoresResponse = ModelBestbuyStoresResponseDoc +BestBuyBestbuyStoresParams = TypedDict('BestBuyBestbuyStoresParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'state': Required[str], + 'city': Required[str], +}, total=False) + BillingMeResponse = ModelBillingBillingStateResponseDoc BillingMeParams = TypedDict('BillingMeParams', { '_response_type': NotRequired[ResponseType], @@ -33189,6 +34132,13 @@ DatasetsXUsersSearchParams = TypedDict('DatasetsXUsersSearchParams', { 'page_size': NotRequired[int], }, total=False) +DepopBrandsResponse = ModelDepopBrandsResponseDoc +DepopBrandsParams = TypedDict('DepopBrandsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + DepopCategoriesResponse = ModelDepopCategoriesResponseDoc DepopCategoriesParams = TypedDict('DepopCategoriesParams', { '_response_type': NotRequired[ResponseType], @@ -33231,9 +34181,26 @@ DepopSearchParams = TypedDict('DepopSearchParams', { 'gender': NotRequired[str], 'is_kids': NotRequired[bool], 'brand_ids': NotRequired[str], + 'sizes': NotRequired[str], 'after': NotRequired[str], }, total=False) +DepopSearchSellersResponse = ModelDepopSearchSellersResponseDoc +DepopSearchSellersParams = TypedDict('DepopSearchSellersParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': Required[str], +}, total=False) + +DepopSearchFacetsResponse = ModelDepopSearchFacetsResponseDoc +DepopSearchFacetsParams = TypedDict('DepopSearchFacetsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': Required[str], +}, total=False) + DepopShopResponse = ModelDepopShopResponseDoc DepopShopParams = TypedDict('DepopShopParams', { '_response_type': NotRequired[ResponseType], @@ -33249,6 +34216,22 @@ DepopShopParams = TypedDict('DepopShopParams', { 'category': NotRequired[str], 'subcategory': NotRequired[str], 'gender': NotRequired[str], + 'sizes': NotRequired[str], +}, total=False) + +DepopSizesResponse = ModelDepopSizesResponseDoc +DepopSizesParams = TypedDict('DepopSizesParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +DepopSuggestResponse = ModelDepopSuggestResponseDoc +DepopSuggestParams = TypedDict('DepopSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': Required[str], }, total=False) WebAntibotCheckBody = ModelDiagnosticsAntibotCheckRequest @@ -33448,16 +34431,24 @@ DoorDashDoordashStoreReviewsParams = TypedDict('DoorDashDoordashStoreReviewsPara 'longitude': Required[float], }, total=False) -DraftKingsDraftkingsEventResponse = ModelDraftkingsEventResponseDoc -DraftKingsDraftkingsEventParams = TypedDict('DraftKingsDraftkingsEventParams', { +DraftKingsSportsbookDraftkingsEventResponse = ModelDraftkingsEventResponseDoc +DraftKingsSportsbookDraftkingsEventParams = TypedDict('DraftKingsSportsbookDraftkingsEventParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'event_id': Required[str], +}, total=False) + +DraftKingsSportsbookDraftkingsEventContextResponse = ModelDraftkingsEventContextResponseDoc +DraftKingsSportsbookDraftkingsEventContextParams = TypedDict('DraftKingsSportsbookDraftkingsEventContextParams', { '_response_type': NotRequired[ResponseType], '_timeout': NotRequired[float], '_headers': NotRequired[Mapping[str, str]], 'event_id': Required[str], }, total=False) -DraftKingsDraftkingsEventMarketsResponse = ModelDraftkingsEventMarketsResponseDoc -DraftKingsDraftkingsEventMarketsParams = TypedDict('DraftKingsDraftkingsEventMarketsParams', { +DraftKingsSportsbookDraftkingsEventMarketsResponse = ModelDraftkingsEventMarketsResponseDoc +DraftKingsSportsbookDraftkingsEventMarketsParams = TypedDict('DraftKingsSportsbookDraftkingsEventMarketsParams', { '_response_type': NotRequired[ResponseType], '_timeout': NotRequired[float], '_headers': NotRequired[Mapping[str, str]], @@ -33465,8 +34456,15 @@ DraftKingsDraftkingsEventMarketsParams = TypedDict('DraftKingsDraftkingsEventMar 'subcategory_id': Required[str], }, total=False) -DraftKingsDraftkingsFuturesResponse = ModelDraftkingsFuturesResponseDoc -DraftKingsDraftkingsFuturesParams = TypedDict('DraftKingsDraftkingsFuturesParams', { +DraftKingsSportsbookDraftkingsFeaturedLeaguesResponse = ModelDraftkingsFeaturedLeaguesResponseDoc +DraftKingsSportsbookDraftkingsFeaturedLeaguesParams = TypedDict('DraftKingsSportsbookDraftkingsFeaturedLeaguesParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +DraftKingsSportsbookDraftkingsFuturesResponse = ModelDraftkingsFuturesResponseDoc +DraftKingsSportsbookDraftkingsFuturesParams = TypedDict('DraftKingsSportsbookDraftkingsFuturesParams', { '_response_type': NotRequired[ResponseType], '_timeout': NotRequired[float], '_headers': NotRequired[Mapping[str, str]], @@ -33474,14 +34472,61 @@ DraftKingsDraftkingsFuturesParams = TypedDict('DraftKingsDraftkingsFuturesParams 'subcategory_id': Required[str], }, total=False) -DraftKingsDraftkingsOddsResponse = ModelDraftkingsOddsResponseDoc -DraftKingsDraftkingsOddsParams = TypedDict('DraftKingsDraftkingsOddsParams', { +DraftKingsSportsbookDraftkingsLeagueEventsResponse = ModelDraftkingsLeagueEventsResponseDoc +DraftKingsSportsbookDraftkingsLeagueEventsParams = TypedDict('DraftKingsSportsbookDraftkingsLeagueEventsParams', { '_response_type': NotRequired[ResponseType], '_timeout': NotRequired[float], '_headers': NotRequired[Mapping[str, str]], 'league_id': Required[str], }, total=False) +DraftKingsSportsbookDraftkingsLeaguesResponse = ModelDraftkingsLeaguesResponseDoc +DraftKingsSportsbookDraftkingsLeaguesParams = TypedDict('DraftKingsSportsbookDraftkingsLeaguesParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +DraftKingsSportsbookDraftkingsLiveResponse = ModelDraftkingsLiveResponseDoc +DraftKingsSportsbookDraftkingsLiveParams = TypedDict('DraftKingsSportsbookDraftkingsLiveParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +DraftKingsSportsbookDraftkingsOddsResponse = ModelDraftkingsOddsResponseDoc +DraftKingsSportsbookDraftkingsOddsParams = TypedDict('DraftKingsSportsbookDraftkingsOddsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'league_id': Required[str], +}, total=False) + +DraftKingsSportsbookDraftkingsQuickLinksResponse = ModelDraftkingsQuickLinksResponseDoc +DraftKingsSportsbookDraftkingsQuickLinksParams = TypedDict('DraftKingsSportsbookDraftkingsQuickLinksParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], +}, total=False) + +DraftKingsSportsbookDraftkingsTeamResponse = ModelDraftkingsTeamResponseDoc +DraftKingsSportsbookDraftkingsTeamParams = TypedDict('DraftKingsSportsbookDraftkingsTeamParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'team_id': Required[str], + 'sport': Required[Literal['football', 'hockey', 'basketball', 'baseball']], + 'slug': Required[str], +}, total=False) + +DraftKingsSportsbookDraftkingsTeamsResponse = ModelDraftkingsTeamsResponseDoc +DraftKingsSportsbookDraftkingsTeamsParams = TypedDict('DraftKingsSportsbookDraftkingsTeamsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'league': Required[Literal['nfl', 'nhl', 'nba', 'cbb', 'mlb', 'cfb']], +}, total=False) + DuckDuckGoSearchDuckduckgoImageResponse = ModelDuckduckgoImageResponseDoc DuckDuckGoSearchDuckduckgoImageParams = TypedDict('DuckDuckGoSearchDuckduckgoImageParams', { '_response_type': NotRequired[ResponseType], @@ -34571,6 +35616,14 @@ GoogleVideosParams = TypedDict('GoogleVideosParams', { 'lang': NotRequired[str], }, total=False) +GooglePatentsGooglepatentsClassificationResponse = ModelGooglepatentsClassificationResponseDoc +GooglePatentsGooglepatentsClassificationParams = TypedDict('GooglePatentsGooglepatentsClassificationParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'code': Required[str], +}, total=False) + GooglePatentsGooglepatentsCoverageResponse = ModelGooglepatentsCoverageResponseDoc GooglePatentsGooglepatentsCoverageParams = TypedDict('GooglePatentsGooglepatentsCoverageParams', { '_response_type': NotRequired[ResponseType], @@ -34587,6 +35640,14 @@ GooglePatentsGooglepatentsDetailParams = TypedDict('GooglePatentsGooglepatentsDe 'lang': NotRequired[str], }, total=False) +GooglePatentsGooglepatentsRecentResponse = ModelGooglepatentsRecentResponseDoc +GooglePatentsGooglepatentsRecentParams = TypedDict('GooglePatentsGooglepatentsRecentParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'week': Required[str], +}, total=False) + GooglePatentsGooglepatentsSearchResponse = ModelGooglepatentsSearchResponseDoc GooglePatentsGooglepatentsSearchParams = TypedDict('GooglePatentsGooglepatentsSearchParams', { '_response_type': NotRequired[ResponseType], @@ -38180,6 +39241,84 @@ SecEdgarSecInstitutionalHoldingsParams = TypedDict('SecEdgarSecInstitutionalHold 'limit': NotRequired[int], }, total=False) +SephoraCategoryResponse = ModelSephoraCategoryResponseDoc +SephoraCategoryParams = TypedDict('SephoraCategoryParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'slug': Required[str], + 'page': NotRequired[int], + 'sort_by': NotRequired[Literal['featured', 'top_rated', 'new', 'best_selling', 'price_low_to_high', 'price_high_to_low']], + 'price_min': NotRequired[int], + 'price_max': NotRequired[int], + 'brand': NotRequired[list[str]], + 'rating_min': NotRequired[int], + 'is_new': NotRequired[bool], + 'filter': NotRequired[list[str]], +}, total=False) + +SephoraProductResponse = ModelSephoraProductResponseDoc +SephoraProductParams = TypedDict('SephoraProductParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'product_id': Required[str], +}, total=False) + +SephoraProductQuestionsResponse = ModelSephoraProductQuestionsResponseDoc +SephoraProductQuestionsParams = TypedDict('SephoraProductQuestionsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'product_id': Required[str], + 'page': NotRequired[int], +}, total=False) + +SephoraProductReviewsResponse = ModelSephoraProductReviewsResponseDoc +SephoraProductReviewsParams = TypedDict('SephoraProductReviewsParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'product_id': Required[str], + 'page': NotRequired[int], +}, total=False) + +SephoraSearchResponse = ModelSephoraSearchResponseDoc +SephoraSearchParams = TypedDict('SephoraSearchParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': Required[str], + 'page': NotRequired[int], + 'page_size': NotRequired[int], + 'sort_by': NotRequired[Literal['featured', 'top_rated', 'new', 'best_selling', 'price_low_to_high', 'price_high_to_low']], + 'price_min': NotRequired[int], + 'price_max': NotRequired[int], + 'brand': NotRequired[list[str]], + 'rating_min': NotRequired[int], + 'is_new': NotRequired[bool], + 'filter': NotRequired[list[str]], +}, total=False) + +SephoraStoresResponse = ModelSephoraStoresResponseDoc +SephoraStoresParams = TypedDict('SephoraStoresParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'latitude': Required[float], + 'longitude': Required[float], + 'radius': NotRequired[int], + 'limit': NotRequired[int], +}, total=False) + +SephoraSuggestResponse = ModelSephoraSuggestResponseDoc +SephoraSuggestParams = TypedDict('SephoraSuggestParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'query': Required[str], +}, total=False) + ShopAppAnalysisResponse = ModelShopappAnalysisResponseDoc ShopAppAnalysisParams = TypedDict('ShopAppAnalysisParams', { '_response_type': NotRequired[ResponseType], @@ -40484,6 +41623,26 @@ AccountDeletionRequestParams = TypedDict('AccountDeletionRequestParams', { 'request': NotRequired[AccountDeletionRequestBody], }, total=False) +UsptoPatentPublicSearchUsptoppubsDetailResponse = ModelUsptoppubsDetailResponseDoc +UsptoPatentPublicSearchUsptoppubsDetailParams = TypedDict('UsptoPatentPublicSearchUsptoppubsDetailParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'guid': Required[str], + 'source': Required[str], +}, total=False) + +UsptoPatentPublicSearchUsptoppubsSearchResponse = ModelUsptoppubsSearchResponseDoc +UsptoPatentPublicSearchUsptoppubsSearchParams = TypedDict('UsptoPatentPublicSearchUsptoppubsSearchParams', { + '_response_type': NotRequired[ResponseType], + '_timeout': NotRequired[float], + '_headers': NotRequired[Mapping[str, str]], + 'q': Required[str], + 'databases': NotRequired[str], + 'num': NotRequired[int], + 'page': NotRequired[int], +}, total=False) + VintedBrandResponse = ModelVintedBrandResponseDoc VintedBrandParams = TypedDict('VintedBrandParams', { '_response_type': NotRequired[ResponseType], @@ -41949,9 +43108,17 @@ class AutotraderGroup: def vehicle(self, **params: Unpack[AutotraderVehicleParams]) -> AutotraderVehicleResponse: ... class BestBuyGroup: + def bestbuy_brands(self, **params: Unpack[BestBuyBestbuyBrandsParams]) -> BestBuyBestbuyBrandsResponse: ... + def bestbuy_categories(self, **params: Unpack[BestBuyBestbuyCategoriesParams]) -> BestBuyBestbuyCategoriesResponse: ... + def bestbuy_categories_trending(self, **params: Unpack[BestBuyBestbuyCategoriesTrendingParams]) -> BestBuyBestbuyCategoriesTrendingResponse: ... def bestbuy_category(self, **params: Unpack[BestBuyBestbuyCategoryParams]) -> BestBuyBestbuyCategoryResponse: ... + def bestbuy_category_subcategories(self, **params: Unpack[BestBuyBestbuyCategorySubcategoriesParams]) -> BestBuyBestbuyCategorySubcategoriesResponse: ... def bestbuy_product(self, **params: Unpack[BestBuyBestbuyProductParams]) -> BestBuyBestbuyProductResponse: ... + def bestbuy_product_questions(self, **params: Unpack[BestBuyBestbuyProductQuestionsParams]) -> BestBuyBestbuyProductQuestionsResponse: ... + def bestbuy_product_related(self, **params: Unpack[BestBuyBestbuyProductRelatedParams]) -> BestBuyBestbuyProductRelatedResponse: ... def bestbuy_product_reviews(self, **params: Unpack[BestBuyBestbuyProductReviewsParams]) -> BestBuyBestbuyProductReviewsResponse: ... + def bestbuy_search(self, **params: Unpack[BestBuyBestbuySearchParams]) -> BestBuyBestbuySearchResponse: ... + def bestbuy_stores(self, **params: Unpack[BestBuyBestbuyStoresParams]) -> BestBuyBestbuyStoresResponse: ... class BillingGroup: def me(self, **params: Unpack[BillingMeParams]) -> BillingMeResponse: ... @@ -42209,11 +43376,16 @@ class DatasetsGroup: def x_users_search(self, **params: Unpack[DatasetsXUsersSearchParams]) -> DatasetsXUsersSearchResponse: ... class DepopGroup: + def brands(self, **params: Unpack[DepopBrandsParams]) -> DepopBrandsResponse: ... def categories(self, **params: Unpack[DepopCategoriesParams]) -> DepopCategoriesResponse: ... def item(self, **params: Unpack[DepopItemParams]) -> DepopItemResponse: ... def item_similar(self, **params: Unpack[DepopItemSimilarParams]) -> DepopItemSimilarResponse: ... def search(self, **params: Unpack[DepopSearchParams]) -> DepopSearchResponse: ... + def search_sellers(self, **params: Unpack[DepopSearchSellersParams]) -> DepopSearchSellersResponse: ... + def search_facets(self, **params: Unpack[DepopSearchFacetsParams]) -> DepopSearchFacetsResponse: ... def shop(self, **params: Unpack[DepopShopParams]) -> DepopShopResponse: ... + def sizes(self, **params: Unpack[DepopSizesParams]) -> DepopSizesResponse: ... + def suggest(self, **params: Unpack[DepopSuggestParams]) -> DepopSuggestResponse: ... class DiscogsGroup: def artist(self, **params: Unpack[DiscogsArtistParams]) -> DiscogsArtistResponse: ... @@ -42238,11 +43410,19 @@ class DoorDashGroup: def doordash_store_menu(self, **params: Unpack[DoorDashDoordashStoreMenuParams]) -> DoorDashDoordashStoreMenuResponse: ... def doordash_store_reviews(self, **params: Unpack[DoorDashDoordashStoreReviewsParams]) -> DoorDashDoordashStoreReviewsResponse: ... -class DraftKingsGroup: - def draftkings_event(self, **params: Unpack[DraftKingsDraftkingsEventParams]) -> DraftKingsDraftkingsEventResponse: ... - def draftkings_event_markets(self, **params: Unpack[DraftKingsDraftkingsEventMarketsParams]) -> DraftKingsDraftkingsEventMarketsResponse: ... - def draftkings_futures(self, **params: Unpack[DraftKingsDraftkingsFuturesParams]) -> DraftKingsDraftkingsFuturesResponse: ... - def draftkings_odds(self, **params: Unpack[DraftKingsDraftkingsOddsParams]) -> DraftKingsDraftkingsOddsResponse: ... +class DraftKingsSportsbookGroup: + def draftkings_event(self, **params: Unpack[DraftKingsSportsbookDraftkingsEventParams]) -> DraftKingsSportsbookDraftkingsEventResponse: ... + def draftkings_event_context(self, **params: Unpack[DraftKingsSportsbookDraftkingsEventContextParams]) -> DraftKingsSportsbookDraftkingsEventContextResponse: ... + def draftkings_event_markets(self, **params: Unpack[DraftKingsSportsbookDraftkingsEventMarketsParams]) -> DraftKingsSportsbookDraftkingsEventMarketsResponse: ... + def draftkings_featured_leagues(self, **params: Unpack[DraftKingsSportsbookDraftkingsFeaturedLeaguesParams]) -> DraftKingsSportsbookDraftkingsFeaturedLeaguesResponse: ... + def draftkings_futures(self, **params: Unpack[DraftKingsSportsbookDraftkingsFuturesParams]) -> DraftKingsSportsbookDraftkingsFuturesResponse: ... + def draftkings_league_events(self, **params: Unpack[DraftKingsSportsbookDraftkingsLeagueEventsParams]) -> DraftKingsSportsbookDraftkingsLeagueEventsResponse: ... + def draftkings_leagues(self, **params: Unpack[DraftKingsSportsbookDraftkingsLeaguesParams]) -> DraftKingsSportsbookDraftkingsLeaguesResponse: ... + def draftkings_live(self, **params: Unpack[DraftKingsSportsbookDraftkingsLiveParams]) -> DraftKingsSportsbookDraftkingsLiveResponse: ... + def draftkings_odds(self, **params: Unpack[DraftKingsSportsbookDraftkingsOddsParams]) -> DraftKingsSportsbookDraftkingsOddsResponse: ... + def draftkings_quick_links(self, **params: Unpack[DraftKingsSportsbookDraftkingsQuickLinksParams]) -> DraftKingsSportsbookDraftkingsQuickLinksResponse: ... + def draftkings_team(self, **params: Unpack[DraftKingsSportsbookDraftkingsTeamParams]) -> DraftKingsSportsbookDraftkingsTeamResponse: ... + def draftkings_teams(self, **params: Unpack[DraftKingsSportsbookDraftkingsTeamsParams]) -> DraftKingsSportsbookDraftkingsTeamsResponse: ... class DuckDuckGoSearchGroup: def duckduckgo_image(self, **params: Unpack[DuckDuckGoSearchDuckduckgoImageParams]) -> DuckDuckGoSearchDuckduckgoImageResponse: ... @@ -42384,8 +43564,10 @@ class GoogleGroup: def videos(self, **params: Unpack[GoogleVideosParams]) -> GoogleVideosResponse: ... class GooglePatentsGroup: + def googlepatents_classification(self, **params: Unpack[GooglePatentsGooglepatentsClassificationParams]) -> GooglePatentsGooglepatentsClassificationResponse: ... def googlepatents_coverage(self, **params: Unpack[GooglePatentsGooglepatentsCoverageParams]) -> GooglePatentsGooglepatentsCoverageResponse: ... def googlepatents_detail(self, **params: Unpack[GooglePatentsGooglepatentsDetailParams]) -> GooglePatentsGooglepatentsDetailResponse: ... + def googlepatents_recent(self, **params: Unpack[GooglePatentsGooglepatentsRecentParams]) -> GooglePatentsGooglepatentsRecentResponse: ... def googlepatents_search(self, **params: Unpack[GooglePatentsGooglepatentsSearchParams]) -> GooglePatentsGooglepatentsSearchResponse: ... def googlepatents_suggest(self, **params: Unpack[GooglePatentsGooglepatentsSuggestParams]) -> GooglePatentsGooglepatentsSuggestResponse: ... @@ -42829,6 +44011,15 @@ class SecEdgarGroup: def sec_insider(self, **params: Unpack[SecEdgarSecInsiderParams]) -> SecEdgarSecInsiderResponse: ... def sec_institutional_holdings(self, **params: Unpack[SecEdgarSecInstitutionalHoldingsParams]) -> SecEdgarSecInstitutionalHoldingsResponse: ... +class SephoraGroup: + def category(self, **params: Unpack[SephoraCategoryParams]) -> SephoraCategoryResponse: ... + def product(self, **params: Unpack[SephoraProductParams]) -> SephoraProductResponse: ... + def product_questions(self, **params: Unpack[SephoraProductQuestionsParams]) -> SephoraProductQuestionsResponse: ... + def product_reviews(self, **params: Unpack[SephoraProductReviewsParams]) -> SephoraProductReviewsResponse: ... + def search(self, **params: Unpack[SephoraSearchParams]) -> SephoraSearchResponse: ... + def stores(self, **params: Unpack[SephoraStoresParams]) -> SephoraStoresResponse: ... + def suggest(self, **params: Unpack[SephoraSuggestParams]) -> SephoraSuggestResponse: ... + class ShopAppGroup: def analysis(self, **params: Unpack[ShopAppAnalysisParams]) -> ShopAppAnalysisResponse: ... def categories(self, **params: Unpack[ShopAppCategoriesParams]) -> ShopAppCategoriesResponse: ... @@ -43115,6 +44306,10 @@ class AccountDeletionGroup: def my_request(self, **params: Unpack[AccountDeletionMyRequestParams]) -> AccountDeletionMyRequestResponse: ... def request(self, **params: Unpack[AccountDeletionRequestParams]) -> AccountDeletionRequestResponse: ... +class UsptoPatentPublicSearchGroup: + def usptoppubs_detail(self, **params: Unpack[UsptoPatentPublicSearchUsptoppubsDetailParams]) -> UsptoPatentPublicSearchUsptoppubsDetailResponse: ... + def usptoppubs_search(self, **params: Unpack[UsptoPatentPublicSearchUsptoppubsSearchParams]) -> UsptoPatentPublicSearchUsptoppubsSearchResponse: ... + class VintedGroup: def brand(self, **params: Unpack[VintedBrandParams]) -> VintedBrandResponse: ... def brands(self, **params: Unpack[VintedBrandsParams]) -> VintedBrandsResponse: ... @@ -43381,9 +44576,17 @@ OperationId = Literal[ 'autotrader-dealer', 'autotrader-search', 'autotrader-vehicle', + 'bestbuy-brands', + 'bestbuy-categories', + 'bestbuy-categories-trending', 'bestbuy-category', + 'bestbuy-category-subcategories', 'bestbuy-product', + 'bestbuy-product-questions', + 'bestbuy-product-related', 'bestbuy-product-reviews', + 'bestbuy-search', + 'bestbuy-stores', 'billing-me', 'billing-me-checkout', 'billing-me-events', @@ -43603,11 +44806,16 @@ OperationId = Literal[ 'datasets-x-users-facets', 'datasets-x-users-item', 'datasets-x-users-search', + 'depop-brands', 'depop-categories', 'depop-item', 'depop-item-similar', 'depop-search', + 'depop-search-sellers', + 'depop-search-facets', 'depop-shop', + 'depop-sizes', + 'depop-suggest', 'antibot-check', 'discogs-artist', 'discogs-artist-releases', @@ -43629,9 +44837,17 @@ OperationId = Literal[ 'doordash-store-menu', 'doordash-store-reviews', 'draftkings-event', + 'draftkings-event-context', 'draftkings-event-markets', + 'draftkings-featured-leagues', 'draftkings-futures', + 'draftkings-league-events', + 'draftkings-leagues', + 'draftkings-live', 'draftkings-odds', + 'draftkings-quick-links', + 'draftkings-team', + 'draftkings-teams', 'duckduckgo-image', 'duckduckgo-news', 'duckduckgo-search', @@ -43748,8 +44964,10 @@ OperationId = Literal[ 'google-trends-trending', 'google-trends-trending-detail', 'google-videos', + 'googlepatents-classification', 'googlepatents-coverage', 'googlepatents-detail', + 'googlepatents-recent', 'googlepatents-search', 'googlepatents-suggest', 'googleplay-app', @@ -44116,6 +45334,13 @@ OperationId = Literal[ 'sec-full-text-search', 'sec-insider', 'sec-institutional-holdings', + 'sephora-category', + 'sephora-product', + 'sephora-product-questions', + 'sephora-product-reviews', + 'sephora-search', + 'sephora-stores', + 'sephora-suggest', 'shop-app-analysis', 'shop-app-categories', 'shop-app-product', @@ -44348,6 +45573,8 @@ OperationId = Literal[ 'account-deletion-cancel', 'account-deletion-my-request', 'account-deletion-request', + 'usptoppubs-detail', + 'usptoppubs-search', 'vinted-brand', 'vinted-brands', 'vinted-catalog', @@ -44538,7 +45765,7 @@ class CrawloraClient: depop: DepopGroup discogs: DiscogsGroup door_dash: DoorDashGroup - draft_kings: DraftKingsGroup + draft_kings_sportsbook: DraftKingsSportsbookGroup duck_duck_go_search: DuckDuckGoSearchGroup e_bay: EBayGroup espn: EspnGroup @@ -44590,6 +45817,7 @@ class CrawloraClient: rotten_tomatoes: RottenTomatoesGroup sam_s_club: SamSClubGroup sec_edgar: SecEdgarGroup + sephora: SephoraGroup shop_app: ShopAppGroup shopify: ShopifyGroup similar_web: SimilarWebGroup @@ -44617,6 +45845,7 @@ class CrawloraClient: usage: UsageGroup user: UserGroup account_deletion: AccountDeletionGroup + uspto_patent_public_search: UsptoPatentPublicSearchGroup vinted: VintedGroup walmart: WalmartGroup wayfair: WayfairGroup @@ -45512,6 +46741,42 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AutotraderVehicleResponse: ... @overload + def operation( + self, + operation_id: Literal['bestbuy-brands'], + params: BestBuyBestbuyBrandsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyBrandsResponse: ... + @overload + def operation( + self, + operation_id: Literal['bestbuy-categories'], + params: BestBuyBestbuyCategoriesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategoriesResponse: ... + @overload + def operation( + self, + operation_id: Literal['bestbuy-categories-trending'], + params: BestBuyBestbuyCategoriesTrendingParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategoriesTrendingResponse: ... + @overload def operation( self, operation_id: Literal['bestbuy-category'], @@ -45524,6 +46789,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> BestBuyBestbuyCategoryResponse: ... @overload + def operation( + self, + operation_id: Literal['bestbuy-category-subcategories'], + params: BestBuyBestbuyCategorySubcategoriesParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategorySubcategoriesResponse: ... + @overload def operation( self, operation_id: Literal['bestbuy-product'], @@ -45536,6 +46813,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> BestBuyBestbuyProductResponse: ... @overload + def operation( + self, + operation_id: Literal['bestbuy-product-questions'], + params: BestBuyBestbuyProductQuestionsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductQuestionsResponse: ... + @overload + def operation( + self, + operation_id: Literal['bestbuy-product-related'], + params: BestBuyBestbuyProductRelatedParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductRelatedResponse: ... + @overload def operation( self, operation_id: Literal['bestbuy-product-reviews'], @@ -45548,6 +46849,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> BestBuyBestbuyProductReviewsResponse: ... @overload + def operation( + self, + operation_id: Literal['bestbuy-search'], + params: BestBuyBestbuySearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuySearchResponse: ... + @overload + def operation( + self, + operation_id: Literal['bestbuy-stores'], + params: BestBuyBestbuyStoresParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyStoresResponse: ... + @overload def operation( self, operation_id: Literal['billing-me'], @@ -48176,6 +49501,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DatasetsXUsersSearchResponse: ... @overload + def operation( + self, + operation_id: Literal['depop-brands'], + params: DepopBrandsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopBrandsResponse: ... + @overload def operation( self, operation_id: Literal['depop-categories'], @@ -48224,6 +49561,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DepopSearchResponse: ... @overload + def operation( + self, + operation_id: Literal['depop-search-sellers'], + params: DepopSearchSellersParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSearchSellersResponse: ... + @overload + def operation( + self, + operation_id: Literal['depop-search-facets'], + params: DepopSearchFacetsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSearchFacetsResponse: ... + @overload def operation( self, operation_id: Literal['depop-shop'], @@ -48236,6 +49597,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DepopShopResponse: ... @overload + def operation( + self, + operation_id: Literal['depop-sizes'], + params: DepopSizesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSizesResponse: ... + @overload + def operation( + self, + operation_id: Literal['depop-suggest'], + params: DepopSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSuggestResponse: ... + @overload def operation( self, operation_id: Literal['antibot-check'], @@ -48479,50 +49864,146 @@ class CrawloraClient: def operation( self, operation_id: Literal['draftkings-event'], - params: DraftKingsDraftkingsEventParams, + params: DraftKingsSportsbookDraftkingsEventParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsEventResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-event-context'], + params: DraftKingsSportsbookDraftkingsEventContextParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsEventResponse: ... + ) -> DraftKingsSportsbookDraftkingsEventContextResponse: ... @overload def operation( self, operation_id: Literal['draftkings-event-markets'], - params: DraftKingsDraftkingsEventMarketsParams, + params: DraftKingsSportsbookDraftkingsEventMarketsParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsEventMarketsResponse: ... + ) -> DraftKingsSportsbookDraftkingsEventMarketsResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-featured-leagues'], + params: DraftKingsSportsbookDraftkingsFeaturedLeaguesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsFeaturedLeaguesResponse: ... @overload def operation( self, operation_id: Literal['draftkings-futures'], - params: DraftKingsDraftkingsFuturesParams, + params: DraftKingsSportsbookDraftkingsFuturesParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsFuturesResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-league-events'], + params: DraftKingsSportsbookDraftkingsLeagueEventsParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsFuturesResponse: ... + ) -> DraftKingsSportsbookDraftkingsLeagueEventsResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-leagues'], + params: DraftKingsSportsbookDraftkingsLeaguesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsLeaguesResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-live'], + params: DraftKingsSportsbookDraftkingsLiveParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsLiveResponse: ... @overload def operation( self, operation_id: Literal['draftkings-odds'], - params: DraftKingsDraftkingsOddsParams, + params: DraftKingsSportsbookDraftkingsOddsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsOddsResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-quick-links'], + params: DraftKingsSportsbookDraftkingsQuickLinksParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsQuickLinksResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-team'], + params: DraftKingsSportsbookDraftkingsTeamParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsOddsResponse: ... + ) -> DraftKingsSportsbookDraftkingsTeamResponse: ... + @overload + def operation( + self, + operation_id: Literal['draftkings-teams'], + params: DraftKingsSportsbookDraftkingsTeamsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsTeamsResponse: ... @overload def operation( self, @@ -49916,6 +51397,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GoogleVideosResponse: ... @overload + def operation( + self, + operation_id: Literal['googlepatents-classification'], + params: GooglePatentsGooglepatentsClassificationParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsClassificationResponse: ... + @overload def operation( self, operation_id: Literal['googlepatents-coverage'], @@ -49940,6 +51433,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GooglePatentsGooglepatentsDetailResponse: ... @overload + def operation( + self, + operation_id: Literal['googlepatents-recent'], + params: GooglePatentsGooglepatentsRecentParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsRecentResponse: ... + @overload def operation( self, operation_id: Literal['googlepatents-search'], @@ -54332,6 +55837,90 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> SecEdgarSecInstitutionalHoldingsResponse: ... @overload + def operation( + self, + operation_id: Literal['sephora-category'], + params: SephoraCategoryParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraCategoryResponse: ... + @overload + def operation( + self, + operation_id: Literal['sephora-product'], + params: SephoraProductParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraProductResponse: ... + @overload + def operation( + self, + operation_id: Literal['sephora-product-questions'], + params: SephoraProductQuestionsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraProductQuestionsResponse: ... + @overload + def operation( + self, + operation_id: Literal['sephora-product-reviews'], + params: SephoraProductReviewsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraProductReviewsResponse: ... + @overload + def operation( + self, + operation_id: Literal['sephora-search'], + params: SephoraSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraSearchResponse: ... + @overload + def operation( + self, + operation_id: Literal['sephora-stores'], + params: SephoraStoresParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraStoresResponse: ... + @overload + def operation( + self, + operation_id: Literal['sephora-suggest'], + params: SephoraSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraSuggestResponse: ... + @overload def operation( self, operation_id: Literal['shop-app-analysis'], @@ -57116,6 +58705,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AccountDeletionRequestResponse: ... @overload + def operation( + self, + operation_id: Literal['usptoppubs-detail'], + params: UsptoPatentPublicSearchUsptoppubsDetailParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> UsptoPatentPublicSearchUsptoppubsDetailResponse: ... + @overload + def operation( + self, + operation_id: Literal['usptoppubs-search'], + params: UsptoPatentPublicSearchUsptoppubsSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> UsptoPatentPublicSearchUsptoppubsSearchResponse: ... + @overload def operation( self, operation_id: Literal['vinted-brand'], @@ -59804,6 +61417,42 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AutotraderVehicleResponse: ... @overload + def request( + self, + operation_id: Literal['bestbuy-brands'], + params: BestBuyBestbuyBrandsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyBrandsResponse: ... + @overload + def request( + self, + operation_id: Literal['bestbuy-categories'], + params: BestBuyBestbuyCategoriesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategoriesResponse: ... + @overload + def request( + self, + operation_id: Literal['bestbuy-categories-trending'], + params: BestBuyBestbuyCategoriesTrendingParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategoriesTrendingResponse: ... + @overload def request( self, operation_id: Literal['bestbuy-category'], @@ -59816,6 +61465,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> BestBuyBestbuyCategoryResponse: ... @overload + def request( + self, + operation_id: Literal['bestbuy-category-subcategories'], + params: BestBuyBestbuyCategorySubcategoriesParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyCategorySubcategoriesResponse: ... + @overload def request( self, operation_id: Literal['bestbuy-product'], @@ -59828,6 +61489,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> BestBuyBestbuyProductResponse: ... @overload + def request( + self, + operation_id: Literal['bestbuy-product-questions'], + params: BestBuyBestbuyProductQuestionsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductQuestionsResponse: ... + @overload + def request( + self, + operation_id: Literal['bestbuy-product-related'], + params: BestBuyBestbuyProductRelatedParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyProductRelatedResponse: ... + @overload def request( self, operation_id: Literal['bestbuy-product-reviews'], @@ -59840,6 +61525,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> BestBuyBestbuyProductReviewsResponse: ... @overload + def request( + self, + operation_id: Literal['bestbuy-search'], + params: BestBuyBestbuySearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuySearchResponse: ... + @overload + def request( + self, + operation_id: Literal['bestbuy-stores'], + params: BestBuyBestbuyStoresParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> BestBuyBestbuyStoresResponse: ... + @overload def request( self, operation_id: Literal['billing-me'], @@ -62468,6 +64177,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DatasetsXUsersSearchResponse: ... @overload + def request( + self, + operation_id: Literal['depop-brands'], + params: DepopBrandsParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopBrandsResponse: ... + @overload def request( self, operation_id: Literal['depop-categories'], @@ -62516,6 +64237,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DepopSearchResponse: ... @overload + def request( + self, + operation_id: Literal['depop-search-sellers'], + params: DepopSearchSellersParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSearchSellersResponse: ... + @overload + def request( + self, + operation_id: Literal['depop-search-facets'], + params: DepopSearchFacetsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSearchFacetsResponse: ... + @overload def request( self, operation_id: Literal['depop-shop'], @@ -62528,6 +64273,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> DepopShopResponse: ... @overload + def request( + self, + operation_id: Literal['depop-sizes'], + params: DepopSizesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSizesResponse: ... + @overload + def request( + self, + operation_id: Literal['depop-suggest'], + params: DepopSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DepopSuggestResponse: ... + @overload def request( self, operation_id: Literal['antibot-check'], @@ -62771,50 +64540,146 @@ class CrawloraClient: def request( self, operation_id: Literal['draftkings-event'], - params: DraftKingsDraftkingsEventParams, + params: DraftKingsSportsbookDraftkingsEventParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsEventResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-event-context'], + params: DraftKingsSportsbookDraftkingsEventContextParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsEventResponse: ... + ) -> DraftKingsSportsbookDraftkingsEventContextResponse: ... @overload def request( self, operation_id: Literal['draftkings-event-markets'], - params: DraftKingsDraftkingsEventMarketsParams, + params: DraftKingsSportsbookDraftkingsEventMarketsParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsEventMarketsResponse: ... + ) -> DraftKingsSportsbookDraftkingsEventMarketsResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-featured-leagues'], + params: DraftKingsSportsbookDraftkingsFeaturedLeaguesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsFeaturedLeaguesResponse: ... @overload def request( self, operation_id: Literal['draftkings-futures'], - params: DraftKingsDraftkingsFuturesParams, + params: DraftKingsSportsbookDraftkingsFuturesParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsFuturesResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-league-events'], + params: DraftKingsSportsbookDraftkingsLeagueEventsParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsFuturesResponse: ... + ) -> DraftKingsSportsbookDraftkingsLeagueEventsResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-leagues'], + params: DraftKingsSportsbookDraftkingsLeaguesParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsLeaguesResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-live'], + params: DraftKingsSportsbookDraftkingsLiveParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsLiveResponse: ... @overload def request( self, operation_id: Literal['draftkings-odds'], - params: DraftKingsDraftkingsOddsParams, + params: DraftKingsSportsbookDraftkingsOddsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsOddsResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-quick-links'], + params: DraftKingsSportsbookDraftkingsQuickLinksParams = ..., + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsQuickLinksResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-team'], + params: DraftKingsSportsbookDraftkingsTeamParams, *, response_type: ResponseType = ..., timeout: float | None = ..., headers: Mapping[str, str] | None = ..., retries: int | None = ..., retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., - ) -> DraftKingsDraftkingsOddsResponse: ... + ) -> DraftKingsSportsbookDraftkingsTeamResponse: ... + @overload + def request( + self, + operation_id: Literal['draftkings-teams'], + params: DraftKingsSportsbookDraftkingsTeamsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> DraftKingsSportsbookDraftkingsTeamsResponse: ... @overload def request( self, @@ -64208,6 +66073,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GoogleVideosResponse: ... @overload + def request( + self, + operation_id: Literal['googlepatents-classification'], + params: GooglePatentsGooglepatentsClassificationParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsClassificationResponse: ... + @overload def request( self, operation_id: Literal['googlepatents-coverage'], @@ -64232,6 +66109,18 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> GooglePatentsGooglepatentsDetailResponse: ... @overload + def request( + self, + operation_id: Literal['googlepatents-recent'], + params: GooglePatentsGooglepatentsRecentParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> GooglePatentsGooglepatentsRecentResponse: ... + @overload def request( self, operation_id: Literal['googlepatents-search'], @@ -68624,6 +70513,90 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> SecEdgarSecInstitutionalHoldingsResponse: ... @overload + def request( + self, + operation_id: Literal['sephora-category'], + params: SephoraCategoryParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraCategoryResponse: ... + @overload + def request( + self, + operation_id: Literal['sephora-product'], + params: SephoraProductParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraProductResponse: ... + @overload + def request( + self, + operation_id: Literal['sephora-product-questions'], + params: SephoraProductQuestionsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraProductQuestionsResponse: ... + @overload + def request( + self, + operation_id: Literal['sephora-product-reviews'], + params: SephoraProductReviewsParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraProductReviewsResponse: ... + @overload + def request( + self, + operation_id: Literal['sephora-search'], + params: SephoraSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraSearchResponse: ... + @overload + def request( + self, + operation_id: Literal['sephora-stores'], + params: SephoraStoresParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraStoresResponse: ... + @overload + def request( + self, + operation_id: Literal['sephora-suggest'], + params: SephoraSuggestParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> SephoraSuggestResponse: ... + @overload def request( self, operation_id: Literal['shop-app-analysis'], @@ -71408,6 +73381,30 @@ class CrawloraClient: retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., ) -> AccountDeletionRequestResponse: ... @overload + def request( + self, + operation_id: Literal['usptoppubs-detail'], + params: UsptoPatentPublicSearchUsptoppubsDetailParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> UsptoPatentPublicSearchUsptoppubsDetailResponse: ... + @overload + def request( + self, + operation_id: Literal['usptoppubs-search'], + params: UsptoPatentPublicSearchUsptoppubsSearchParams, + *, + response_type: ResponseType = ..., + timeout: float | None = ..., + headers: Mapping[str, str] | None = ..., + retries: int | None = ..., + retry_predicate: Callable[[int, BaseException | None], bool] | None = ..., + ) -> UsptoPatentPublicSearchUsptoppubsSearchResponse: ... + @overload def request( self, operation_id: Literal['vinted-brand'], diff --git a/crawlora/operations.py b/crawlora/operations.py index 1f00ee7..a87476e 100644 --- a/crawlora/operations.py +++ b/crawlora/operations.py @@ -1048,17 +1048,66 @@ 'produces': ['application/json'], 'queryParams': [], 'security': ['ApiKeyAuth']}, + 'bestbuy-brands': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-brands', + 'method': 'GET', + 'path': '/bestbuy/brands', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, + 'bestbuy-categories': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-categories', + 'method': 'GET', + 'path': '/bestbuy/categories', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, + 'bestbuy-categories-trending': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-categories-trending', + 'method': 'GET', + 'path': '/bestbuy/categories/trending', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, 'bestbuy-category': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], 'formParams': [], 'id': 'bestbuy-category', 'method': 'GET', + 'paginatable': True, 'path': '/bestbuy/category', 'pathParams': [], 'produces': ['application/json'], - 'queryParams': [{'in': 'query', 'name': 'category_id', 'required': True, 'type': 'string'}], + 'queryParams': [{'in': 'query', 'name': 'category_id', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], 'security': ['ApiKeyAuth']}, + 'bestbuy-category-subcategories': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-category-subcategories', + 'method': 'GET', + 'path': '/bestbuy/category/subcategories', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', + 'name': 'category_id', + 'required': True, + 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'bestbuy-product': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -1070,6 +1119,28 @@ 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'sku', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'bestbuy-product-questions': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-product-questions', + 'method': 'GET', + 'path': '/bestbuy/product/questions', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'sku', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'bestbuy-product-related': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-product-related', + 'method': 'GET', + 'path': '/bestbuy/product/related', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'sku', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'bestbuy-product-reviews': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -1081,6 +1152,31 @@ 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'sku', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'bestbuy-search': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-search', + 'method': 'GET', + 'paginatable': True, + 'path': '/bestbuy/search', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'bestbuy-stores': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'bestbuy-stores', + 'method': 'GET', + 'path': '/bestbuy/stores', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'state', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'city', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'billing-me': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -7281,6 +7377,17 @@ {'in': 'query', 'name': 'page', 'type': 'integer'}, {'in': 'query', 'name': 'page_size', 'type': 'integer'}], 'security': ['ApiKeyAuth']}, + 'depop-brands': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'depop-brands', + 'method': 'GET', + 'path': '/depop/brands', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, 'depop-categories': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -7336,8 +7443,31 @@ {'in': 'query', 'name': 'gender', 'type': 'string'}, {'in': 'query', 'name': 'is_kids', 'type': 'boolean'}, {'in': 'query', 'name': 'brand_ids', 'type': 'string'}, + {'in': 'query', 'name': 'sizes', 'type': 'string'}, {'in': 'query', 'name': 'after', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'depop-search-facets': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'depop-search-facets', + 'method': 'GET', + 'path': '/depop/search/facets', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'depop-search-sellers': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'depop-search-sellers', + 'method': 'GET', + 'path': '/depop/search-sellers', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'depop-shop': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -7355,8 +7485,31 @@ {'in': 'query', 'name': 'sort', 'type': 'string'}, {'in': 'query', 'name': 'category', 'type': 'string'}, {'in': 'query', 'name': 'subcategory', 'type': 'string'}, - {'in': 'query', 'name': 'gender', 'type': 'string'}], + {'in': 'query', 'name': 'gender', 'type': 'string'}, + {'in': 'query', 'name': 'sizes', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'depop-sizes': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'depop-sizes', + 'method': 'GET', + 'path': '/depop/sizes', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, + 'depop-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'depop-suggest', + 'method': 'GET', + 'path': '/depop/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'discogs-artist': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -7615,18 +7768,29 @@ 'formParams': [], 'id': 'draftkings-event', 'method': 'GET', - 'path': '/draftkings/event', + 'path': '/draftkings/sportsbook/event', 'pathParams': [], 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'event_id', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'draftkings-event-context': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': [], + 'formParams': [], + 'id': 'draftkings-event-context', + 'method': 'GET', + 'path': '/draftkings/sportsbook/event-context', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'event_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'draftkings-event-markets': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], 'formParams': [], 'id': 'draftkings-event-markets', 'method': 'GET', - 'path': '/draftkings/event-markets', + 'path': '/draftkings/sportsbook/event-markets', 'pathParams': [], 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'event_id', 'required': True, 'type': 'string'}, @@ -7635,29 +7799,116 @@ 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'draftkings-featured-leagues': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-featured-leagues', + 'method': 'GET', + 'path': '/draftkings/sportsbook/featured-leagues', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, 'draftkings-futures': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], 'formParams': [], 'id': 'draftkings-futures', 'method': 'GET', - 'path': '/draftkings/futures', + 'path': '/draftkings/sportsbook/futures', 'pathParams': [], 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'league_id', 'required': True, 'type': 'string'}, {'in': 'query', 'name': 'subcategory_id', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'draftkings-league-events': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-league-events', + 'method': 'GET', + 'path': '/draftkings/sportsbook/league-events', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'league_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'draftkings-leagues': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-leagues', + 'method': 'GET', + 'path': '/draftkings/sportsbook/leagues', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, + 'draftkings-live': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-live', + 'method': 'GET', + 'path': '/draftkings/sportsbook/live', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, 'draftkings-odds': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], 'formParams': [], 'id': 'draftkings-odds', 'method': 'GET', - 'path': '/draftkings/odds', + 'path': '/draftkings/sportsbook/odds', 'pathParams': [], 'produces': ['application/json'], 'queryParams': [{'in': 'query', 'name': 'league_id', 'required': True, 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'draftkings-quick-links': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-quick-links', + 'method': 'GET', + 'path': '/draftkings/sportsbook/quick-links', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [], + 'security': ['ApiKeyAuth']}, + 'draftkings-team': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-team', + 'method': 'GET', + 'path': '/draftkings/sportsbook/team', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'team_id', 'required': True, 'type': 'string'}, + {'enum': ['football', 'hockey', 'basketball', 'baseball'], + 'in': 'query', + 'name': 'sport', + 'required': True, + 'type': 'string'}, + {'in': 'query', 'name': 'slug', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'draftkings-teams': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'draftkings-teams', + 'method': 'GET', + 'path': '/draftkings/sportsbook/teams', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'enum': ['nfl', 'nhl', 'nba', 'cbb', 'mlb', 'cfb'], + 'in': 'query', + 'name': 'league', + 'required': True, + 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'duckduckgo-image': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -9667,6 +9918,17 @@ {'in': 'query', 'name': 'country', 'type': 'string'}, {'in': 'query', 'name': 'lang', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'googlepatents-classification': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'googlepatents-classification', + 'method': 'GET', + 'path': '/googlepatents/classification', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'code', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'googlepatents-coverage': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -9690,6 +9952,17 @@ 'queryParams': [{'in': 'query', 'name': 'number', 'required': True, 'type': 'string'}, {'in': 'query', 'name': 'lang', 'type': 'string'}], 'security': ['ApiKeyAuth']}, + 'googlepatents-recent': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'googlepatents-recent', + 'method': 'GET', + 'path': '/googlepatents/recent', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'week', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'googlepatents-search': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -14935,6 +15208,128 @@ 'queryParams': [{'in': 'query', 'name': 'cik', 'required': True, 'type': 'string'}, {'in': 'query', 'name': 'limit', 'type': 'integer'}], 'security': ['ApiKeyAuth']}, + 'sephora-category': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-category', + 'method': 'GET', + 'paginatable': True, + 'path': '/sephora/category', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'slug', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}, + {'enum': ['featured', + 'top_rated', + 'new', + 'best_selling', + 'price_low_to_high', + 'price_high_to_low'], + 'in': 'query', + 'name': 'sort_by', + 'type': 'string'}, + {'in': 'query', 'name': 'price_min', 'type': 'integer'}, + {'in': 'query', 'name': 'price_max', 'type': 'integer'}, + {'collectionFormat': 'csv', 'in': 'query', 'name': 'brand', 'type': 'array'}, + {'in': 'query', 'name': 'rating_min', 'type': 'integer'}, + {'in': 'query', 'name': 'is_new', 'type': 'boolean'}, + {'collectionFormat': 'csv', 'in': 'query', 'name': 'filter', 'type': 'array'}], + 'security': ['ApiKeyAuth']}, + 'sephora-product': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-product', + 'method': 'GET', + 'path': '/sephora/product', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'product_id', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'sephora-product-questions': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-product-questions', + 'method': 'GET', + 'paginatable': True, + 'path': '/sephora/product/questions', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', + 'name': 'product_id', + 'required': True, + 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'sephora-product-reviews': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-product-reviews', + 'method': 'GET', + 'paginatable': True, + 'path': '/sephora/product/reviews', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'product_id', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'sephora-search': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-search', + 'method': 'GET', + 'paginatable': True, + 'path': '/sephora/search', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}, + {'in': 'query', 'name': 'page_size', 'type': 'integer'}, + {'enum': ['featured', + 'top_rated', + 'new', + 'best_selling', + 'price_low_to_high', + 'price_high_to_low'], + 'in': 'query', + 'name': 'sort_by', + 'type': 'string'}, + {'in': 'query', 'name': 'price_min', 'type': 'integer'}, + {'in': 'query', 'name': 'price_max', 'type': 'integer'}, + {'collectionFormat': 'csv', 'in': 'query', 'name': 'brand', 'type': 'array'}, + {'in': 'query', 'name': 'rating_min', 'type': 'integer'}, + {'in': 'query', 'name': 'is_new', 'type': 'boolean'}, + {'collectionFormat': 'csv', 'in': 'query', 'name': 'filter', 'type': 'array'}], + 'security': ['ApiKeyAuth']}, + 'sephora-stores': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-stores', + 'method': 'GET', + 'path': '/sephora/stores', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'latitude', 'required': True, 'type': 'number'}, + {'in': 'query', 'name': 'longitude', 'required': True, 'type': 'number'}, + {'in': 'query', 'name': 'radius', 'type': 'integer'}, + {'in': 'query', 'name': 'limit', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, + 'sephora-suggest': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'sephora-suggest', + 'method': 'GET', + 'path': '/sephora/suggest', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'query', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, 'shop-app-analysis': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -18346,6 +18741,33 @@ 'produces': ['application/json'], 'queryParams': [], 'security': ['JWTAuth']}, + 'usptoppubs-detail': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'usptoppubs-detail', + 'method': 'GET', + 'path': '/usptoppubs/detail', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'guid', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'source', 'required': True, 'type': 'string'}], + 'security': ['ApiKeyAuth']}, + 'usptoppubs-search': {'bodyParam': None, + 'bodyRequired': False, + 'consumes': ['application/json'], + 'formParams': [], + 'id': 'usptoppubs-search', + 'method': 'GET', + 'paginatable': True, + 'path': '/usptoppubs/search', + 'pathParams': [], + 'produces': ['application/json'], + 'queryParams': [{'in': 'query', 'name': 'q', 'required': True, 'type': 'string'}, + {'in': 'query', 'name': 'databases', 'type': 'string'}, + {'in': 'query', 'name': 'num', 'type': 'integer'}, + {'in': 'query', 'name': 'page', 'type': 'integer'}], + 'security': ['ApiKeyAuth']}, 'vinted-brand': {'bodyParam': None, 'bodyRequired': False, 'consumes': ['application/json'], @@ -20777,9 +21199,17 @@ 'show_episodes': 'apple-podcasts-show-episodes', 'show_related': 'apple-podcasts-show-related'}, 'autotrader': {'dealer': 'autotrader-dealer', 'search': 'autotrader-search', 'vehicle': 'autotrader-vehicle'}, - 'best_buy': {'bestbuy_category': 'bestbuy-category', + 'best_buy': {'bestbuy_brands': 'bestbuy-brands', + 'bestbuy_categories': 'bestbuy-categories', + 'bestbuy_categories_trending': 'bestbuy-categories-trending', + 'bestbuy_category': 'bestbuy-category', + 'bestbuy_category_subcategories': 'bestbuy-category-subcategories', 'bestbuy_product': 'bestbuy-product', - 'bestbuy_product_reviews': 'bestbuy-product-reviews'}, + 'bestbuy_product_questions': 'bestbuy-product-questions', + 'bestbuy_product_related': 'bestbuy-product-related', + 'bestbuy_product_reviews': 'bestbuy-product-reviews', + 'bestbuy_search': 'bestbuy-search', + 'bestbuy_stores': 'bestbuy-stores'}, 'billing': {'me': 'billing-me', 'me_checkout': 'billing-me-checkout', 'me_events': 'billing-me-events', @@ -20994,11 +21424,16 @@ 'x_users_facets': 'datasets-x-users-facets', 'x_users_item': 'datasets-x-users-item', 'x_users_search': 'datasets-x-users-search'}, - 'depop': {'categories': 'depop-categories', + 'depop': {'brands': 'depop-brands', + 'categories': 'depop-categories', 'item': 'depop-item', 'item_similar': 'depop-item-similar', 'search': 'depop-search', - 'shop': 'depop-shop'}, + 'search_facets': 'depop-search-facets', + 'search_sellers': 'depop-search-sellers', + 'shop': 'depop-shop', + 'sizes': 'depop-sizes', + 'suggest': 'depop-suggest'}, 'discogs': {'artist': 'discogs-artist', 'artist_releases': 'discogs-artist-releases', 'label': 'discogs-label', @@ -21018,10 +21453,18 @@ 'doordash_store_item': 'doordash-store-item', 'doordash_store_menu': 'doordash-store-menu', 'doordash_store_reviews': 'doordash-store-reviews'}, - 'draft_kings': {'draftkings_event': 'draftkings-event', - 'draftkings_event_markets': 'draftkings-event-markets', - 'draftkings_futures': 'draftkings-futures', - 'draftkings_odds': 'draftkings-odds'}, + 'draft_kings_sportsbook': {'draftkings_event': 'draftkings-event', + 'draftkings_event_context': 'draftkings-event-context', + 'draftkings_event_markets': 'draftkings-event-markets', + 'draftkings_featured_leagues': 'draftkings-featured-leagues', + 'draftkings_futures': 'draftkings-futures', + 'draftkings_league_events': 'draftkings-league-events', + 'draftkings_leagues': 'draftkings-leagues', + 'draftkings_live': 'draftkings-live', + 'draftkings_odds': 'draftkings-odds', + 'draftkings_quick_links': 'draftkings-quick-links', + 'draftkings_team': 'draftkings-team', + 'draftkings_teams': 'draftkings-teams'}, 'duck_duck_go_search': {'duckduckgo_image': 'duckduckgo-image', 'duckduckgo_news': 'duckduckgo-news', 'duckduckgo_search': 'duckduckgo-search', @@ -21131,8 +21574,10 @@ 'trends_trending_detail': 'google-trends-trending-detail', 'videos': 'google-videos'}, 'google_jobs': {'job': 'google-jobs-job', 'search': 'google-jobs-search'}, - 'google_patents': {'googlepatents_coverage': 'googlepatents-coverage', + 'google_patents': {'googlepatents_classification': 'googlepatents-classification', + 'googlepatents_coverage': 'googlepatents-coverage', 'googlepatents_detail': 'googlepatents-detail', + 'googlepatents_recent': 'googlepatents-recent', 'googlepatents_search': 'googlepatents-search', 'googlepatents_suggest': 'googlepatents-suggest'}, 'google_play': {'app': 'googleplay-app', @@ -21487,6 +21932,13 @@ 'sec_full_text_search': 'sec-full-text-search', 'sec_insider': 'sec-insider', 'sec_institutional_holdings': 'sec-institutional-holdings'}, + 'sephora': {'category': 'sephora-category', + 'product': 'sephora-product', + 'product_questions': 'sephora-product-questions', + 'product_reviews': 'sephora-product-reviews', + 'search': 'sephora-search', + 'stores': 'sephora-stores', + 'suggest': 'sephora-suggest'}, 'shop_app': {'analysis': 'shop-app-analysis', 'categories': 'shop-app-categories', 'collection_products': 'shop-app-collection-products', @@ -21711,6 +22163,7 @@ 'me_api_keys': 'user-me-api-keys', 'me_api_keys_reveal': 'user-me-api-keys-reveal', 'me_api_keys_rotate': 'user-me-api-keys-rotate'}, + 'uspto_patent_public_search': {'usptoppubs_detail': 'usptoppubs-detail', 'usptoppubs_search': 'usptoppubs-search'}, 'vinted': {'brand': 'vinted-brand', 'brands': 'vinted-brands', 'catalog': 'vinted-catalog', @@ -21855,7 +22308,7 @@ 'suggest': 'zara-suggest'}, 'zillow': {'autocomplete': 'zillow-autocomplete', 'property': 'zillow-property', 'search': 'zillow-search'}} -OPERATION_COUNT = 1190 +OPERATION_COUNT = 1222 class OperationId: ACCOUNT_DELETION_CANCEL = 'account-deletion-cancel' @@ -21927,9 +22380,17 @@ class OperationId: AUTOTRADER_DEALER = 'autotrader-dealer' AUTOTRADER_SEARCH = 'autotrader-search' AUTOTRADER_VEHICLE = 'autotrader-vehicle' + BEST_BUY_BESTBUY_BRANDS = 'bestbuy-brands' + BEST_BUY_BESTBUY_CATEGORIES = 'bestbuy-categories' + BEST_BUY_BESTBUY_CATEGORIES_TRENDING = 'bestbuy-categories-trending' BEST_BUY_BESTBUY_CATEGORY = 'bestbuy-category' + BEST_BUY_BESTBUY_CATEGORY_SUBCATEGORIES = 'bestbuy-category-subcategories' BEST_BUY_BESTBUY_PRODUCT = 'bestbuy-product' + BEST_BUY_BESTBUY_PRODUCT_QUESTIONS = 'bestbuy-product-questions' + BEST_BUY_BESTBUY_PRODUCT_RELATED = 'bestbuy-product-related' BEST_BUY_BESTBUY_PRODUCT_REVIEWS = 'bestbuy-product-reviews' + BEST_BUY_BESTBUY_SEARCH = 'bestbuy-search' + BEST_BUY_BESTBUY_STORES = 'bestbuy-stores' BILLING_ME = 'billing-me' BILLING_ME_CHECKOUT = 'billing-me-checkout' BILLING_ME_EVENTS = 'billing-me-events' @@ -22148,11 +22609,16 @@ class OperationId: DATASETS_XUSERS_FACETS = 'datasets-x-users-facets' DATASETS_XUSERS_ITEM = 'datasets-x-users-item' DATASETS_XUSERS_SEARCH = 'datasets-x-users-search' + DEPOP_BRANDS = 'depop-brands' DEPOP_CATEGORIES = 'depop-categories' DEPOP_ITEM = 'depop-item' DEPOP_ITEM_SIMILAR = 'depop-item-similar' DEPOP_SEARCH = 'depop-search' + DEPOP_SEARCH_FACETS = 'depop-search-facets' + DEPOP_SEARCH_SELLERS = 'depop-search-sellers' DEPOP_SHOP = 'depop-shop' + DEPOP_SIZES = 'depop-sizes' + DEPOP_SUGGEST = 'depop-suggest' DISCOGS_ARTIST = 'discogs-artist' DISCOGS_ARTIST_RELEASES = 'discogs-artist-releases' DISCOGS_LABEL = 'discogs-label' @@ -22172,10 +22638,18 @@ class OperationId: DOOR_DASH_DOORDASH_STORE_ITEM = 'doordash-store-item' DOOR_DASH_DOORDASH_STORE_MENU = 'doordash-store-menu' DOOR_DASH_DOORDASH_STORE_REVIEWS = 'doordash-store-reviews' - DRAFT_KINGS_DRAFTKINGS_EVENT = 'draftkings-event' - DRAFT_KINGS_DRAFTKINGS_EVENT_MARKETS = 'draftkings-event-markets' - DRAFT_KINGS_DRAFTKINGS_FUTURES = 'draftkings-futures' - DRAFT_KINGS_DRAFTKINGS_ODDS = 'draftkings-odds' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_EVENT = 'draftkings-event' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_EVENT_CONTEXT = 'draftkings-event-context' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_EVENT_MARKETS = 'draftkings-event-markets' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_FEATURED_LEAGUES = 'draftkings-featured-leagues' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_FUTURES = 'draftkings-futures' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_LEAGUE_EVENTS = 'draftkings-league-events' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_LEAGUES = 'draftkings-leagues' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_LIVE = 'draftkings-live' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_ODDS = 'draftkings-odds' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_QUICK_LINKS = 'draftkings-quick-links' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_TEAM = 'draftkings-team' + DRAFT_KINGS_SPORTSBOOK_DRAFTKINGS_TEAMS = 'draftkings-teams' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_IMAGE = 'duckduckgo-image' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_NEWS = 'duckduckgo-news' DUCK_DUCK_GO_SEARCH_DUCKDUCKGO_SEARCH = 'duckduckgo-search' @@ -22277,8 +22751,10 @@ class OperationId: GOOGLE_MAP_PLACE_REVIEWS = 'google-map-place-reviews' GOOGLE_MAP_SEARCH = 'google-map-search' GOOGLE_NEWS = 'google-news' + GOOGLE_PATENTS_GOOGLEPATENTS_CLASSIFICATION = 'googlepatents-classification' GOOGLE_PATENTS_GOOGLEPATENTS_COVERAGE = 'googlepatents-coverage' GOOGLE_PATENTS_GOOGLEPATENTS_DETAIL = 'googlepatents-detail' + GOOGLE_PATENTS_GOOGLEPATENTS_RECENT = 'googlepatents-recent' GOOGLE_PATENTS_GOOGLEPATENTS_SEARCH = 'googlepatents-search' GOOGLE_PATENTS_GOOGLEPATENTS_SUGGEST = 'googlepatents-suggest' GOOGLE_PLAY_APP = 'googleplay-app' @@ -22659,6 +23135,13 @@ class OperationId: SEC_EDGAR_SEC_FULL_TEXT_SEARCH = 'sec-full-text-search' SEC_EDGAR_SEC_INSIDER = 'sec-insider' SEC_EDGAR_SEC_INSTITUTIONAL_HOLDINGS = 'sec-institutional-holdings' + SEPHORA_CATEGORY = 'sephora-category' + SEPHORA_PRODUCT = 'sephora-product' + SEPHORA_PRODUCT_QUESTIONS = 'sephora-product-questions' + SEPHORA_PRODUCT_REVIEWS = 'sephora-product-reviews' + SEPHORA_SEARCH = 'sephora-search' + SEPHORA_STORES = 'sephora-stores' + SEPHORA_SUGGEST = 'sephora-suggest' SHOP_APP_ANALYSIS = 'shop-app-analysis' SHOP_APP_CATEGORIES = 'shop-app-categories' SHOP_APP_COLLECTION_PRODUCTS = 'shop-app-collection-products' @@ -22888,6 +23371,8 @@ class OperationId: USER_ME_API_KEYS = 'user-me-api-keys' USER_ME_API_KEYS_REVEAL = 'user-me-api-keys-reveal' USER_ME_API_KEYS_ROTATE = 'user-me-api-keys-rotate' + USPTO_PATENT_PUBLIC_SEARCH_USPTOPPUBS_DETAIL = 'usptoppubs-detail' + USPTO_PATENT_PUBLIC_SEARCH_USPTOPPUBS_SEARCH = 'usptoppubs-search' VINTED_BRAND = 'vinted-brand' VINTED_BRANDS = 'vinted-brands' VINTED_CATALOG = 'vinted-catalog' diff --git a/docs/operations.md b/docs/operations.md index 6904c75..5fed968 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: `1190` +Total operations: `1222` | Group | SDK method | Operation ID | HTTP | Params | Auth | Response | Notes | | --- | --- | --- | --- | --- | --- | --- | --- | @@ -72,9 +72,17 @@ Total operations: `1190` | autotrader | `autotrader.dealer` | `autotrader-dealer` | `GET /autotrader/dealer/{id}` | `id` (path str required) | `ApiKeyAuth` | `AutotraderDealerResponse` | | | autotrader | `autotrader.search` | `autotrader-search` | `GET /autotrader/search` | `query` (query str)
`zip` (query str)
`radius` (query int)
`make` (query str)
`model` (query str)
`trim` (query str)
`condition` (query Literal['new', 'used', 'certified', '3p_cert'])
`body_style` (query Literal['convertible', 'coupe', 'hatchback', 'sedan', 'suv', 'truck', 'van', 'wagon'])
`seller_type` (query Literal['dealer', 'private'])
`min_year` (query int)
`max_year` (query int)
`min_price` (query int)
`max_price` (query int)
`max_mileage` (query int)
`page` (query int) | `ApiKeyAuth` | `AutotraderSearchResponse` | | | autotrader | `autotrader.vehicle` | `autotrader-vehicle` | `GET /autotrader/vehicle/{id}` | `id` (path str required) | `ApiKeyAuth` | `AutotraderVehicleResponse` | | -| best_buy | `best_buy.bestbuy_category` | `bestbuy-category` | `GET /bestbuy/category` | `category_id` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyCategoryResponse` | | +| best_buy | `best_buy.bestbuy_brands` | `bestbuy-brands` | `GET /bestbuy/brands` | none | `ApiKeyAuth` | `BestBuyBestbuyBrandsResponse` | | +| best_buy | `best_buy.bestbuy_categories` | `bestbuy-categories` | `GET /bestbuy/categories` | none | `ApiKeyAuth` | `BestBuyBestbuyCategoriesResponse` | | +| best_buy | `best_buy.bestbuy_categories_trending` | `bestbuy-categories-trending` | `GET /bestbuy/categories/trending` | none | `ApiKeyAuth` | `BestBuyBestbuyCategoriesTrendingResponse` | | +| best_buy | `best_buy.bestbuy_category` | `bestbuy-category` | `GET /bestbuy/category` | `category_id` (query str required)
`page` (query int) | `ApiKeyAuth` | `BestBuyBestbuyCategoryResponse` | | +| best_buy | `best_buy.bestbuy_category_subcategories` | `bestbuy-category-subcategories` | `GET /bestbuy/category/subcategories` | `category_id` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyCategorySubcategoriesResponse` | | | best_buy | `best_buy.bestbuy_product` | `bestbuy-product` | `GET /bestbuy/product` | `sku` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyProductResponse` | | +| best_buy | `best_buy.bestbuy_product_questions` | `bestbuy-product-questions` | `GET /bestbuy/product/questions` | `sku` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyProductQuestionsResponse` | | +| best_buy | `best_buy.bestbuy_product_related` | `bestbuy-product-related` | `GET /bestbuy/product/related` | `sku` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyProductRelatedResponse` | | | best_buy | `best_buy.bestbuy_product_reviews` | `bestbuy-product-reviews` | `GET /bestbuy/product/reviews` | `sku` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyProductReviewsResponse` | | +| best_buy | `best_buy.bestbuy_search` | `bestbuy-search` | `GET /bestbuy/search` | `q` (query str required)
`page` (query int) | `ApiKeyAuth` | `BestBuyBestbuySearchResponse` | | +| best_buy | `best_buy.bestbuy_stores` | `bestbuy-stores` | `GET /bestbuy/stores` | `state` (query str required)
`city` (query str required) | `ApiKeyAuth` | `BestBuyBestbuyStoresResponse` | | | billing | `billing.me` | `billing-me` | `GET /billing/me` | none | `ApiKeyAuth` | `BillingMeResponse` | | | billing | `billing.me_checkout` | `billing-me-checkout` | `POST /billing/me/checkout` | `request` (body str required) | `ApiKeyAuth` | `BillingMeCheckoutResponse` | | | billing | `billing.me_events` | `billing-me-events` | `GET /billing/me/events` | `limit` (query int)
`from` (query str)
`to` (query str)
`endpoint` (query str)
`request_id` (query str)
`event_status` (query Literal['reserved', 'charged', 'non_billable', 'failed'])
`billable` (query bool) | `ApiKeyAuth` | `BillingMeEventsResponse` | | @@ -298,11 +306,16 @@ Total operations: `1190` | datasets | `datasets.x_users_facets` | `datasets-x-users-facets` | `GET /datasets/x-users/facets` | `facet` (query Literal['is_blue_verified', 'has_bio', 'has_external_url', 'source_tier'] required)
`q` (query str)
`username` (query str)
`source_tier` (query str)
`is_blue_verified` (query bool)
`has_bio` (query bool)
`has_external_url` (query bool)
`min_followers` (query int)
`max_followers` (query int)
`min_ratio` (query float)
`max_ratio` (query float)
`created_after` (query str)
`created_before` (query str)
`crawled_after` (query str)
`crawled_before` (query str)
`sort` (query Literal['relevance', 'followers_desc', 'followers_asc', 'crawled_at_desc', 'crawled_at_asc', 'created_at_desc', 'created_at_asc']) | `ApiKeyAuth` | `DatasetsXUsersFacetsResponse` | | | datasets | `datasets.x_users_item` | `datasets-x-users-item` | `GET /datasets/x-users/items/{username}` | `username` (path str required) | `ApiKeyAuth` | `DatasetsXUsersItemResponse` | | | datasets | `datasets.x_users_search` | `datasets-x-users-search` | `GET /datasets/x-users/search` | `q` (query str)
`username` (query str)
`source_tier` (query str)
`is_blue_verified` (query bool)
`has_bio` (query bool)
`has_external_url` (query bool)
`min_followers` (query int)
`max_followers` (query int)
`min_ratio` (query float)
`max_ratio` (query float)
`created_after` (query str)
`created_before` (query str)
`crawled_after` (query str)
`crawled_before` (query str)
`sort` (query Literal['relevance', 'followers_desc', 'followers_asc', 'crawled_at_desc', 'crawled_at_asc', 'created_at_desc', 'created_at_asc'])
`page` (query int)
`page_size` (query int) | `ApiKeyAuth` | `DatasetsXUsersSearchResponse` | | +| depop | `depop.brands` | `depop-brands` | `GET /depop/brands` | none | `ApiKeyAuth` | `DepopBrandsResponse` | | | depop | `depop.categories` | `depop-categories` | `GET /depop/categories` | none | `ApiKeyAuth` | `DepopCategoriesResponse` | | | depop | `depop.item` | `depop-item` | `GET /depop/item/{slug}` | `slug` (path str required) | `ApiKeyAuth` | `DepopItemResponse` | | | depop | `depop.item_similar` | `depop-item-similar` | `GET /depop/item/{slug}/similar` | `slug` (path str required)
`limit` (query int)
`after` (query str) | `ApiKeyAuth` | `DepopItemSimilarResponse` | | -| depop | `depop.search` | `depop-search` | `GET /depop/search` | `query` (query str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str)
`is_kids` (query bool)
`brand_ids` (query str)
`after` (query str) | `ApiKeyAuth` | `DepopSearchResponse` | | -| depop | `depop.shop` | `depop-shop` | `GET /depop/shop/{username}` | `username` (path str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str) | `ApiKeyAuth` | `DepopShopResponse` | | +| depop | `depop.search` | `depop-search` | `GET /depop/search` | `query` (query str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str)
`is_kids` (query bool)
`brand_ids` (query str)
`sizes` (query str)
`after` (query str) | `ApiKeyAuth` | `DepopSearchResponse` | | +| depop | `depop.search_sellers` | `depop-search-sellers` | `GET /depop/search-sellers` | `query` (query str required) | `ApiKeyAuth` | `DepopSearchSellersResponse` | | +| depop | `depop.search_facets` | `depop-search-facets` | `GET /depop/search/facets` | `query` (query str required) | `ApiKeyAuth` | `DepopSearchFacetsResponse` | | +| depop | `depop.shop` | `depop-shop` | `GET /depop/shop/{username}` | `username` (path str required)
`price_min` (query float)
`price_max` (query float)
`condition` (query str)
`colours` (query str)
`on_sale` (query bool)
`sort` (query str)
`category` (query str)
`subcategory` (query str)
`gender` (query str)
`sizes` (query str) | `ApiKeyAuth` | `DepopShopResponse` | | +| depop | `depop.sizes` | `depop-sizes` | `GET /depop/sizes` | none | `ApiKeyAuth` | `DepopSizesResponse` | | +| depop | `depop.suggest` | `depop-suggest` | `GET /depop/suggest` | `query` (query str required) | `ApiKeyAuth` | `DepopSuggestResponse` | | | discogs | `discogs.artist` | `discogs-artist` | `GET /discogs/artist/{id}` | `id` (path str required) | `ApiKeyAuth` | `DiscogsArtistResponse` | | | discogs | `discogs.artist_releases` | `discogs-artist-releases` | `GET /discogs/artist/{id}/releases` | `id` (path str required)
`page` (query int)
`per_page` (query int) | `ApiKeyAuth` | `DiscogsArtistReleasesResponse` | | | discogs | `discogs.label` | `discogs-label` | `GET /discogs/label/{id}` | `id` (path str required) | `ApiKeyAuth` | `DiscogsLabelResponse` | | @@ -322,10 +335,18 @@ Total operations: `1190` | door_dash | `door_dash.doordash_store_item` | `doordash-store-item` | `GET /doordash/store/{store_id}/item/{item_id}` | `store_id` (path str required)
`item_id` (path str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `DoorDashDoordashStoreItemResponse` | | | door_dash | `door_dash.doordash_store_menu` | `doordash-store-menu` | `GET /doordash/store/{store_id}/menu` | `store_id` (path str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `DoorDashDoordashStoreMenuResponse` | | | door_dash | `door_dash.doordash_store_reviews` | `doordash-store-reviews` | `GET /doordash/store/{store_id}/reviews` | `store_id` (path str required)
`latitude` (query float required)
`longitude` (query float required) | `ApiKeyAuth` | `DoorDashDoordashStoreReviewsResponse` | | -| draft_kings | `draft_kings.draftkings_event` | `draftkings-event` | `GET /draftkings/event` | `event_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsEventResponse` | | -| draft_kings | `draft_kings.draftkings_event_markets` | `draftkings-event-markets` | `GET /draftkings/event-markets` | `event_id` (query str required)
`subcategory_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsEventMarketsResponse` | | -| draft_kings | `draft_kings.draftkings_futures` | `draftkings-futures` | `GET /draftkings/futures` | `league_id` (query str required)
`subcategory_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsFuturesResponse` | | -| draft_kings | `draft_kings.draftkings_odds` | `draftkings-odds` | `GET /draftkings/odds` | `league_id` (query str required) | `ApiKeyAuth` | `DraftKingsDraftkingsOddsResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_event` | `draftkings-event` | `GET /draftkings/sportsbook/event` | `event_id` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsEventResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_event_context` | `draftkings-event-context` | `GET /draftkings/sportsbook/event-context` | `event_id` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsEventContextResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_event_markets` | `draftkings-event-markets` | `GET /draftkings/sportsbook/event-markets` | `event_id` (query str required)
`subcategory_id` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsEventMarketsResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_featured_leagues` | `draftkings-featured-leagues` | `GET /draftkings/sportsbook/featured-leagues` | none | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsFeaturedLeaguesResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_futures` | `draftkings-futures` | `GET /draftkings/sportsbook/futures` | `league_id` (query str required)
`subcategory_id` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsFuturesResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_league_events` | `draftkings-league-events` | `GET /draftkings/sportsbook/league-events` | `league_id` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsLeagueEventsResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_leagues` | `draftkings-leagues` | `GET /draftkings/sportsbook/leagues` | none | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsLeaguesResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_live` | `draftkings-live` | `GET /draftkings/sportsbook/live` | none | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsLiveResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_odds` | `draftkings-odds` | `GET /draftkings/sportsbook/odds` | `league_id` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsOddsResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_quick_links` | `draftkings-quick-links` | `GET /draftkings/sportsbook/quick-links` | none | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsQuickLinksResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_team` | `draftkings-team` | `GET /draftkings/sportsbook/team` | `team_id` (query str required)
`sport` (query Literal['football', 'hockey', 'basketball', 'baseball'] required)
`slug` (query str required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsTeamResponse` | | +| draft_kings_sportsbook | `draft_kings_sportsbook.draftkings_teams` | `draftkings-teams` | `GET /draftkings/sportsbook/teams` | `league` (query Literal['nfl', 'nhl', 'nba', 'cbb', 'mlb', 'cfb'] required) | `ApiKeyAuth` | `DraftKingsSportsbookDraftkingsTeamsResponse` | | | duck_duck_go_search | `duck_duck_go_search.duckduckgo_image` | `duckduckgo-image` | `GET /duckduckgo/image` | `q` (query str required)
`page` (query int)
`region` (query str) | `ApiKeyAuth` | `DuckDuckGoSearchDuckduckgoImageResponse` | | | 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` | | @@ -441,8 +462,10 @@ Total operations: `1190` | google | `google.trends_trending` | `google-trends-trending` | `GET /google/trends/trending` | `geo` (query Literal['AF', 'AX', 'AL', 'DZ', 'AS', 'AD', 'AO', 'AI', 'AQ', 'AG', 'AR', 'AM', 'AW', 'AU', 'AT', 'AZ', 'BS', 'BH', 'BD', 'BB', 'BY', 'BE', 'BZ', 'BJ', 'BM', 'BT', 'BO', 'BA', 'BW', 'BV', 'BR', 'IO', 'VG', 'BN', 'BG', 'BF', 'BI', 'KH', 'CM', 'CA', 'CV', 'BQ', 'KY', 'CF', 'TD', 'CL', 'CN', 'CX', 'CC', 'CO', 'KM', 'CG', 'CD', 'CK', 'CR', 'CI', 'HR', 'CU', 'CW', 'CY', 'CZ', 'DK', 'DJ', 'DM', 'DO', 'EC', 'EG', 'SV', 'GQ', 'ER', 'EE', 'SZ', 'ET', 'FK', 'FO', 'FJ', 'FI', 'FR', 'GF', 'PF', 'TF', 'GA', 'GM', 'GE', 'DE', 'GH', 'GI', 'GR', 'GL', 'GD', 'GP', 'GU', 'GT', 'GG', 'GN', 'GW', 'GY', 'HT', 'HM', 'HN', 'HK', 'HU', 'IS', 'IN', 'ID', 'IR', 'IQ', 'IE', 'IM', 'IL', 'IT', 'JM', 'JP', 'JE', 'JO', 'KZ', 'KE', 'KI', 'XK', 'KW', 'KG', 'LA', 'LV', 'LB', 'LS', 'LR', 'LY', 'LI', 'LT', 'LU', 'MO', 'MG', 'MW', 'MY', 'MV', 'ML', 'MT', 'MH', 'MQ', 'MR', 'MU', 'YT', 'MX', 'FM', 'MD', 'MC', 'MN', 'ME', 'MS', 'MA', 'MZ', 'MM', 'NA', 'NR', 'NP', 'NL', 'NC', 'NZ', 'NI', 'NE', 'NG', 'NU', 'NF', 'KP', 'MK', 'MP', 'NO', 'OM', 'PK', 'PW', 'PS', 'PA', 'PG', 'PY', 'PE', 'PH', 'PN', 'PL', 'PT', 'PR', 'QA', 'RE', 'RO', 'RU', 'RW', 'WS', 'SM', 'ST', 'SA', 'SN', 'RS', 'SC', 'SL', 'SG', 'SX', 'SK', 'SI', 'SB', 'SO', 'ZA', 'GS', 'KR', 'SS', 'ES', 'LK', 'BL', 'SH', 'KN', 'LC', 'MF', 'PM', 'VC', 'SD', 'SR', 'SJ', 'SE', 'CH', 'SY', 'TW', 'TJ', 'TZ', 'TH', 'TL', 'TG', 'TK', 'TO', 'TT', 'TN', 'TR', 'TM', 'TC', 'TV', 'UM', 'VI', 'UG', 'UA', 'AE', 'GB', 'US', 'UY', 'UZ', 'VU', 'VA', 'VE', 'VN', 'WF', 'EH', 'YE', 'ZM', 'ZW'])
`hl` (query str)
`tz` (query int)
`window` (query Literal['4h', '24h', '48h', '7d'])
`time_range` (query Literal['4h', '24h', '48h', '7d'])
`category` (query Literal['0', '3', '47', '44', '22', '12', '5', '7', '71', '8', '45', '65', '11', '13', '958', '19', '16', '299', '14', '66', '29', '533', '174', '18', '20', '67'])
`status` (query Literal['all', 'active', 'ended'])
`sort_by` (query Literal['relevance', 'title', 'recency', 'search_volume'])
`limit` (query int) | `ApiKeyAuth` | `GoogleTrendsTrendingResponse` | | | google | `google.trends_trending_detail` | `google-trends-trending-detail` | `POST /google/trends/trending/detail` | `request` (body str required) | `ApiKeyAuth` | `GoogleTrendsTrendingDetailResponse` | | | google | `google.videos` | `google-videos` | `GET /google/videos` | `q` (query str required)
`page` (query int)
`count` (query int)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GoogleVideosResponse` | | +| google_patents | `google_patents.googlepatents_classification` | `googlepatents-classification` | `GET /googlepatents/classification` | `code` (query str required) | `ApiKeyAuth` | `GooglePatentsGooglepatentsClassificationResponse` | | | google_patents | `google_patents.googlepatents_coverage` | `googlepatents-coverage` | `GET /googlepatents/coverage` | none | `ApiKeyAuth` | `GooglePatentsGooglepatentsCoverageResponse` | | | google_patents | `google_patents.googlepatents_detail` | `googlepatents-detail` | `GET /googlepatents/detail` | `number` (query str required)
`lang` (query str) | `ApiKeyAuth` | `GooglePatentsGooglepatentsDetailResponse` | | +| google_patents | `google_patents.googlepatents_recent` | `googlepatents-recent` | `GET /googlepatents/recent` | `week` (query str required) | `ApiKeyAuth` | `GooglePatentsGooglepatentsRecentResponse` | | | google_patents | `google_patents.googlepatents_search` | `googlepatents-search` | `GET /googlepatents/search` | `q` (query str required)
`inventor` (query str)
`assignee` (query str)
`country` (query str)
`status` (query Literal['GRANT', 'APPLICATION'])
`type` (query Literal['PATENT', 'DESIGN'])
`language` (query Literal['ENGLISH', 'GERMAN', 'CHINESE', 'FRENCH', 'SPANISH', 'ARABIC', 'JAPANESE', 'KOREAN', 'PORTUGUESE', 'RUSSIAN', 'ITALIAN', 'DUTCH', 'SWEDISH', 'FINNISH', 'NORWEGIAN', 'DANISH'])
`date_field` (query Literal['priority', 'filing', 'publication'])
`before` (query str)
`after` (query str)
`sort` (query Literal['relevance', 'new', 'old'])
`num` (query int)
`page` (query int) | `ApiKeyAuth` | `GooglePatentsGooglepatentsSearchResponse` | | | google_patents | `google_patents.googlepatents_suggest` | `googlepatents-suggest` | `GET /googlepatents/suggest` | `field` (query Literal['inventor', 'assignee'] required)
`value` (query str required) | `ApiKeyAuth` | `GooglePatentsGooglepatentsSuggestResponse` | | | google_play | `google_play.app` | `googleplay-app` | `GET /googleplay/app` | `app_id` (query str required)
`country` (query str)
`lang` (query str) | `ApiKeyAuth` | `GooglePlayAppResponse` | | @@ -809,6 +832,13 @@ Total operations: `1190` | sec_edgar | `sec_edgar.sec_full_text_search` | `sec-full-text-search` | `GET /sec/full-text-search` | `q` (query str required)
`forms` (query str)
`from` (query str)
`to` (query str)
`page` (query int) | `ApiKeyAuth` | `SecEdgarSecFullTextSearchResponse` | | | sec_edgar | `sec_edgar.sec_insider` | `sec-insider` | `GET /sec/insider` | `cik` (query str)
`ticker` (query str)
`limit` (query int) | `ApiKeyAuth` | `SecEdgarSecInsiderResponse` | | | sec_edgar | `sec_edgar.sec_institutional_holdings` | `sec-institutional-holdings` | `GET /sec/institutional-holdings` | `cik` (query str required)
`limit` (query int) | `ApiKeyAuth` | `SecEdgarSecInstitutionalHoldingsResponse` | | +| sephora | `sephora.category` | `sephora-category` | `GET /sephora/category` | `slug` (query str required)
`page` (query int)
`sort_by` (query Literal['featured', 'top_rated', 'new', 'best_selling', 'price_low_to_high', 'price_high_to_low'])
`price_min` (query int)
`price_max` (query int)
`brand` (query list[str])
`rating_min` (query int)
`is_new` (query bool)
`filter` (query list[str]) | `ApiKeyAuth` | `SephoraCategoryResponse` | | +| sephora | `sephora.product` | `sephora-product` | `GET /sephora/product` | `product_id` (query str required) | `ApiKeyAuth` | `SephoraProductResponse` | | +| sephora | `sephora.product_questions` | `sephora-product-questions` | `GET /sephora/product/questions` | `product_id` (query str required)
`page` (query int) | `ApiKeyAuth` | `SephoraProductQuestionsResponse` | | +| sephora | `sephora.product_reviews` | `sephora-product-reviews` | `GET /sephora/product/reviews` | `product_id` (query str required)
`page` (query int) | `ApiKeyAuth` | `SephoraProductReviewsResponse` | | +| sephora | `sephora.search` | `sephora-search` | `GET /sephora/search` | `query` (query str required)
`page` (query int)
`page_size` (query int)
`sort_by` (query Literal['featured', 'top_rated', 'new', 'best_selling', 'price_low_to_high', 'price_high_to_low'])
`price_min` (query int)
`price_max` (query int)
`brand` (query list[str])
`rating_min` (query int)
`is_new` (query bool)
`filter` (query list[str]) | `ApiKeyAuth` | `SephoraSearchResponse` | | +| sephora | `sephora.stores` | `sephora-stores` | `GET /sephora/stores` | `latitude` (query float required)
`longitude` (query float required)
`radius` (query int)
`limit` (query int) | `ApiKeyAuth` | `SephoraStoresResponse` | | +| sephora | `sephora.suggest` | `sephora-suggest` | `GET /sephora/suggest` | `query` (query str required) | `ApiKeyAuth` | `SephoraSuggestResponse` | | | shop_app | `shop_app.analysis` | `shop-app-analysis` | `GET /shop-app/analysis` | `query` (query str required)
`limit` (query int)
`in_stock` (query bool)
`on_sale` (query bool)
`deep_search` (query bool) | `ApiKeyAuth` | `ShopAppAnalysisResponse` | | | shop_app | `shop_app.categories` | `shop-app-categories` | `GET /shop-app/categories` | none | `ApiKeyAuth` | `ShopAppCategoriesResponse` | | | shop_app | `shop_app.product` | `shop-app-product` | `GET /shop-app/products/{id}` | `id` (path str required)
`variant_id` (query str) | `ApiKeyAuth` | `ShopAppProductResponse` | | @@ -1041,6 +1071,8 @@ Total operations: `1190` | account_deletion | `account_deletion.cancel` | `account-deletion-cancel` | `DELETE /user/me/deletion-request` | none | `JWTAuth` | `AccountDeletionCancelResponse` | | | account_deletion | `account_deletion.my_request` | `account-deletion-my-request` | `GET /user/me/deletion-request` | none | `JWTAuth` | `AccountDeletionMyRequestResponse` | | | account_deletion | `account_deletion.request` | `account-deletion-request` | `POST /user/me/deletion-request` | `request` (body str) | `JWTAuth` | `AccountDeletionRequestResponse` | | +| uspto_patent_public_search | `uspto_patent_public_search.usptoppubs_detail` | `usptoppubs-detail` | `GET /usptoppubs/detail` | `guid` (query str required)
`source` (query str required) | `ApiKeyAuth` | `UsptoPatentPublicSearchUsptoppubsDetailResponse` | | +| uspto_patent_public_search | `uspto_patent_public_search.usptoppubs_search` | `usptoppubs-search` | `GET /usptoppubs/search` | `q` (query str required)
`databases` (query str)
`num` (query int)
`page` (query int) | `ApiKeyAuth` | `UsptoPatentPublicSearchUsptoppubsSearchResponse` | | | vinted | `vinted.brand` | `vinted-brand` | `GET /vinted/brand` | `id` (query str required)
`price_from` (query float)
`price_to` (query float)
`order` (query Literal['relevance', 'newest_first', 'price_high_to_low', 'price_low_to_high'])
`page` (query int) | `ApiKeyAuth` | `VintedBrandResponse` | | | vinted | `vinted.brands` | `vinted-brands` | `GET /vinted/brands` | none | `ApiKeyAuth` | `VintedBrandsResponse` | | | vinted | `vinted.catalog` | `vinted-catalog` | `GET /vinted/catalog` | `search_text` (query str required)
`price_from` (query float)
`price_to` (query float)
`order` (query Literal['relevance', 'newest_first', 'price_high_to_low', 'price_low_to_high'])
`page` (query int) | `ApiKeyAuth` | `VintedCatalogResponse` | | diff --git a/openapi/public.json b/openapi/public.json index a73574d..8a901c7 100644 --- a/openapi/public.json +++ b/openapi/public.json @@ -5276,6 +5276,43 @@ }, "type": "object" }, + "bestbuy.Brand": { + "properties": { + "id": { + "example": "pcmcat128500050005", + "type": "string" + }, + "name": { + "example": "Apple", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.BrandsResponse": { + "properties": { + "brands": { + "items": { + "$ref": "#/definitions/bestbuy.Brand" + }, + "type": "array" + }, + "count": { + "example": 325, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "bestbuy.Breadcrumb": { "properties": { "name": { @@ -5288,6 +5325,43 @@ }, "type": "object" }, + "bestbuy.CategoriesResponse": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/bestbuy.Category" + }, + "type": "array" + }, + "count": { + "example": 25, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.Category": { + "properties": { + "id": { + "example": "pcmcat1690836748285", + "type": "string" + }, + "name": { + "example": "TV & Home Theater", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, "bestbuy.CategoryProduct": { "properties": { "image_url": { @@ -5331,6 +5405,10 @@ "fetched_at": { "type": "string" }, + "page": { + "example": 1, + "type": "integer" + }, "products": { "items": { "$ref": "#/definitions/bestbuy.CategoryProduct" @@ -5415,6 +5493,75 @@ }, "type": "object" }, + "bestbuy.ProductQuestion": { + "properties": { + "answer": { + "type": "string" + }, + "answered": { + "example": "Answered 2 months ago", + "type": "string" + }, + "answered_by": { + "example": "ASUS Answers", + "type": "string" + }, + "question": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.ProductQuestionsResponse": { + "properties": { + "count": { + "example": 5, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "questions": { + "items": { + "$ref": "#/definitions/bestbuy.ProductQuestion" + }, + "type": "array" + }, + "sku": { + "example": "6673590", + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.ProductRelatedResponse": { + "properties": { + "count": { + "example": 3, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "products": { + "items": { + "$ref": "#/definitions/bestbuy.RelatedProduct" + }, + "type": "array" + }, + "sku": { + "example": "6673590", + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "bestbuy.ProductResponse": { "properties": { "fetched_at": { @@ -5462,6 +5609,32 @@ }, "type": "object" }, + "bestbuy.RelatedProduct": { + "properties": { + "currency_code": { + "example": "USD", + "type": "string" + }, + "image_url": { + "type": "string" + }, + "name": { + "type": "string" + }, + "price": { + "example": 3399.99, + "type": "number" + }, + "sku": { + "example": "6673586", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, "bestbuy.Review": { "properties": { "author": { @@ -5503,6 +5676,221 @@ }, "type": "object" }, + "bestbuy.SearchResponse": { + "properties": { + "count": { + "example": 24, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "page": { + "example": 1, + "type": "integer" + }, + "products": { + "items": { + "$ref": "#/definitions/bestbuy.CategoryProduct" + }, + "type": "array" + }, + "query": { + "example": "laptop", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "total": { + "example": 6286, + "type": "integer" + } + }, + "type": "object" + }, + "bestbuy.Store": { + "properties": { + "address": { + "example": "2100 N Elston Ave", + "type": "string" + }, + "city": { + "example": "Chicago", + "type": "string" + }, + "country": { + "example": "US", + "type": "string" + }, + "hours": { + "additionalProperties": { + "type": "string" + }, + "description": "Hours maps a full day name (\"Monday\"..\"Sunday\") to that day's\nopening range, e.g. \"10:00-21:00\" -- expanded from schema.org's own\ncomma-joined-days shorthand (see parseOpeningHours). Joined with\n\", \" for the rare split-hours day.", + "type": "object" + }, + "latitude": { + "example": 41.919002, + "type": "number" + }, + "longitude": { + "example": -87.66959, + "type": "number" + }, + "name": { + "example": "Best Buy", + "type": "string" + }, + "phone": { + "example": "(773) 486-0142", + "type": "string" + }, + "postal_code": { + "example": "60614", + "type": "string" + }, + "rating": { + "example": 4.21, + "type": "number" + }, + "review_count": { + "example": 3614, + "type": "integer" + }, + "state": { + "example": "IL", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.StoreResponse": { + "properties": { + "city": { + "example": "Chicago", + "type": "string" + }, + "count": { + "example": 3, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "state": { + "example": "il", + "type": "string" + }, + "stores": { + "items": { + "$ref": "#/definitions/bestbuy.Store" + }, + "type": "array" + } + }, + "type": "object" + }, + "bestbuy.SubcategoriesResponse": { + "properties": { + "category_id": { + "example": "pcmcat138500050001", + "type": "string" + }, + "count": { + "example": 12, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "subcategories": { + "items": { + "$ref": "#/definitions/bestbuy.Category" + }, + "type": "array" + } + }, + "type": "object" + }, + "bestbuy.TrendingCategoriesResponse": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/bestbuy.TrendingCategory" + }, + "type": "array" + }, + "count": { + "example": 584, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.TrendingCategory": { + "properties": { + "id": { + "example": "pcmcat247400050000", + "type": "string" + }, + "name": { + "example": "Windows Laptops", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.brandsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.BrandsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.categoriesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.CategoriesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "bestbuy.categoryResponseDoc": { "properties": { "code": { @@ -5519,6 +5907,38 @@ }, "type": "object" }, + "bestbuy.productQuestionsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.ProductQuestionsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.productRelatedResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.ProductRelatedResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "bestbuy.productResponseDoc": { "properties": { "code": { @@ -5551,6 +5971,70 @@ }, "type": "object" }, + "bestbuy.searchResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.SearchResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.storesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.StoreResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.subcategoriesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.SubcategoriesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "bestbuy.trendingCategoriesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/bestbuy.TrendingCategoriesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "billing.billingEndpointLedgerDoc": { "properties": { "charged_requests": { @@ -20402,6 +20886,34 @@ }, "type": "object" }, + "depop.Brand": { + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + } + }, + "type": "object" + }, + "depop.BrandsResponse": { + "properties": { + "brands": { + "items": { + "$ref": "#/definitions/depop.Brand" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "type": "object" + }, "depop.CategoriesResponse": { "properties": { "departments": { @@ -20457,6 +20969,40 @@ }, "type": "object" }, + "depop.DepartmentFacets": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/depop.FacetCount" + }, + "type": "array" + }, + "count": { + "type": "integer" + }, + "department": { + "type": "string" + }, + "subcategories": { + "items": { + "$ref": "#/definitions/depop.FacetCount" + }, + "type": "array" + } + }, + "type": "object" + }, + "depop.FacetCount": { + "properties": { + "count": { + "type": "integer" + }, + "id": { + "type": "string" + } + }, + "type": "object" + }, "depop.ItemDetailResponse": { "properties": { "brand_name": { @@ -20583,6 +21129,20 @@ }, "type": "object" }, + "depop.SearchFacetsResponse": { + "properties": { + "departments": { + "items": { + "$ref": "#/definitions/depop.DepartmentFacets" + }, + "type": "array" + }, + "query": { + "type": "string" + } + }, + "type": "object" + }, "depop.SearchResponse": { "properties": { "has_more": { @@ -20607,6 +21167,20 @@ }, "type": "object" }, + "depop.SearchSellersResponse": { + "properties": { + "query": { + "type": "string" + }, + "sellers": { + "items": { + "$ref": "#/definitions/depop.SellerSummary" + }, + "type": "array" + } + }, + "type": "object" + }, "depop.Seller": { "properties": { "first_name": { @@ -20627,6 +21201,26 @@ }, "type": "object" }, + "depop.SellerSummary": { + "properties": { + "avatar_url": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "last_name": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, "depop.ShopItem": { "properties": { "currency": { @@ -20713,6 +21307,77 @@ }, "type": "object" }, + "depop.SizeCategory": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "regions": { + "items": { + "$ref": "#/definitions/depop.SizeRegion" + }, + "type": "array" + } + }, + "type": "object" + }, + "depop.SizeDepartment": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/depop.SizeCategory" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "depop.SizeOption": { + "properties": { + "id": { + "description": "ID is the value to pass in SearchOption.Sizes / ShopOption.Sizes\n(e.g. \"4.17\"). Built from Depop's own size_set_id and id\n(`{size_set_id}.{id}`) -- confirmed live 2026-08-15 that this bare\nform (without the \"-EUR\"/\"-UK\"/\"-US\"/\"-AU\" region suffix Depop's own\nUI appends for display, e.g. \"4.17-US\") is what both the search API\nand shop pages actually key off; the suffix is decorative only.", + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "depop.SizeRegion": { + "properties": { + "region": { + "type": "string" + }, + "sizes": { + "items": { + "$ref": "#/definitions/depop.SizeOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "depop.SizesResponse": { + "properties": { + "departments": { + "items": { + "$ref": "#/definitions/depop.SizeDepartment" + }, + "type": "array" + } + }, + "type": "object" + }, "depop.Subcategory": { "properties": { "name": { @@ -20725,6 +21390,54 @@ }, "type": "object" }, + "depop.SuggestResponse": { + "properties": { + "query": { + "type": "string" + }, + "suggestions": { + "items": { + "$ref": "#/definitions/depop.Suggestion" + }, + "type": "array" + } + }, + "type": "object" + }, + "depop.Suggestion": { + "properties": { + "gender": { + "type": "string" + }, + "group": { + "description": "Group and SuggestedFilterLabel are present when the suggestion maps\nto a specific category (e.g. Group \"tops\", SuggestedFilterLabel\n\"in Women's Tops\") -- both omitted for a plain free-text suggestion.", + "type": "string" + }, + "suggested_filter_label": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "depop.brandsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/depop.BrandsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "depop.categoriesResponseDoc": { "properties": { "code": { @@ -20741,6 +21454,22 @@ }, "type": "object" }, + "depop.searchFacetsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/depop.SearchFacetsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "depop.searchResponseDoc": { "properties": { "code": { @@ -20757,6 +21486,22 @@ }, "type": "object" }, + "depop.searchSellersResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/depop.SearchSellersResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "depop.shopResponseDoc": { "properties": { "code": { @@ -20789,6 +21534,38 @@ }, "type": "object" }, + "depop.sizesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/depop.SizesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "depop.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/depop.SuggestResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "diagnostics.AntibotCheckRequest": { "properties": { "fast": { @@ -22486,6 +23263,41 @@ }, "type": "object" }, + "draftkings.EventContextResponse": { + "properties": { + "event_id": { + "example": "34522271", + "type": "string" + }, + "event_seo_id": { + "example": "chi-white-sox-@-det-tigers", + "type": "string" + }, + "fetched_at": { + "type": "string" + }, + "league_id": { + "example": "84240", + "type": "string" + }, + "league_seo_id": { + "example": "mlb", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sport_id": { + "example": "7", + "type": "string" + }, + "sport_seo_id": { + "example": "baseball", + "type": "string" + } + }, + "type": "object" + }, "draftkings.EventMarketsResponse": { "properties": { "count": { @@ -22520,6 +23332,10 @@ "id": { "type": "string" }, + "league_id": { + "example": "84240", + "type": "string" + }, "name": { "example": "CAR Panthers @ BUF Bills", "type": "string" @@ -22533,6 +23349,10 @@ "source_url": { "type": "string" }, + "sport_id": { + "example": "7", + "type": "string" + }, "start_time": { "type": "string" }, @@ -22543,6 +23363,64 @@ }, "type": "object" }, + "draftkings.FeaturedLeague": { + "properties": { + "featured_order": { + "example": 4855, + "type": "integer" + }, + "has_live_offers": { + "type": "boolean" + }, + "id": { + "example": "84240", + "type": "string" + }, + "name": { + "example": "MLB", + "type": "string" + }, + "slug": { + "example": "mlb", + "type": "string" + }, + "sport": { + "example": "Baseball", + "type": "string" + }, + "sport_id": { + "example": "7", + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "draftkings.FeaturedLeaguesResponse": { + "properties": { + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "leagues": { + "items": { + "$ref": "#/definitions/draftkings.FeaturedLeague" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "draftkings.FuturesResponse": { "properties": { "count": { @@ -22577,6 +23455,245 @@ }, "type": "object" }, + "draftkings.League": { + "properties": { + "has_live_offers": { + "type": "boolean" + }, + "id": { + "example": "104557", + "type": "string" + }, + "name": { + "example": "ITF Doubles - Muttenz (M)", + "type": "string" + }, + "slug": { + "example": "itf-m25-muttenz%2C-doubles", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.LeagueEvent": { + "properties": { + "id": { + "example": "34522271", + "type": "string" + }, + "name": { + "example": "CHI White Sox @ DET Tigers", + "type": "string" + }, + "participant_type": { + "example": "TwoTeam", + "type": "string" + }, + "participants": { + "items": { + "$ref": "#/definitions/draftkings.Participant" + }, + "type": "array" + }, + "start_time": { + "type": "string" + }, + "status": { + "example": "NOT_STARTED", + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "draftkings.LeagueEventsResponse": { + "properties": { + "count": { + "type": "integer" + }, + "events": { + "items": { + "$ref": "#/definitions/draftkings.LeagueEvent" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "league": { + "example": "MLB", + "type": "string" + }, + "league_id": { + "example": "84240", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sport": { + "example": "Baseball", + "type": "string" + }, + "sport_id": { + "example": "7", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.LeaguesResponse": { + "properties": { + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sports": { + "items": { + "$ref": "#/definitions/draftkings.Sport" + }, + "type": "array" + } + }, + "type": "object" + }, + "draftkings.LiveEvent": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/draftkings.MarketCategory" + }, + "type": "array" + }, + "id": { + "example": "34525244", + "type": "string" + }, + "league_id": { + "example": "104557", + "type": "string" + }, + "markets": { + "items": { + "$ref": "#/definitions/draftkings.Market" + }, + "type": "array" + }, + "name": { + "example": "A. Casanova / Parizzia vs N. Hipfl / C. Mueller", + "type": "string" + }, + "participants": { + "items": { + "$ref": "#/definitions/draftkings.Participant" + }, + "type": "array" + }, + "period": { + "example": "2nd", + "type": "string" + }, + "score": { + "$ref": "#/definitions/draftkings.LiveScore" + }, + "sport_id": { + "example": "6", + "type": "string" + }, + "start_time": { + "type": "string" + }, + "status": { + "example": "STARTED", + "type": "string" + }, + "subcategories": { + "items": { + "$ref": "#/definitions/draftkings.MarketSubcategory" + }, + "type": "array" + } + }, + "type": "object" + }, + "draftkings.LiveResponse": { + "properties": { + "count": { + "type": "integer" + }, + "events": { + "items": { + "$ref": "#/definitions/draftkings.LiveEvent" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "draftkings.LiveScore": { + "properties": { + "current": { + "$ref": "#/definitions/draftkings.LiveScoreLine" + }, + "on_serve": { + "example": "away", + "type": "string" + }, + "periods": { + "items": { + "$ref": "#/definitions/draftkings.LiveScorePeriod" + }, + "type": "array" + } + }, + "type": "object" + }, + "draftkings.LiveScoreLine": { + "properties": { + "away": { + "example": "30", + "type": "string" + }, + "home": { + "example": "30", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.LiveScorePeriod": { + "properties": { + "away": { + "example": "30", + "type": "string" + }, + "home": { + "example": "30", + "type": "string" + }, + "name": { + "example": "1", + "type": "string" + } + }, + "type": "object" + }, "draftkings.Market": { "properties": { "id": { @@ -22599,6 +23716,36 @@ }, "type": "object" }, + "draftkings.MarketCategory": { + "properties": { + "id": { + "example": "488", + "type": "string" + }, + "name": { + "example": "Match Lines", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.MarketSubcategory": { + "properties": { + "category_id": { + "example": "488", + "type": "string" + }, + "id": { + "example": "6364", + "type": "string" + }, + "name": { + "example": "Moneyline", + "type": "string" + } + }, + "type": "object" + }, "draftkings.Odds": { "properties": { "american": { @@ -22663,6 +23810,47 @@ }, "type": "object" }, + "draftkings.QuickLink": { + "properties": { + "league_id": { + "example": "84240", + "type": "string" + }, + "name": { + "example": "MLB", + "type": "string" + }, + "path": { + "example": "/leagues/baseball/mlb", + "type": "string" + }, + "sport_id": { + "example": "7", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.QuickLinksResponse": { + "properties": { + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "links": { + "items": { + "$ref": "#/definitions/draftkings.QuickLink" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "draftkings.Selection": { "properties": { "label": { @@ -22683,6 +23871,160 @@ }, "type": "object" }, + "draftkings.Sport": { + "properties": { + "id": { + "example": "6", + "type": "string" + }, + "leagues": { + "items": { + "$ref": "#/definitions/draftkings.League" + }, + "type": "array" + }, + "name": { + "example": "Tennis", + "type": "string" + }, + "slug": { + "example": "tennis", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.Team": { + "properties": { + "id": { + "example": "18454", + "type": "string" + }, + "name": { + "example": "Arizona Cardinals", + "type": "string" + }, + "slug": { + "example": "arizona-cardinals", + "type": "string" + }, + "url": { + "example": "https://sportsbook.draftkings.com/teams/football/arizona-cardinals-odds-18454", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.TeamDetailResponse": { + "properties": { + "abbreviation": { + "example": "ARI", + "type": "string" + }, + "city": { + "example": "Arizona", + "type": "string" + }, + "fetched_at": { + "type": "string" + }, + "id": { + "example": "18454", + "type": "string" + }, + "leagues": { + "items": { + "$ref": "#/definitions/draftkings.TeamLeagueRef" + }, + "type": "array" + }, + "name": { + "example": "ARI Cardinals", + "type": "string" + }, + "primary_color": { + "example": "#97233F", + "type": "string" + }, + "secondary_color": { + "example": "#000000", + "type": "string" + }, + "short_name": { + "example": "Cardinals", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sport": { + "example": "football", + "type": "string" + }, + "sport_id": { + "example": "3", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.TeamLeagueRef": { + "properties": { + "id": { + "example": "88808", + "type": "string" + }, + "slug": { + "example": "nfl", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.TeamsResponse": { + "properties": { + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "league": { + "example": "nfl", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "sport": { + "example": "football", + "type": "string" + }, + "teams": { + "items": { + "$ref": "#/definitions/draftkings.Team" + }, + "type": "array" + } + }, + "type": "object" + }, + "draftkings.eventContextResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.EventContextResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "draftkings.eventMarketsResponseDoc": { "properties": { "code": { @@ -22715,6 +24057,22 @@ }, "type": "object" }, + "draftkings.featuredLeaguesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.FeaturedLeaguesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "draftkings.futuresResponseDoc": { "properties": { "code": { @@ -22731,6 +24089,54 @@ }, "type": "object" }, + "draftkings.leagueEventsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.LeagueEventsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.leaguesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.LeaguesResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.liveResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.LiveResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "draftkings.oddsResponseDoc": { "properties": { "code": { @@ -22747,6 +24153,54 @@ }, "type": "object" }, + "draftkings.quickLinksResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.QuickLinksResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.teamResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.TeamDetailResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "draftkings.teamsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/draftkings.TeamsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "duckduckgo.ImageResponse": { "properties": { "pagination": { @@ -26929,6 +28383,10 @@ "contact_title": { "type": "string" }, + "content_hash": { + "description": "ContentHash is an internal fingerprint of this record's content,\nexcluding crawl bookkeeping fields, used to detect whether a\nre-crawled profile actually changed since it was last stored.", + "type": "string" + }, "crawled_at": { "type": "string" }, @@ -34855,6 +36313,62 @@ }, "type": "object" }, + "googlepatents.ClassificationRelation": { + "properties": { + "code": { + "example": "A61", + "type": "string" + }, + "description": { + "type": "string" + }, + "is_child": { + "type": "boolean" + }, + "is_parent": { + "type": "boolean" + }, + "is_related": { + "type": "boolean" + }, + "name": { + "example": "A61 - MEDICAL OR VETERINARY SCIENCE; HYGIENE", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.ClassificationResponse": { + "properties": { + "code": { + "example": "A61K31/00", + "type": "string" + }, + "description": { + "items": { + "type": "string" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "name": { + "example": "A61K31/00 - Medicinal preparations containing organic active ingredients", + "type": "string" + }, + "relations": { + "items": { + "$ref": "#/definitions/googlepatents.ClassificationRelation" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, "googlepatents.CountryStatus": { "properties": { "country_code": { @@ -35078,6 +36592,48 @@ }, "type": "object" }, + "googlepatents.RecentEntry": { + "properties": { + "publication_number": { + "example": "US10758101B2", + "type": "string" + }, + "title": { + "example": "Adjustable venous cannula and method of treating a patient", + "type": "string" + }, + "url": { + "example": "https://patents.google.com/patent/US10758101B2/en", + "type": "string" + } + }, + "type": "object" + }, + "googlepatents.RecentResponse": { + "properties": { + "count": { + "example": 329, + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "results": { + "items": { + "$ref": "#/definitions/googlepatents.RecentEntry" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "week": { + "example": "2026-W20", + "type": "string" + } + }, + "type": "object" + }, "googlepatents.SearchResponse": { "properties": { "fetched_at": { @@ -35252,6 +36808,22 @@ }, "type": "object" }, + "googlepatents.classificationResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/googlepatents.ClassificationResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "googlepatents.coverageResponseDoc": { "properties": { "code": { @@ -35284,6 +36856,22 @@ }, "type": "object" }, + "googlepatents.recentResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/googlepatents.RecentResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "googlepatents.searchResponseDoc": { "properties": { "code": { @@ -61512,6 +63100,852 @@ }, "type": "object" }, + "sephora.Answer": { + "properties": { + "author": { + "type": "string" + }, + "helpful_votes": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "is_brand_answer": { + "type": "boolean" + }, + "not_helpful_votes": { + "type": "integer" + }, + "submitted_at": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.CategoryResponse": { + "properties": { + "brand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "category_id": { + "type": "string" + }, + "count": { + "type": "integer" + }, + "display_name": { + "example": "Makeup", + "type": "string" + }, + "fetched_at": { + "type": "string" + }, + "filter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "is_new": { + "type": "boolean" + }, + "page": { + "example": 1, + "type": "integer" + }, + "page_size": { + "example": 60, + "type": "integer" + }, + "price_max": { + "type": "integer" + }, + "price_min": { + "type": "integer" + }, + "products": { + "items": { + "$ref": "#/definitions/sephora.SearchProduct" + }, + "type": "array" + }, + "rating_min": { + "type": "integer" + }, + "related_categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "slug": { + "example": "makeup-cosmetics", + "type": "string" + }, + "sort_by": { + "example": "featured", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "total_products": { + "example": 2492, + "type": "integer" + } + }, + "type": "object" + }, + "sephora.FullReview": { + "properties": { + "author": { + "type": "string" + }, + "body": { + "type": "string" + }, + "helpful_votes": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "location": { + "type": "string" + }, + "not_helpful_votes": { + "type": "integer" + }, + "photo_urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rating": { + "type": "integer" + }, + "ratings_only": { + "description": "RatingsOnly marks a review that carries only a star rating with no\nwritten title/body -- Bazaarvoice allows these and this endpoint still\nsurfaces them, matching the same field already documented for Macy's\n(services/macys/reviews.go) and Kohl's Bazaarvoice integrations.", + "type": "boolean" + }, + "recommended": { + "type": "boolean" + }, + "secondary_ratings": { + "items": { + "$ref": "#/definitions/sephora.ReviewSecondaryRating" + }, + "type": "array" + }, + "submitted_at": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.ProductQuestionsResponse": { + "properties": { + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "product_id": { + "type": "string" + }, + "questions": { + "items": { + "$ref": "#/definitions/sephora.Question" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "total_pages": { + "type": "integer" + }, + "total_questions": { + "type": "integer" + } + }, + "type": "object" + }, + "sephora.ProductResponse": { + "properties": { + "brand": { + "example": "LANEIGE", + "type": "string" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "fetched_at": { + "type": "string" + }, + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "product_group_id": { + "example": "P420652", + "type": "string" + }, + "rating": { + "example": 4.3, + "type": "number" + }, + "review_count": { + "type": "integer" + }, + "review_sample": { + "items": { + "$ref": "#/definitions/sephora.ReviewSample" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "variants": { + "items": { + "$ref": "#/definitions/sephora.Variant" + }, + "type": "array" + } + }, + "type": "object" + }, + "sephora.ProductReviewsResponse": { + "properties": { + "average_rating": { + "type": "number" + }, + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "page_size": { + "type": "integer" + }, + "product_id": { + "type": "string" + }, + "rating_count": { + "description": "RatingCount, AverageRating, RecommendedRatio, and RatingHistogram are\nthe product's site-wide aggregate rating summary, not just this page --\nabsent (zero-valued) for a product with no reviews yet.", + "type": "integer" + }, + "rating_histogram": { + "description": "RatingHistogram is the count of ratings per star, ascending: index 0 is\n1-star, index 4 is 5-star.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "recommended_ratio": { + "type": "number" + }, + "reviews": { + "items": { + "$ref": "#/definitions/sephora.FullReview" + }, + "type": "array" + }, + "source_url": { + "type": "string" + }, + "total_pages": { + "type": "integer" + }, + "total_reviews": { + "type": "integer" + } + }, + "type": "object" + }, + "sephora.Question": { + "properties": { + "answer_count": { + "type": "integer" + }, + "answers": { + "items": { + "$ref": "#/definitions/sephora.Answer" + }, + "type": "array" + }, + "author": { + "type": "string" + }, + "has_best_answer": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "submitted_at": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.ReviewSample": { + "properties": { + "author": { + "type": "string" + }, + "body": { + "type": "string" + }, + "date_published": { + "type": "string" + }, + "id": { + "type": "string" + }, + "rating": { + "type": "number" + }, + "title": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.ReviewSecondaryRating": { + "properties": { + "max_value": { + "example": 5, + "type": "integer" + }, + "name": { + "example": "Value", + "type": "string" + }, + "value": { + "example": 4, + "type": "integer" + } + }, + "type": "object" + }, + "sephora.SearchProduct": { + "properties": { + "brand_name": { + "example": "tarte", + "type": "string" + }, + "image_url": { + "type": "string" + }, + "list_price": { + "example": "$25.00", + "type": "string" + }, + "more_colors": { + "type": "integer" + }, + "product_id": { + "example": "P520769", + "type": "string" + }, + "product_name": { + "type": "string" + }, + "rating": { + "example": 4.5, + "type": "number" + }, + "review_count": { + "type": "integer" + }, + "sku_id": { + "type": "string" + }, + "sponsored": { + "type": "boolean" + }, + "url": { + "type": "string" + }, + "value_price": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.SearchResponse": { + "properties": { + "brand": { + "items": { + "type": "string" + }, + "type": "array" + }, + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "filter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "is_new": { + "type": "boolean" + }, + "page": { + "example": 1, + "type": "integer" + }, + "page_size": { + "example": 60, + "type": "integer" + }, + "price_max": { + "example": 30, + "type": "integer" + }, + "price_min": { + "example": 15, + "type": "integer" + }, + "products": { + "items": { + "$ref": "#/definitions/sephora.SearchProduct" + }, + "type": "array" + }, + "query": { + "example": "mascara", + "type": "string" + }, + "rating_min": { + "example": 4, + "type": "integer" + }, + "related_searches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sort_by": { + "example": "featured", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "total_products": { + "example": 180, + "type": "integer" + } + }, + "type": "object" + }, + "sephora.Store": { + "properties": { + "address": { + "$ref": "#/definitions/sephora.StoreAddress" + }, + "display_name": { + "example": "STATE STREET", + "type": "string" + }, + "distance_miles": { + "example": 0.2, + "type": "number" + }, + "hours": { + "$ref": "#/definitions/sephora.StoreHours" + }, + "is_bopisable": { + "type": "boolean" + }, + "is_curbside_enabled": { + "type": "boolean" + }, + "is_online_reservation_enabled": { + "type": "boolean" + }, + "latitude": { + "type": "number" + }, + "longitude": { + "type": "number" + }, + "same_day_delivery_enabled": { + "type": "boolean" + }, + "store_id": { + "example": "0662", + "type": "string" + }, + "store_type": { + "example": "SEPHORA", + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.StoreAddress": { + "properties": { + "address1": { + "type": "string" + }, + "address2": { + "type": "string" + }, + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "mall_name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "postal_code": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.StoreHours": { + "properties": { + "friday": { + "type": "string" + }, + "monday": { + "type": "string" + }, + "saturday": { + "type": "string" + }, + "sunday": { + "type": "string" + }, + "thursday": { + "type": "string" + }, + "time_zone": { + "example": "America/Chicago", + "type": "string" + }, + "tuesday": { + "type": "string" + }, + "wednesday": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.StoresResponse": { + "properties": { + "count": { + "type": "integer" + }, + "fetched_at": { + "type": "string" + }, + "latitude": { + "example": 41.88325, + "type": "number" + }, + "longitude": { + "example": -87.6323879, + "type": "number" + }, + "radius": { + "example": 50, + "type": "integer" + }, + "source_url": { + "type": "string" + }, + "stores": { + "items": { + "$ref": "#/definitions/sephora.Store" + }, + "type": "array" + } + }, + "type": "object" + }, + "sephora.SuggestCategory": { + "properties": { + "name": { + "example": "Mascara", + "type": "string" + }, + "url": { + "example": "https://www.sephora.com/shop/mascara", + "type": "string" + } + }, + "type": "object" + }, + "sephora.SuggestProduct": { + "properties": { + "brand_name": { + "example": "ILIA", + "type": "string" + }, + "image_url": { + "type": "string" + }, + "product_id": { + "example": "P431750", + "type": "string" + }, + "product_name": { + "type": "string" + }, + "rating": { + "example": 4.1361, + "type": "number" + }, + "review_count": { + "type": "integer" + }, + "sku_id": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.SuggestResponse": { + "properties": { + "categories": { + "items": { + "$ref": "#/definitions/sephora.SuggestCategory" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "products": { + "items": { + "$ref": "#/definitions/sephora.SuggestProduct" + }, + "type": "array" + }, + "query": { + "example": "masc", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "terms": { + "items": { + "$ref": "#/definitions/sephora.SuggestTerm" + }, + "type": "array" + } + }, + "type": "object" + }, + "sephora.SuggestTerm": { + "properties": { + "term": { + "example": "mascara", + "type": "string" + } + }, + "type": "object" + }, + "sephora.Variant": { + "properties": { + "availability": { + "example": "InStock", + "type": "string" + }, + "color": { + "example": "Acai Mango Smoothie", + "type": "string" + }, + "currency_code": { + "example": "USD", + "type": "string" + }, + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "price": { + "example": "25.00", + "type": "string" + }, + "sku": { + "type": "string" + } + }, + "type": "object" + }, + "sephora.categoryResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.CategoryResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "sephora.productQuestionsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.ProductQuestionsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "sephora.productResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.ProductResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "sephora.productReviewsResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.ProductReviewsResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "sephora.searchResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.SearchResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "sephora.storesResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.StoresResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "sephora.suggestResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/sephora.SuggestResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "shopapp.AnalysisResponse": { "properties": { "currencies": { @@ -81151,6 +83585,220 @@ }, "type": "object" }, + "usptoppubs.DetailResponse": { + "properties": { + "abstract": { + "type": "string" + }, + "applicant_names": { + "items": { + "type": "string" + }, + "type": "array" + }, + "application_number": { + "example": "19/048819", + "type": "string" + }, + "assignee_name": { + "type": "string" + }, + "claims": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cpc_codes": { + "type": "string" + }, + "database": { + "example": "US-PGPUB", + "type": "string" + }, + "description": { + "items": { + "type": "string" + }, + "type": "array" + }, + "fetched_at": { + "type": "string" + }, + "filing_date": { + "example": "2025-02-07", + "type": "string" + }, + "guid": { + "example": "US-20260238009-A1", + "type": "string" + }, + "inventors_short": { + "type": "string" + }, + "ipc_codes": { + "type": "string" + }, + "kind_codes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "example": "EN", + "type": "string" + }, + "page_count": { + "type": "integer" + }, + "publication_date": { + "example": "2026-08-13", + "type": "string" + }, + "publication_number": { + "example": "US20260238009A1", + "type": "string" + }, + "source_url": { + "type": "string" + }, + "title": { + "example": "HOME GRID FOR IMPROVED EFFICIENCY OF SOLAR ENERGY", + "type": "string" + } + }, + "type": "object" + }, + "usptoppubs.SearchResponse": { + "properties": { + "fetched_at": { + "type": "string" + }, + "num_found": { + "example": 500, + "type": "integer" + }, + "page": { + "example": 0, + "type": "integer" + }, + "per_page": { + "example": 20, + "type": "integer" + }, + "query": { + "example": "battery", + "type": "string" + }, + "results": { + "items": { + "$ref": "#/definitions/usptoppubs.SearchResult" + }, + "type": "array" + }, + "source_url": { + "type": "string" + } + }, + "type": "object" + }, + "usptoppubs.SearchResult": { + "properties": { + "applicant_names": { + "items": { + "type": "string" + }, + "type": "array" + }, + "application_number": { + "example": "15/620,213", + "type": "string" + }, + "assignee_name": { + "type": "string" + }, + "cpc_codes": { + "type": "string" + }, + "database": { + "example": "USPAT", + "type": "string" + }, + "filing_date": { + "example": "2017-06-12", + "type": "string" + }, + "guid": { + "example": "US-10758101-B2", + "type": "string" + }, + "inventors_short": { + "type": "string" + }, + "ipc_codes": { + "type": "string" + }, + "kind_codes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "example": "EN", + "type": "string" + }, + "page_count": { + "type": "integer" + }, + "publication_date": { + "example": "2020-09-01", + "type": "string" + }, + "publication_number": { + "example": "US10758101B2", + "type": "string" + }, + "title": { + "example": "UPRIGHT VACUUM CLEANER WITH BATTERY SUPPORT PLATE", + "type": "string" + } + }, + "type": "object" + }, + "usptoppubs.detailResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/usptoppubs.DetailResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, + "usptoppubs.searchResponseDoc": { + "properties": { + "code": { + "example": 200, + "type": "integer" + }, + "data": { + "$ref": "#/definitions/usptoppubs.SearchResponse" + }, + "msg": { + "example": "OK", + "type": "string" + } + }, + "type": "object" + }, "vinted.BrandEntry": { "properties": { "id": { @@ -97577,12 +100225,135 @@ ] } }, + "/bestbuy/brands": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Best Buy's full brand directory (name, category id, url), sourced from the site's own \"Name Brands\" page. Each id is directly usable as bestbuy_category's category_id input.", + "operationId": "bestbuy-brands", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.brandsResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Best Buy's full brand directory", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/categories": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Best Buy's top-level shopping departments (name, category id, url), sourced from the homepage's own category carousel. Each id is directly usable as bestbuy_category's category_id input.", + "operationId": "bestbuy-categories", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.categoriesResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Best Buy's top-level shopping departments", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/categories/trending": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Best Buy's fine-grained, often deeply-nested product-type categories (e.g. \"Windows Laptops\", \"55-Inch TVs (55 - 64 in)\", \"PS5 Consoles\") sourced from the homepage's own \"Best Selling\" section -- much more specific than bestbuy_categories' ~25 top-level departments. Each id is directly usable as bestbuy_category's category_id input.", + "operationId": "bestbuy-categories-trending", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.trendingCategoriesResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Best Buy's fine-grained trending product-type categories", + "tags": [ + "Best Buy" + ] + } + }, "/bestbuy/category": { "get": { "consumes": [ "application/json" ], - "description": "Returns page 1 (up to 24) of one Best Buy category's normalized product listing (sku, title, url, image, price, rating, review count). category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment.", + "description": "Returns one page (up to 24) of one Best Buy category's normalized product listing (sku, title, url, image, price, rating, review count). category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment. page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.", "operationId": "bestbuy-category", "parameters": [ { @@ -97592,6 +100363,13 @@ "required": true, "type": "string", "x-example": "pcmcat138500050001" + }, + { + "description": "1-indexed page number, defaults to 1", + "in": "query", + "name": "page", + "type": "integer", + "x-example": 1 } ], "produces": [ @@ -97634,27 +100412,319 @@ "ApiKeyAuth": [] } ], - "summary": "Get a Best Buy category's product listing", + "summary": "Get a Best Buy category's product listing", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/category/subcategories": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a Best Buy category's own sibling/child category set (name, category id, url), sourced from that category page's own \"Category\" filter facet. Each id is directly usable as bestbuy_category's category_id input. category_id is a Best Buy category id, e.g. pcmcat138500050001, found in a category page URL's trailing .c?id= segment. A leaf category with no siblings returns an empty list, not an error.", + "operationId": "bestbuy-category-subcategories", + "parameters": [ + { + "description": "Best Buy category id", + "in": "query", + "name": "category_id", + "required": true, + "type": "string", + "x-example": "pcmcat138500050001" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.subcategoriesResponseDoc" + } + }, + "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": "Get a Best Buy category's own sibling/child categories", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/product": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one Best Buy product's normalized detail (name, brand, model, color, price, availability, rating, images, breadcrumbs), sourced from the product page's own schema.org Product structured-data block. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.", + "operationId": "bestbuy-product", + "parameters": [ + { + "description": "Numeric Best Buy SKU", + "in": "query", + "name": "sku", + "required": true, + "type": "string", + "x-example": "6673590" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.productResponseDoc" + } + }, + "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": "Get a Best Buy product's detail", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/product/questions": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the customer questions (with answers, when present) Best Buy embeds directly on a product's page: question text, answer text, who answered, and when. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product with no questions asked yet returns an empty list, not an error.", + "operationId": "bestbuy-product-questions", + "parameters": [ + { + "description": "Numeric Best Buy SKU", + "in": "query", + "name": "sku", + "required": true, + "type": "string", + "x-example": "6673590" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.productQuestionsResponseDoc" + } + }, + "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": "Get a Best Buy product's customer questions and answers", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/product/related": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the organic (non-sponsored) related products Best Buy embeds in a product page's own comparison table (sku, name, url, image, price). sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs. A product page with no comparison table returns an empty list, not an error.", + "operationId": "bestbuy-product-related", + "parameters": [ + { + "description": "Numeric Best Buy SKU", + "in": "query", + "name": "sku", + "required": true, + "type": "string", + "x-example": "6673590" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.productRelatedResponseDoc" + } + }, + "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": "Get a Best Buy product's related products", + "tags": [ + "Best Buy" + ] + } + }, + "/bestbuy/product/reviews": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns page 1 (up to 20) of one Best Buy product's normalized customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts), sourced from the product's dedicated reviews page. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.", + "operationId": "bestbuy-product-reviews", + "parameters": [ + { + "description": "Numeric Best Buy SKU", + "in": "query", + "name": "sku", + "required": true, + "type": "string", + "x-example": "6673590" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/bestbuy.productReviewsResponseDoc" + } + }, + "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": "Get a Best Buy product's customer reviews", "tags": [ "Best Buy" ] } }, - "/bestbuy/product": { + "/bestbuy/search": { "get": { "consumes": [ "application/json" ], - "description": "Returns one Best Buy product's normalized detail (name, brand, model, color, price, availability, rating, images, breadcrumbs), sourced from the product page's own schema.org Product structured-data block. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.", - "operationId": "bestbuy-product", + "description": "Returns one page (up to 24) of one Best Buy keyword search's normalized product listing (sku, title, url, image, price, rating, review count). q is free-text search keywords, e.g. \"laptop\". page is the optional 1-indexed page number (defaults to 1); requesting a page past the last one returns an empty products list, not an error.", + "operationId": "bestbuy-search", "parameters": [ { - "description": "Numeric Best Buy SKU", + "description": "Search keywords", "in": "query", - "name": "sku", + "name": "q", "required": true, "type": "string", - "x-example": "6673590" + "x-example": "laptop" + }, + { + "description": "1-indexed page number, defaults to 1", + "in": "query", + "name": "page", + "type": "integer", + "x-example": 1 } ], "produces": [ @@ -97664,7 +100734,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/bestbuy.productResponseDoc" + "$ref": "#/definitions/bestbuy.searchResponseDoc" } }, "400": { @@ -97673,6 +100743,12 @@ "$ref": "#/definitions/app.Response" } }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, "429": { "description": "Too Many Requests", "schema": { @@ -97691,27 +100767,35 @@ "ApiKeyAuth": [] } ], - "summary": "Get a Best Buy product's detail", + "summary": "Search Best Buy's product catalog", "tags": [ "Best Buy" ] } }, - "/bestbuy/product/reviews": { + "/bestbuy/stores": { "get": { "consumes": [ "application/json" ], - "description": "Returns page 1 (up to 20) of one Best Buy product's normalized customer reviews (rating, title, text, author, posted date, tags such as Verified Purchaser, recommended flag, helpful/unhelpful counts), sourced from the product's dedicated reviews page. sku is the numeric Best Buy SKU shown on bestbuy.com product pages and URLs.", - "operationId": "bestbuy-product-reviews", + "description": "Returns Best Buy's physical store locations in one city (name, address, phone, coordinates, rating, hours), sourced from Best Buy's own SEO store directory. state is one of the 50 US state codes plus dc and pr: `al`, `ak`, `az`, `ar`, `ca`, `co`, `ct`, `de`, `dc`, `fl`, `ga`, `hi`, `id`, `il`, `in`, `ia`, `ks`, `ky`, `la`, `me`, `md`, `ma`, `mi`, `mn`, `ms`, `mo`, `mt`, `ne`, `nv`, `nh`, `nj`, `nm`, `ny`, `nc`, `nd`, `oh`, `ok`, `or`, `pa`, `pr`, `ri`, `sc`, `sd`, `tn`, `tx`, `ut`, `vt`, `va`, `wa`, `wv`, `wi`, `wy`. city is free text matched case-insensitively against that state's own directory (e.g. \"Chicago\").", + "operationId": "bestbuy-stores", "parameters": [ { - "description": "Numeric Best Buy SKU", + "description": "Two-letter state/territory code", "in": "query", - "name": "sku", + "name": "state", "required": true, "type": "string", - "x-example": "6673590" + "x-example": "il" + }, + { + "description": "City name", + "in": "query", + "name": "city", + "required": true, + "type": "string", + "x-example": "Chicago" } ], "produces": [ @@ -97721,7 +100805,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/bestbuy.productReviewsResponseDoc" + "$ref": "#/definitions/bestbuy.storesResponseDoc" } }, "400": { @@ -97730,6 +100814,12 @@ "$ref": "#/definitions/app.Response" } }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, "429": { "description": "Too Many Requests", "schema": { @@ -97748,7 +100838,7 @@ "ApiKeyAuth": [] } ], - "summary": "Get a Best Buy product's customer reviews", + "summary": "Get Best Buy's physical stores in one city", "tags": [ "Best Buy" ] @@ -120238,12 +123328,53 @@ ] } }, + "/depop/brands": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Depop's full brand directory (id, name, slug), not just brands with active listings for a given search -- resolves the search endpoint's otherwise-opaque brand_ids filter to human-readable names. Public data sourced from Depop's own brand-directory API.", + "operationId": "depop-brands", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/depop.brandsResponseDoc" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Depop's full brand directory", + "tags": [ + "Depop" + ] + } + }, "/depop/categories": { "get": { "consumes": [ "application/json" ], - "description": "Returns Depop's full department, category, and subcategory taxonomy -- every value usable with /depop/search's and /depop/shop/{username}'s category/subcategory filters. Static data, no live request.", + "description": "Returns Depop's full department, category, and subcategory taxonomy -- every value usable with /depop/search's and /depop/shop/{username}'s category/subcategory filters. Tries a live refresh from Depop's own category-filter API first and falls back to a static snapshot on any failure, so this never errors.", "operationId": "depop-categories", "produces": [ "application/json" @@ -120406,19 +123537,221 @@ "ApiKeyAuth": [] } ], - "summary": "Get Depop items similar to a listing", + "summary": "Get Depop items similar to a listing", + "tags": [ + "Depop" + ] + } + }, + "/depop/search": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Searches Depop's resale-fashion marketplace by free-text keyword, with optional price, condition, colour, category, subcategory, gender, kids-department, brand, discount, and sort filters, returning normalized listing summaries (title, price, brand, condition, like count, photos, sizes), a pagination cursor, and the total matching count. Public data sourced from Depop's own search API.", + "operationId": "depop-search", + "parameters": [ + { + "description": "Free-text keyword search", + "in": "query", + "name": "query", + "required": true, + "type": "string", + "x-example": "nike jacket" + }, + { + "description": "Minimum listing price in USD", + "in": "query", + "name": "price_min", + "type": "number", + "x-example": 15 + }, + { + "description": "Maximum listing price in USD", + "in": "query", + "name": "price_max", + "type": "number", + "x-example": 50 + }, + { + "description": "Comma-separated condition filter: brand_new, used_like_new, used_excellent, used_good, used_fair", + "in": "query", + "name": "condition", + "type": "string", + "x-example": "used_excellent,used_good" + }, + { + "description": "Comma-separated colour filter: black, grey, white, brown, tan, cream, yellow, red, burgundy, orange, pink, purple, blue, navy, green, khaki, multi", + "in": "query", + "name": "colours", + "type": "string", + "x-example": "black,white" + }, + { + "description": "Restrict results to discounted listings", + "in": "query", + "name": "on_sale", + "type": "boolean" + }, + { + "description": "Sort order: relevance, price_low_to_high, price_high_to_low", + "in": "query", + "name": "sort", + "type": "string", + "x-example": "price_low_to_high" + }, + { + "description": "Depop category slug: tops, bottoms, dresses, coats-jackets, jumpsuit-and-playsuit, suits, footwear, accessories, nightwear, underwear, swim-beach-wear, fancy-dress, sleepsuits-and-bodysuits, bundles, beauty, face-masks, home, tech-accessories, film, art, books-and-magazine, music, party-supplies, sports-equipment-accesories, toys, umbrella. See GET /depop/categories for a machine-readable enumeration with names and subcategories.", + "in": "query", + "name": "category", + "type": "string", + "x-example": "tops" + }, + { + "description": "Comma-separated Depop subcategory slug(s), scoped within category. See GET /depop/categories for the full list per category.", + "in": "query", + "name": "subcategory", + "type": "string", + "x-example": "tshirts,hoodies" + }, + { + "description": "Department filter: female, male", + "in": "query", + "name": "gender", + "type": "string", + "x-example": "female" + }, + { + "description": "Kids-department filter: true restricts results to kids items only, false excludes them, omitted returns both.", + "in": "query", + "name": "is_kids", + "type": "boolean" + }, + { + "description": "Comma-separated Depop internal numeric brand ids. Not documented by Depop -- find a brand's id by browsing its depop.com/brands// page.", + "in": "query", + "name": "brand_ids", + "type": "string", + "x-example": "219" + }, + { + "description": "Comma-separated Depop size composite ids (format {size_set_id}.{id}, e.g. \\", + "in": "query", + "name": "sizes", + "type": "string", + "x-example": "4.17" + }, + { + "description": "Opaque pagination cursor from a previous response's next_cursor field. Omit for the first page.", + "in": "query", + "name": "after", + "type": "string" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/depop.searchResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "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": "Search Depop listings", + "tags": [ + "Depop" + ] + } + }, + "/depop/search-sellers": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Finds Depop users/sellers by name or username. A matched result's username can be passed directly to GET /depop/shop/{username} for that seller's full shop. Public data sourced from Depop's own user-search API.", + "operationId": "depop-search-sellers", + "parameters": [ + { + "description": "Seller name or username to search for", + "in": "query", + "name": "query", + "required": true, + "type": "string", + "x-example": "vintage nike" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/depop.searchSellersResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "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": "Search Depop sellers by name", "tags": [ "Depop" ] } }, - "/depop/search": { + "/depop/search/facets": { "get": { "consumes": [ "application/json" ], - "description": "Searches Depop's resale-fashion marketplace by free-text keyword, with optional price, condition, colour, category, subcategory, gender, kids-department, brand, discount, and sort filters, returning normalized listing summaries (title, price, brand, condition, like count, photos, sizes), a pagination cursor, and the total matching count. Public data sourced from Depop's own search API.", - "operationId": "depop-search", + "description": "Returns result-count breakdowns per department/category/subcategory for a search query, via Depop's dedicated aggregates API -- a distinct upstream call from search itself, not embedded in its response. Public data sourced from Depop's own search-aggregates API.", + "operationId": "depop-search-facets", "parameters": [ { "description": "Free-text keyword search", @@ -120426,88 +123759,7 @@ "name": "query", "required": true, "type": "string", - "x-example": "nike jacket" - }, - { - "description": "Minimum listing price in USD", - "in": "query", - "name": "price_min", - "type": "number", - "x-example": 15 - }, - { - "description": "Maximum listing price in USD", - "in": "query", - "name": "price_max", - "type": "number", - "x-example": 50 - }, - { - "description": "Comma-separated condition filter: brand_new, used_like_new, used_excellent, used_good, used_fair", - "in": "query", - "name": "condition", - "type": "string", - "x-example": "used_excellent,used_good" - }, - { - "description": "Comma-separated colour filter: black, grey, white, brown, tan, cream, yellow, red, burgundy, orange, pink, purple, blue, navy, green, khaki, multi", - "in": "query", - "name": "colours", - "type": "string", - "x-example": "black,white" - }, - { - "description": "Restrict results to discounted listings", - "in": "query", - "name": "on_sale", - "type": "boolean" - }, - { - "description": "Sort order: relevance, price_low_to_high, price_high_to_low", - "in": "query", - "name": "sort", - "type": "string", - "x-example": "price_low_to_high" - }, - { - "description": "Depop category slug: tops, bottoms, dresses, coats-jackets, jumpsuit-and-playsuit, suits, footwear, accessories, nightwear, underwear, swim-beach-wear, fancy-dress, sleepsuits-and-bodysuits, bundles, beauty, face-masks, home, tech-accessories, film, art, books-and-magazine, music, party-supplies, sports-equipment-accesories, toys, umbrella. See GET /depop/categories for a machine-readable enumeration with names and subcategories.", - "in": "query", - "name": "category", - "type": "string", - "x-example": "tops" - }, - { - "description": "Comma-separated Depop subcategory slug(s), scoped within category. See GET /depop/categories for the full list per category.", - "in": "query", - "name": "subcategory", - "type": "string", - "x-example": "tshirts,hoodies" - }, - { - "description": "Department filter: female, male", - "in": "query", - "name": "gender", - "type": "string", - "x-example": "female" - }, - { - "description": "Kids-department filter: true restricts results to kids items only, false excludes them, omitted returns both.", - "in": "query", - "name": "is_kids", - "type": "boolean" - }, - { - "description": "Comma-separated Depop internal numeric brand ids. Not documented by Depop -- find a brand's id by browsing its depop.com/brands// page.", - "in": "query", - "name": "brand_ids", - "type": "string", - "x-example": "219" - }, - { - "description": "Opaque pagination cursor from a previous response's next_cursor field. Omit for the first page.", - "in": "query", - "name": "after", - "type": "string" + "x-example": "bandage dress" } ], "produces": [ @@ -120517,7 +123769,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/depop.searchResponseDoc" + "$ref": "#/definitions/depop.searchFacetsResponseDoc" } }, "400": { @@ -120544,7 +123796,7 @@ "ApiKeyAuth": [] } ], - "summary": "Search Depop listings", + "summary": "Depop search result-count breakdowns", "tags": [ "Depop" ] @@ -120627,6 +123879,13 @@ "name": "gender", "type": "string", "x-example": "male" + }, + { + "description": "Comma-separated Depop size composite ids (format {size_set_id}.{id}, e.g. \\", + "in": "query", + "name": "sizes", + "type": "string", + "x-example": "54.4" } ], "produces": [ @@ -120675,6 +123934,104 @@ ] } }, + "/depop/sizes": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Depop's full, multi-region size taxonomy -- every composite id usable with /depop/search's and /depop/shop/{username}'s sizes filter. Public data sourced from Depop's own size-filter API.", + "operationId": "depop-sizes", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/depop.sizesResponseDoc" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Depop's size taxonomy", + "tags": [ + "Depop" + ] + } + }, + "/depop/suggest": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns Depop's own search-box autocomplete suggestions for a partial query, including the category a suggestion maps to when relevant. Public data sourced from Depop's own search-suggestions API.", + "operationId": "depop-suggest", + "parameters": [ + { + "description": "Partial search query to autocomplete", + "in": "query", + "name": "query", + "required": true, + "type": "string", + "x-example": "red corte" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/depop.suggestResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "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": "Depop search-box autocomplete", + "tags": [ + "Depop" + ] + } + }, "/diagnostics/antibot-check": { "post": { "consumes": [ @@ -121749,19 +125106,98 @@ "ApiKeyAuth": [] } ], - "summary": "Get a DoorDash store", + "summary": "Get a DoorDash store", + "tags": [ + "DoorDash" + ] + } + }, + "/doordash/store/{store_id}/fulfillment": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns store fulfillment methods, delivery fee info, and scheduling details from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-fulfillment", + "parameters": [ + { + "description": "Numeric DoorDash store ID", + "in": "path", + "name": "store_id", + "required": true, + "type": "string", + "x-example": "26282644" + }, + { + "description": "Delivery latitude", + "in": "query", + "name": "latitude", + "required": true, + "type": "number", + "x-example": 37.7825 + }, + { + "description": "Delivery longitude", + "in": "query", + "name": "longitude", + "required": true, + "type": "number", + "x-example": -122.461 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/doordash.storeFulfillmentResponseDoc" + } + }, + "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 DoorDash store fulfillment details", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/fulfillment": { + "/doordash/store/{store_id}/info": { "get": { "consumes": [ "application/json" ], - "description": "Returns store fulfillment methods, delivery fee info, and scheduling details from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-fulfillment", + "description": "Returns a lightweight store info card (map coordinates, address, phone number) from the Android mobile guest experience. This is a distinct upstream contract from the full store endpoint and reliably includes address and coordinates. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-info", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -121795,7 +125231,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeFulfillmentResponseDoc" + "$ref": "#/definitions/doordash.storeInfoResponseDoc" } }, "400": { @@ -121828,19 +125264,19 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash store fulfillment details", + "summary": "Get DoorDash store contact info", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/info": { + "/doordash/store/{store_id}/item/{item_id}": { "get": { "consumes": [ "application/json" ], - "description": "Returns a lightweight store info card (map coordinates, address, phone number) from the Android mobile guest experience. This is a distinct upstream contract from the full store endpoint and reliably includes address and coordinates. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-info", + "description": "Returns details for a specific menu item from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-item", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -121850,6 +125286,14 @@ "type": "string", "x-example": "26282644" }, + { + "description": "Menu item ID or name", + "in": "path", + "name": "item_id", + "required": true, + "type": "string", + "x-example": "Roasted Duck" + }, { "description": "Delivery latitude", "in": "query", @@ -121874,7 +125318,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeInfoResponseDoc" + "$ref": "#/definitions/doordash.storeItemResponseDoc" } }, "400": { @@ -121907,19 +125351,19 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash store contact info", + "summary": "Get DoorDash menu item details", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/item/{item_id}": { + "/doordash/store/{store_id}/menu": { "get": { "consumes": [ "application/json" ], - "description": "Returns details for a specific menu item from the Android mobile guest experience. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-item", + "description": "Returns the location-aware DoorDash mobile menu, grouped into sections with item names, descriptions, and displayed prices. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-menu", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -121929,14 +125373,6 @@ "type": "string", "x-example": "26282644" }, - { - "description": "Menu item ID or name", - "in": "path", - "name": "item_id", - "required": true, - "type": "string", - "x-example": "Roasted Duck" - }, { "description": "Delivery latitude", "in": "query", @@ -121961,7 +125397,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeItemResponseDoc" + "$ref": "#/definitions/doordash.menuResponseDoc" } }, "400": { @@ -121994,19 +125430,19 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash menu item details", + "summary": "Get a DoorDash store menu", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/menu": { + "/doordash/store/{store_id}/reviews": { "get": { "consumes": [ "application/json" ], - "description": "Returns the location-aware DoorDash mobile menu, grouped into sections with item names, descriptions, and displayed prices. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-menu", + "description": "Returns store ratings and customer reviews from the Android mobile guest experience for a location. No DoorDash account or caller-supplied token is required.", + "operationId": "doordash-store-reviews", "parameters": [ { "description": "Numeric DoorDash store ID", @@ -122040,7 +125476,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.menuResponseDoc" + "$ref": "#/definitions/doordash.storeReviewsResponseDoc" } }, "400": { @@ -122073,43 +125509,27 @@ "ApiKeyAuth": [] } ], - "summary": "Get a DoorDash store menu", + "summary": "Get DoorDash store reviews", "tags": [ "DoorDash" ] } }, - "/doordash/store/{store_id}/reviews": { + "/draftkings/sportsbook/event": { "get": { "consumes": [ "application/json" ], - "description": "Returns store ratings and customer reviews from the Android mobile guest experience for a location. No DoorDash account or caller-supplied token is required.", - "operationId": "doordash-store-reviews", + "description": "Returns one event's metadata (league id, sport id, teams, status, start time) from DraftKings' credential-free public JSON. `event_id` is a numeric DraftKings event identifier (find it from an event's DraftKings Sportsbook page, or from the `id` field of an event returned by /draftkings/sportsbook/odds). The returned `league_id` is accepted by /draftkings/sportsbook/odds and /draftkings/sportsbook/futures. This endpoint does not include betting markets/odds.", + "operationId": "draftkings-event", "parameters": [ { - "description": "Numeric DoorDash store ID", - "in": "path", - "name": "store_id", - "required": true, - "type": "string", - "x-example": "26282644" - }, - { - "description": "Delivery latitude", - "in": "query", - "name": "latitude", - "required": true, - "type": "number", - "x-example": 37.7825 - }, - { - "description": "Delivery longitude", + "description": "Numeric DraftKings event id", "in": "query", - "name": "longitude", + "name": "event_id", "required": true, - "type": "number", - "x-example": -122.461 + "type": "string", + "x-example": "34240140" } ], "produces": [ @@ -122119,7 +125539,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/doordash.storeReviewsResponseDoc" + "$ref": "#/definitions/draftkings.eventResponseDoc" } }, "400": { @@ -122134,8 +125554,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -122152,19 +125572,16 @@ "ApiKeyAuth": [] } ], - "summary": "Get DoorDash store reviews", + "summary": "DraftKings Sportsbook event", "tags": [ - "DoorDash" + "DraftKings Sportsbook" ] } }, - "/draftkings/event": { + "/draftkings/sportsbook/event-context": { "get": { - "consumes": [ - "application/json" - ], - "description": "Returns one event's metadata (teams, status, start time) from DraftKings' credential-free public JSON. `event_id` is a numeric DraftKings event identifier (find it from an event's DraftKings Sportsbook page, or from the `id` field of an event returned by /draftkings/odds). This endpoint does not include betting markets/odds -- use /draftkings/odds for those.", - "operationId": "draftkings-event", + "description": "Returns public sport, league, and event navigation identifiers for a numeric DraftKings event id. Use it to associate an event with DraftKings Sportsbook's public sport and league navigation.", + "operationId": "draftkings-event-context", "parameters": [ { "description": "Numeric DraftKings event id", @@ -122172,7 +125589,7 @@ "name": "event_id", "required": true, "type": "string", - "x-example": "34240140" + "x-example": "34522271" } ], "produces": [ @@ -122182,7 +125599,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/draftkings.eventResponseDoc" + "$ref": "#/definitions/draftkings.eventContextResponseDoc" } }, "400": { @@ -122215,18 +125632,18 @@ "ApiKeyAuth": [] } ], - "summary": "DraftKings Sportsbook event", + "summary": "DraftKings Sportsbook event context", "tags": [ - "DraftKings" + "DraftKings Sportsbook" ] } }, - "/draftkings/event-markets": { + "/draftkings/sportsbook/event-markets": { "get": { "consumes": [ "application/json" ], - "description": "Returns one event's betting markets and selections for a specific market category, from DraftKings' credential-free public JSON. `event_id` is a numeric DraftKings event identifier (find it from the `id` field of an event returned by /draftkings/odds). `subcategory_id` selects the market category (e.g. game lines, a player-prop category, an alternate-line category) -- find one from the `subcategory_id` field on a market returned by /draftkings/odds, or from a DraftKings Sportsbook event page's own network traffic. An empty `markets` list is a valid response when the category has no markets currently posted for this event.", + "description": "Returns one event's betting markets and selections for a specific market category, from DraftKings' credential-free public JSON. `event_id` is a numeric DraftKings event identifier (find it from the `id` field of an event returned by /draftkings/sportsbook/odds). `subcategory_id` selects the market category (e.g. game lines, a player-prop category, an alternate-line category) -- find one from the `subcategory_id` field on a market returned by /draftkings/sportsbook/odds, or from a DraftKings Sportsbook event page's own network traffic. An empty `markets` list is a valid response when the category has no markets currently posted for this event.", "operationId": "draftkings-event-markets", "parameters": [ { @@ -122288,11 +125705,52 @@ ], "summary": "DraftKings Sportsbook event markets", "tags": [ - "DraftKings" + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/featured-leagues": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns public DraftKings Sportsbook leagues currently marked as featured in its sport navigation. Each item includes its numeric `id`, capability `tags`, live-offer status, and upstream featured ordering. Use the `id` as `league_id` with /draftkings/sportsbook/odds and /draftkings/sportsbook/futures.", + "operationId": "draftkings-featured-leagues", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.featuredLeaguesResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "DraftKings Sportsbook featured leagues", + "tags": [ + "DraftKings Sportsbook" ] } }, - "/draftkings/futures": { + "/draftkings/sportsbook/futures": { "get": { "consumes": [ "application/json" @@ -122359,11 +125817,156 @@ ], "summary": "DraftKings Sportsbook futures", "tags": [ - "DraftKings" + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/league-events": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a DraftKings Sportsbook league's current public event directory, including event IDs, teams or other participants, start times, status, and public availability tags. Supply a numeric `league_id` from /draftkings/sportsbook/leagues, /draftkings/sportsbook/quick-links, /draftkings/sportsbook/featured-leagues, or /draftkings/sportsbook/event. This endpoint does not include betting markets or odds.", + "operationId": "draftkings-league-events", + "parameters": [ + { + "description": "Numeric DraftKings league id", + "in": "query", + "name": "league_id", + "required": true, + "type": "string", + "x-example": "84240" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.leagueEventsResponseDoc" + } + }, + "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": "DraftKings Sportsbook league event directory", + "tags": [ + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/leagues": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns DraftKings Sportsbook's current public sport and league directory. Each league `id` is accepted as `league_id` by /draftkings/sportsbook/odds and /draftkings/sportsbook/futures.", + "operationId": "draftkings-leagues", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.leaguesResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "DraftKings Sportsbook sports and leagues", + "tags": [ + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/live": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the live events currently shown by DraftKings Sportsbook, including score state, period, primary markets, and market categories that can be used with /draftkings/sportsbook/event-markets. An empty `events` list is valid when DraftKings has no live events at request time.", + "operationId": "draftkings-live", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.liveResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "DraftKings Sportsbook live events", + "tags": [ + "DraftKings Sportsbook" ] } }, - "/draftkings/odds": { + "/draftkings/sportsbook/odds": { "get": { "consumes": [ "application/json" @@ -122422,7 +126025,198 @@ ], "summary": "DraftKings Sportsbook odds", "tags": [ - "DraftKings" + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/quick-links": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the ordered league shortcuts currently prioritized on DraftKings Sportsbook's public home page. Each item includes a numeric `league_id` accepted by /draftkings/sportsbook/odds and /draftkings/sportsbook/futures.", + "operationId": "draftkings-quick-links", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.quickLinksResponseDoc" + } + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "DraftKings Sportsbook quick links", + "tags": [ + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/team": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns stable team metadata embedded in a public DraftKings Sportsbook team page. Supply `team_id`, `sport`, and `slug` from an item returned by /draftkings/sportsbook/teams. Allowed `sport` values: `football`, `hockey`, `basketball`, `baseball`.", + "operationId": "draftkings-team", + "parameters": [ + { + "description": "Numeric DraftKings team id", + "in": "query", + "name": "team_id", + "required": true, + "type": "string", + "x-example": "18454" + }, + { + "description": "Sport: football, hockey, basketball, baseball", + "enum": [ + "football", + "hockey", + "basketball", + "baseball" + ], + "in": "query", + "name": "sport", + "required": true, + "type": "string", + "x-example": "football" + }, + { + "description": "Lowercase DraftKings team slug", + "in": "query", + "name": "slug", + "required": true, + "type": "string", + "x-example": "arizona-cardinals" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.teamResponseDoc" + } + }, + "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": "DraftKings Sportsbook team", + "tags": [ + "DraftKings Sportsbook" + ] + } + }, + "/draftkings/sportsbook/teams": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the teams listed on DraftKings Sportsbook's public Teams page for one league. Allowed `league` values: `nfl`, `nhl`, `nba`, `cbb`, `mlb`, `cfb`.", + "operationId": "draftkings-teams", + "parameters": [ + { + "description": "League: nfl, nhl, nba, cbb, mlb, cfb", + "enum": [ + "nfl", + "nhl", + "nba", + "cbb", + "mlb", + "cfb" + ], + "in": "query", + "name": "league", + "required": true, + "type": "string", + "x-example": "nfl" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/draftkings.teamsResponseDoc" + } + }, + "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": "DraftKings Sportsbook league teams", + "tags": [ + "DraftKings Sportsbook" ] } }, @@ -131015,6 +134809,75 @@ ] } }, + "/googlepatents/classification": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a CPC classification symbol's official title, its position in the classification tree (parent/child symbols), related symbols, and its full scope-note description. Accepts a symbol at any level, e.g. a section (\"A\"), a class (\"A61\"), a subclass (\"A61K\"), or a full group/subgroup (\"A61K31/00\"). Public data, sourced from Google Patents' own search API.", + "operationId": "googlepatents-classification", + "parameters": [ + { + "description": "CPC classification symbol", + "in": "query", + "name": "code", + "required": true, + "type": "string", + "x-example": "A61K31/00" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/googlepatents.classificationResponseDoc" + } + }, + "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" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Look up a Cooperative Patent Classification (CPC) symbol", + "tags": [ + "Google Patents" + ] + } + }, "/googlepatents/coverage": { "get": { "consumes": [ @@ -131138,6 +135001,75 @@ ] } }, + "/googlepatents/recent": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the patent publications Google Patents' bulk sitemap indexes for one ISO 8601 week (format YYYY-Www, e.g. \"2026-W20\"): publication number, title, and detail-page URL for each. Useful for browsing recently published patents without a search query. Public data, sourced from Google Patents' own sitemap.", + "operationId": "googlepatents-recent", + "parameters": [ + { + "description": "ISO 8601 week, format YYYY-Www", + "in": "query", + "name": "week", + "required": true, + "type": "string", + "x-example": "2026-W20" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/googlepatents.recentResponseDoc" + } + }, + "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" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Browse patent publications indexed by Google Patents for one ISO week", + "tags": [ + "Google Patents" + ] + } + }, "/googlepatents/search": { "get": { "consumes": [ @@ -132636,7 +136568,7 @@ "ApiKeyAuth": [] } ], - "summary": "Get related products for an H&M product", + "summary": "Get an H&M product's related items", "tags": [ "H&M" ] @@ -132757,7 +136689,7 @@ "ApiKeyAuth": [] } ], - "summary": "Get H&M search-box typeahead suggestions", + "summary": "Get H&M search-box suggestions", "tags": [ "H&M" ] @@ -157984,54 +161916,607 @@ "ApiKeyAuth": [] } ], - "summary": "Get a single filing by accession number", + "summary": "Get a single filing by accession number", + "tags": [ + "SEC EDGAR" + ] + } + }, + "/sec/filing/sections": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Extracts item sections (e.g. 1A Risk Factors, 7 MD&A) from a 10-K/10-Q/8-K primary document as clean text. Provide accession plus cik or ticker. Credential-free public SEC data.", + "operationId": "sec-filing-sections", + "parameters": [ + { + "description": "SEC CIK (numeric or zero-padded)", + "in": "query", + "name": "cik", + "type": "string", + "x-example": "320193" + }, + { + "description": "Ticker symbol (alternative to cik)", + "in": "query", + "name": "ticker", + "type": "string", + "x-example": "AAPL" + }, + { + "description": "Accession number", + "in": "query", + "name": "accession", + "required": true, + "type": "string", + "x-example": "0000320193-25-000079" + }, + { + "description": "Comma-separated item numbers to return, e.g. 1A,7", + "in": "query", + "name": "items", + "type": "string", + "x-example": "1A,7" + }, + { + "description": "Max characters per section, default 20000, max 200000", + "in": "query", + "name": "max_chars", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sec.filingSectionsResponseDoc" + } + }, + "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": "Extract 10-K/10-Q/8-K item sections", + "tags": [ + "SEC EDGAR" + ] + } + }, + "/sec/financials": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a company's normalized financial statements across recent periods, resolving EDGAR's inconsistent XBRL tags to a stable schema. Provide cik or ticker. Credential-free public SEC data.", + "operationId": "sec-financials", + "parameters": [ + { + "description": "SEC CIK (numeric or zero-padded)", + "in": "query", + "name": "cik", + "type": "string", + "x-example": "320193" + }, + { + "description": "Ticker symbol (alternative to cik)", + "in": "query", + "name": "ticker", + "type": "string", + "x-example": "AAPL" + }, + { + "description": "Statement, default income", + "enum": [ + "income", + "balance", + "cash_flow" + ], + "in": "query", + "name": "statement", + "type": "string" + }, + { + "description": "Period basis, default annual", + "enum": [ + "annual", + "quarterly" + ], + "in": "query", + "name": "period", + "type": "string" + }, + { + "description": "Number of periods, default 5, max 20", + "in": "query", + "name": "limit", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sec.financialsResponseDoc" + } + }, + "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": "Normalized income statement, balance sheet, or cash flow", + "tags": [ + "SEC EDGAR" + ] + } + }, + "/sec/frames": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns every filer's reported value for one XBRL concept in one reporting period (an EDGAR \"frame\"). Credential-free public SEC data.", + "operationId": "sec-frames", + "parameters": [ + { + "description": "XBRL concept tag, e.g. Assets, Revenues", + "in": "query", + "name": "concept", + "required": true, + "type": "string", + "x-example": "Assets" + }, + { + "description": "Reporting frame, e.g. CY2024, CY2024Q1, CY2024Q4I", + "in": "query", + "name": "period", + "required": true, + "type": "string", + "x-example": "CY2024Q4I" + }, + { + "description": "Unit of measure, default USD", + "in": "query", + "name": "unit", + "type": "string", + "x-example": "USD" + }, + { + "description": "XBRL taxonomy, default us-gaap", + "enum": [ + "dei", + "ifrs-full", + "srt", + "us-gaap" + ], + "in": "query", + "name": "taxonomy", + "type": "string" + }, + { + "description": "Max companies, default 200, max 2000", + "in": "query", + "name": "limit", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sec.framesResponseDoc" + } + }, + "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": "Cross-company values for one XBRL concept and period", + "tags": [ + "SEC EDGAR" + ] + } + }, + "/sec/full-text-search": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Searches the full text of SEC EDGAR filings (efts), filtered by form and date, with pagination. Credential-free public SEC data; free where incumbents gate full-text search behind paid tiers.", + "operationId": "sec-full-text-search", + "parameters": [ + { + "description": "Search query (supports quoted phrases)", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "artificial intelligence" + }, + { + "description": "Filter by form types, comma-separated", + "in": "query", + "name": "forms", + "type": "string", + "x-example": "10-K" + }, + { + "description": "Earliest filing date (YYYY-MM-DD)", + "in": "query", + "name": "from", + "type": "string" + }, + { + "description": "Latest filing date (YYYY-MM-DD)", + "in": "query", + "name": "to", + "type": "string" + }, + { + "description": "1-based page number, default 1", + "in": "query", + "name": "page", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sec.fullTextResponseDoc" + } + }, + "400": { + "description": "Bad Request", + "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": "Full-text search across EDGAR filings", + "tags": [ + "SEC EDGAR" + ] + } + }, + "/sec/insider": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns a company's recent insider transactions parsed from Form 3/4/5 ownership filings (owner, role, security, shares, price). Provide cik or ticker. Credential-free public SEC data.", + "operationId": "sec-insider", + "parameters": [ + { + "description": "SEC CIK (numeric or zero-padded)", + "in": "query", + "name": "cik", + "type": "string", + "x-example": "320193" + }, + { + "description": "Ticker symbol (alternative to cik)", + "in": "query", + "name": "ticker", + "type": "string", + "x-example": "AAPL" + }, + { + "description": "Max transactions, default 10, max 30", + "in": "query", + "name": "limit", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sec.insiderResponseDoc" + } + }, + "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": "Insider transactions (Forms 3/4/5)", + "tags": [ + "SEC EDGAR" + ] + } + }, + "/sec/institutional-holdings": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns the latest 13F-HR holdings for an institutional manager (by CIK): issuer, value, shares, sorted by value. Credential-free public SEC data.", + "operationId": "sec-institutional-holdings", + "parameters": [ + { + "description": "Institutional manager CIK", + "in": "query", + "name": "cik", + "required": true, + "type": "string", + "x-example": "1067983" + }, + { + "description": "Max holdings, default 50, max 1000", + "in": "query", + "name": "limit", + "type": "integer" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sec.holdingsResponseDoc" + } + }, + "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": "Institutional holdings (13F-HR)", "tags": [ "SEC EDGAR" ] } }, - "/sec/filing/sections": { + "/sephora/category": { "get": { "consumes": [ "application/json" ], - "description": "Extracts item sections (e.g. 1A Risk Factors, 7 MD&A) from a 10-K/10-Q/8-K primary document as clean text. Provide accession plus cik or ticker. Credential-free public SEC data.", - "operationId": "sec-filing-sections", + "description": "Returns one page of a Sephora category/browse listing (e.g. Makeup, Skincare), with the same sort and facet filters as /sephora/search. slug is the path segment after sephora.com/shop/, e.g. makeup-cosmetics. An unrecognized slug returns 404.", + "operationId": "sephora-category", "parameters": [ { - "description": "SEC CIK (numeric or zero-padded)", + "description": "Category-page slug", "in": "query", - "name": "cik", + "name": "slug", + "required": true, "type": "string", - "x-example": "320193" + "x-example": "makeup-cosmetics" }, { - "description": "Ticker symbol (alternative to cik)", + "description": "Result page, 1-based, defaults to 1", "in": "query", - "name": "ticker", - "type": "string", - "x-example": "AAPL" + "name": "page", + "type": "integer", + "x-example": 1 }, { - "description": "Accession number", + "description": "Sort order, defaults to featured", + "enum": [ + "featured", + "top_rated", + "new", + "best_selling", + "price_low_to_high", + "price_high_to_low" + ], "in": "query", - "name": "accession", - "required": true, + "name": "sort_by", "type": "string", - "x-example": "0000320193-25-000079" + "x-example": "featured" }, { - "description": "Comma-separated item numbers to return, e.g. 1A,7", + "description": "Minimum price in whole dollars; must be set together with price_max", "in": "query", - "name": "items", - "type": "string", - "x-example": "1A,7" + "name": "price_min", + "type": "integer", + "x-example": 15 }, { - "description": "Max characters per section, default 20000, max 200000", + "description": "Maximum price in whole dollars; must be set together with price_min", "in": "query", - "name": "max_chars", - "type": "integer" + "name": "price_max", + "type": "integer", + "x-example": 30 + }, + { + "collectionFormat": "csv", + "description": "One or more exact brand names to filter to (OR'd together); repeat the param for multiple values", + "in": "query", + "items": { + "type": "string" + }, + "name": "brand", + "type": "array", + "x-example": "Lancôme" + }, + { + "description": "Minimum star rating, 1 to 4", + "in": "query", + "name": "rating_min", + "type": "integer", + "x-example": 4 + }, + { + "description": "When true, filters to products flagged New", + "in": "query", + "name": "is_new", + "type": "boolean", + "x-example": false + }, + { + "collectionFormat": "csv", + "description": "Additional facet:value filters, repeat the param for multiple; facet must be one of: benefits, ingredientpreferences, colorfamily, formulation, size, shoppingpreferences, agerange, skintype, finish, skinconcerns, coverage, hairtype, hairconcerns, hairtexture", + "in": "query", + "items": { + "type": "string" + }, + "name": "filter", + "type": "array", + "x-example": "formulation:serum" } ], "produces": [ @@ -158041,7 +162526,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/sec.filingSectionsResponseDoc" + "$ref": "#/definitions/sephora.categoryResponseDoc" } }, "400": { @@ -158056,8 +162541,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -158074,60 +162559,27 @@ "ApiKeyAuth": [] } ], - "summary": "Extract 10-K/10-Q/8-K item sections", + "summary": "Sephora category browse", "tags": [ - "SEC EDGAR" + "Sephora" ] } }, - "/sec/financials": { + "/sephora/product": { "get": { "consumes": [ "application/json" ], - "description": "Returns a company's normalized financial statements across recent periods, resolving EDGAR's inconsistent XBRL tags to a stable schema. Provide cik or ticker. Credential-free public SEC data.", - "operationId": "sec-financials", + "description": "Returns one Sephora product's full detail (every color/shade variant with its own price and availability, rating, review count, and a sample of recent reviews), from Sephora's credential-free public JSON-LD. `product_id` is the full product-page slug, e.g. `lip-sleeping-mask-P420652` -- copy it from the path segment after sephora.com/product/ on any product page; unlike some other retailers, an arbitrary or partial slug does not resolve.", + "operationId": "sephora-product", "parameters": [ { - "description": "SEC CIK (numeric or zero-padded)", - "in": "query", - "name": "cik", - "type": "string", - "x-example": "320193" - }, - { - "description": "Ticker symbol (alternative to cik)", + "description": "Full Sephora product-page slug", "in": "query", - "name": "ticker", + "name": "product_id", + "required": true, "type": "string", - "x-example": "AAPL" - }, - { - "description": "Statement, default income", - "enum": [ - "income", - "balance", - "cash_flow" - ], - "in": "query", - "name": "statement", - "type": "string" - }, - { - "description": "Period basis, default annual", - "enum": [ - "annual", - "quarterly" - ], - "in": "query", - "name": "period", - "type": "string" - }, - { - "description": "Number of periods, default 5, max 20", - "in": "query", - "name": "limit", - "type": "integer" + "x-example": "lip-sleeping-mask-P420652" } ], "produces": [ @@ -158137,7 +162589,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/sec.financialsResponseDoc" + "$ref": "#/definitions/sephora.productResponseDoc" } }, "400": { @@ -158152,8 +162604,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -158170,60 +162622,98 @@ "ApiKeyAuth": [] } ], - "summary": "Normalized income statement, balance sheet, or cash flow", + "summary": "Sephora product detail", "tags": [ - "SEC EDGAR" + "Sephora" ] } }, - "/sec/frames": { + "/sephora/product/questions": { "get": { "consumes": [ "application/json" ], - "description": "Returns every filer's reported value for one XBRL concept in one reporting period (an EDGAR \"frame\"). Credential-free public SEC data.", - "operationId": "sec-frames", + "description": "Returns one page of a Sephora product's customer Q&A: each question plus every answer it received (text, author, whether it's a brand answer, helpful votes). product_id is the Sephora productGroupID, e.g. P420652 -- the same value /sephora/product returns as product_group_id.", + "operationId": "sephora-product-questions", "parameters": [ { - "description": "XBRL concept tag, e.g. Assets, Revenues", + "description": "Sephora productGroupID", "in": "query", - "name": "concept", + "name": "product_id", "required": true, "type": "string", - "x-example": "Assets" + "x-example": "P420652" }, { - "description": "Reporting frame, e.g. CY2024, CY2024Q1, CY2024Q4I", + "description": "Result page, 1-based, defaults to 1", "in": "query", - "name": "period", - "required": true, - "type": "string", - "x-example": "CY2024Q4I" + "name": "page", + "type": "integer", + "x-example": 1 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/sephora.productQuestionsResponseDoc" + } }, - { - "description": "Unit of measure, default USD", - "in": "query", - "name": "unit", - "type": "string", - "x-example": "USD" + "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": [ { - "description": "XBRL taxonomy, default us-gaap", - "enum": [ - "dei", - "ifrs-full", - "srt", - "us-gaap" - ], + "ApiKeyAuth": [] + } + ], + "summary": "Sephora product questions and answers", + "tags": [ + "Sephora" + ] + } + }, + "/sephora/product/reviews": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Returns one page of a Sephora product's full customer reviews (title, body, rating, author, helpful votes, secondary ratings, photos), plus the product's site-wide rating rollup (average rating, recommended ratio, star-count histogram). product_id is the Sephora productGroupID, e.g. P420652 -- the same value /sephora/product returns as product_group_id.", + "operationId": "sephora-product-reviews", + "parameters": [ + { + "description": "Sephora productGroupID", "in": "query", - "name": "taxonomy", - "type": "string" + "name": "product_id", + "required": true, + "type": "string", + "x-example": "P420652" }, { - "description": "Max companies, default 200, max 2000", + "description": "Result page, 1-based, defaults to 1", "in": "query", - "name": "limit", - "type": "integer" + "name": "page", + "type": "integer", + "x-example": 1 } ], "produces": [ @@ -158233,7 +162723,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/sec.framesResponseDoc" + "$ref": "#/definitions/sephora.productReviewsResponseDoc" } }, "400": { @@ -158242,14 +162732,8 @@ "$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" } @@ -158266,52 +162750,106 @@ "ApiKeyAuth": [] } ], - "summary": "Cross-company values for one XBRL concept and period", + "summary": "Sephora product reviews", "tags": [ - "SEC EDGAR" + "Sephora" ] } }, - "/sec/full-text-search": { + "/sephora/search": { "get": { "consumes": [ "application/json" ], - "description": "Searches the full text of SEC EDGAR filings (efts), filtered by form and date, with pagination. Credential-free public SEC data; free where incumbents gate full-text search behind paid tiers.", - "operationId": "sec-full-text-search", + "description": "Searches Sephora's product catalog by keyword, with real page-based pagination. Returns normalized products with brand, pricing, rating, and review count. Sephora's own search never returns a genuine zero-result state for a nonempty keyword -- an unrecognized/nonsense keyword still returns a full, unrelated fallback result set rather than an empty one. price_min/price_max must be provided together (whole dollars) -- upstream silently ignores a one-sided price range rather than filtering or erroring, so this endpoint rejects a one-sided range as invalid instead of passing it through. brand and filter each accept multiple values (OR'd together within the same facet); brand/rating_min/is_new/filter/price_min/price_max can all be combined with each other (AND'd together across different facets).", + "operationId": "sephora-search", "parameters": [ { - "description": "Search query (supports quoted phrases)", + "description": "Search keyword", "in": "query", - "name": "q", + "name": "query", "required": true, "type": "string", - "x-example": "artificial intelligence" + "x-example": "mascara" }, { - "description": "Filter by form types, comma-separated", + "description": "Result page, 1-based, defaults to 1", "in": "query", - "name": "forms", + "name": "page", + "type": "integer", + "x-example": 1 + }, + { + "description": "Results per page, 1 to 100, defaults to 60", + "in": "query", + "name": "page_size", + "type": "integer", + "x-example": 60 + }, + { + "description": "Sort order, defaults to featured", + "enum": [ + "featured", + "top_rated", + "new", + "best_selling", + "price_low_to_high", + "price_high_to_low" + ], + "in": "query", + "name": "sort_by", "type": "string", - "x-example": "10-K" + "x-example": "featured" }, { - "description": "Earliest filing date (YYYY-MM-DD)", + "description": "Minimum price in whole dollars; must be set together with price_max", "in": "query", - "name": "from", - "type": "string" + "name": "price_min", + "type": "integer", + "x-example": 15 }, { - "description": "Latest filing date (YYYY-MM-DD)", + "description": "Maximum price in whole dollars; must be set together with price_min", "in": "query", - "name": "to", - "type": "string" + "name": "price_max", + "type": "integer", + "x-example": 30 }, { - "description": "1-based page number, default 1", + "collectionFormat": "csv", + "description": "One or more exact brand names to filter to (OR'd together); repeat the param for multiple values", "in": "query", - "name": "page", - "type": "integer" + "items": { + "type": "string" + }, + "name": "brand", + "type": "array", + "x-example": "Lancôme" + }, + { + "description": "Minimum star rating, 1 to 4", + "in": "query", + "name": "rating_min", + "type": "integer", + "x-example": 4 + }, + { + "description": "When true, filters to products flagged New", + "in": "query", + "name": "is_new", + "type": "boolean", + "x-example": false + }, + { + "collectionFormat": "csv", + "description": "Additional facet:value filters, repeat the param for multiple; facet must be one of: benefits, ingredientpreferences, colorfamily, formulation, size, shoppingpreferences, agerange, skintype, finish, skinconcerns, coverage, hairtype, hairconcerns, hairtexture", + "in": "query", + "items": { + "type": "string" + }, + "name": "filter", + "type": "array", + "x-example": "formulation:serum" } ], "produces": [ @@ -158321,7 +162859,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/sec.fullTextResponseDoc" + "$ref": "#/definitions/sephora.searchResponseDoc" } }, "400": { @@ -158330,8 +162868,8 @@ "$ref": "#/definitions/app.Response" } }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "schema": { "$ref": "#/definitions/app.Response" } @@ -158348,39 +162886,49 @@ "ApiKeyAuth": [] } ], - "summary": "Full-text search across EDGAR filings", + "summary": "Sephora product search", "tags": [ - "SEC EDGAR" + "Sephora" ] } }, - "/sec/insider": { + "/sephora/stores": { "get": { "consumes": [ "application/json" ], - "description": "Returns a company's recent insider transactions parsed from Form 3/4/5 ownership filings (owner, role, security, shares, price). Provide cik or ticker. Credential-free public SEC data.", - "operationId": "sec-insider", + "description": "Returns Sephora physical store locations near a coordinate (address, hours, BOPIS/curbside/same-day flags). Renders through a JS-executing browser backend, unlike every other Sephora endpoint -- the store-locator data call itself is plain HTTP, but it requires a per-visit access token minted by an endpoint gated behind a bot-management JS challenge, so responses may take longer.", + "operationId": "sephora-stores", "parameters": [ { - "description": "SEC CIK (numeric or zero-padded)", + "description": "Latitude, -90 to 90", "in": "query", - "name": "cik", - "type": "string", - "x-example": "320193" + "name": "latitude", + "required": true, + "type": "number", + "x-example": 41.88325 }, { - "description": "Ticker symbol (alternative to cik)", + "description": "Longitude, -180 to 180", "in": "query", - "name": "ticker", - "type": "string", - "x-example": "AAPL" + "name": "longitude", + "required": true, + "type": "number", + "x-example": -87.6323879 }, { - "description": "Max transactions, default 10, max 30", + "description": "Search radius in miles, 1 to 500, defaults to 50", + "in": "query", + "name": "radius", + "type": "integer", + "x-example": 50 + }, + { + "description": "Max stores to return, 1 to 50, defaults to 10", "in": "query", "name": "limit", - "type": "integer" + "type": "integer", + "x-example": 10 } ], "produces": [ @@ -158390,7 +162938,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/sec.insiderResponseDoc" + "$ref": "#/definitions/sephora.storesResponseDoc" } }, "400": { @@ -158399,14 +162947,8 @@ "$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" } @@ -158423,33 +162965,27 @@ "ApiKeyAuth": [] } ], - "summary": "Insider transactions (Forms 3/4/5)", + "summary": "Sephora store locator", "tags": [ - "SEC EDGAR" + "Sephora" ] } }, - "/sec/institutional-holdings": { + "/sephora/suggest": { "get": { "consumes": [ "application/json" ], - "description": "Returns the latest 13F-HR holdings for an institutional manager (by CIK): issuer, value, shares, sorted by value. Credential-free public SEC data.", - "operationId": "sec-institutional-holdings", + "description": "Returns Sephora's own search-box type-ahead suggestions for a partial keyword: keyword-completion terms, matching products, and trending/related categories. Sephora's own upstream never returns a genuine zero-result state for a nonempty query -- a deliberately nonsense query still returns unrelated product suggestions.", + "operationId": "sephora-suggest", "parameters": [ { - "description": "Institutional manager CIK", + "description": "Partial search keywords", "in": "query", - "name": "cik", + "name": "query", "required": true, "type": "string", - "x-example": "1067983" - }, - { - "description": "Max holdings, default 50, max 1000", - "in": "query", - "name": "limit", - "type": "integer" + "x-example": "masc" } ], "produces": [ @@ -158459,7 +162995,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/sec.holdingsResponseDoc" + "$ref": "#/definitions/sephora.suggestResponseDoc" } }, "400": { @@ -158468,14 +163004,8 @@ "$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" } @@ -158492,9 +163022,9 @@ "ApiKeyAuth": [] } ], - "summary": "Institutional holdings (13F-HR)", + "summary": "Sephora search suggestions", "tags": [ - "SEC EDGAR" + "Sephora" ] } }, @@ -175474,6 +180004,167 @@ ] } }, + "/usptoppubs/detail": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Fetches a single USPTO Patent Public Search record's full text -- bibliographic data, abstract, description, and claims -- by GUID and source database. guid and source normally come straight from a prior /usptoppubs/search result's guid and database fields. Public data, sourced from USPTO's own official search tool.", + "operationId": "usptoppubs-detail", + "parameters": [ + { + "description": "Document GUID, e.g. from a prior search result's guid field", + "in": "query", + "name": "guid", + "required": true, + "type": "string", + "x-example": "US-20260238009-A1" + }, + { + "description": "Source database. Allowed values: US-PGPUB, USPAT, USOCR", + "in": "query", + "name": "source", + "required": true, + "type": "string", + "x-example": "US-PGPUB" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/usptoppubs.detailResponseDoc" + } + }, + "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" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/app.Response" + } + }, + "503": { + "description": "Service Unavailable", + "schema": { + "$ref": "#/definitions/app.Response" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Fetch a document's full bibliographic data, abstract, description, and claims", + "tags": [ + "USPTO Patent Public Search" + ] + } + }, + "/usptoppubs/search": { + "get": { + "consumes": [ + "application/json" + ], + "description": "Searches USPTO Patent Public Search's full-text index of granted patents and published applications, returning normalized bibliographic results (title, applicant/assignee, inventors, filing and publication dates, application number, IPC/CPC classifications, page count). q accepts USPTO's full Advanced Search query syntax -- field-specific search (e.g. battery.ti., Microsoft.as.), date ranges (@pd>=20200101<=20241231), boolean and proximity operators, and wildcards -- see the markdown doc for the full field-code table and syntax reference. Public data, sourced from USPTO's own official search tool.", + "operationId": "usptoppubs-search", + "parameters": [ + { + "description": "Search query text -- accepts USPTO's full Advanced Search (BRS) query syntax: field codes, date ranges, boolean/proximity operators, wildcards", + "in": "query", + "name": "q", + "required": true, + "type": "string", + "x-example": "battery" + }, + { + "description": "Comma-separated subset of databases to search. Allowed values: US-PGPUB, USPAT, USOCR. Defaults to all three", + "in": "query", + "name": "databases", + "type": "string", + "x-example": "US-PGPUB,USPAT,USOCR" + }, + { + "description": "Results to return, default 20, max 100", + "in": "query", + "name": "num", + "type": "integer", + "x-example": 20 + }, + { + "description": "Results page, 0-indexed, default 0", + "in": "query", + "name": "page", + "type": "integer", + "x-example": 0 + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/usptoppubs.searchResponseDoc" + } + }, + "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": "Search USPTO's own patent full-text search index", + "tags": [ + "USPTO Patent Public Search" + ] + } + }, "/vinted/brand": { "get": { "consumes": [ diff --git a/tests/test_client.py b/tests/test_client.py index 46533ef..1367dce 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, 1190) + self.assertEqual(OPERATION_COUNT, 1222) def test_deprecated_endpoints_are_not_generated(self) -> None: self.assertFalse(hasattr(CrawloraClient(api_key="api_test", base_url=self.base_url).google, "lens")) @@ -299,7 +299,7 @@ def test_docs_cover_operations_and_recipes(self): recipes_doc = root.joinpath("docs", "recipes.md").read_text() for expected in [ - "Total operations: `1190`", + "Total operations: `1222`", "`bing-search`", "`GET /bing/search`", "`bing.search`",