scrapebadger 0.15.0 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -411,7 +411,7 @@ interface VintedPagination {
411
411
  /**
412
412
  * Response from the search endpoint.
413
413
  */
414
- interface SearchResponse$2 {
414
+ interface SearchResponse$3 {
415
415
  /** List of matching items */
416
416
  items: VintedItemSummary[];
417
417
  /** Pagination metadata */
@@ -479,7 +479,7 @@ interface StatusesResponse {
479
479
  /**
480
480
  * Response from the markets endpoint.
481
481
  */
482
- interface MarketsResponse$3 {
482
+ interface MarketsResponse$4 {
483
483
  /** List of available markets */
484
484
  markets: VintedMarket[];
485
485
  }
@@ -550,7 +550,7 @@ interface VintedSearchParams {
550
550
  * });
551
551
  * ```
552
552
  */
553
- declare class SearchClient$6 {
553
+ declare class SearchClient$7 {
554
554
  private readonly client;
555
555
  constructor(client: BaseClient);
556
556
  /**
@@ -586,7 +586,7 @@ declare class SearchClient$6 {
586
586
  * }
587
587
  * ```
588
588
  */
589
- search(params: VintedSearchParams): Promise<SearchResponse$2>;
589
+ search(params: VintedSearchParams): Promise<SearchResponse$3>;
590
590
  }
591
591
 
592
592
  /**
@@ -741,7 +741,7 @@ declare class UsersClient$2 {
741
741
  * }
742
742
  * ```
743
743
  */
744
- declare class ReferenceClient$4 {
744
+ declare class ReferenceClient$5 {
745
745
  private readonly client;
746
746
  constructor(client: BaseClient);
747
747
  /**
@@ -819,7 +819,7 @@ declare class ReferenceClient$4 {
819
819
  * }
820
820
  * ```
821
821
  */
822
- markets(): Promise<MarketsResponse$3>;
822
+ markets(): Promise<MarketsResponse$4>;
823
823
  }
824
824
 
825
825
  /**
@@ -856,13 +856,13 @@ declare class ReferenceClient$4 {
856
856
  */
857
857
  declare class VintedClient {
858
858
  /** Client for item search operations */
859
- readonly search: SearchClient$6;
859
+ readonly search: SearchClient$7;
860
860
  /** Client for individual item operations */
861
861
  readonly items: ItemsClient$1;
862
862
  /** Client for user operations */
863
863
  readonly users: UsersClient$2;
864
864
  /** Client for reference data (brands, colors, statuses, markets) */
865
- readonly reference: ReferenceClient$4;
865
+ readonly reference: ReferenceClient$5;
866
866
  /**
867
867
  * Create a new Vinted client.
868
868
  *
@@ -1848,7 +1848,7 @@ declare class ScholarClient {
1848
1848
  * }
1849
1849
  * ```
1850
1850
  */
1851
- declare class SearchClient$5 {
1851
+ declare class SearchClient$6 {
1852
1852
  private readonly client;
1853
1853
  constructor(client: BaseClient);
1854
1854
  /**
@@ -1934,7 +1934,7 @@ declare class ShoppingClient {
1934
1934
  * }
1935
1935
  * ```
1936
1936
  */
1937
- declare class ShortsClient {
1937
+ declare class ShortsClient$1 {
1938
1938
  private readonly client;
1939
1939
  constructor(client: BaseClient);
1940
1940
  search(params: ShortsSearchParams): Promise<GoogleResponse>;
@@ -2001,7 +2001,7 @@ declare class TrendsClient {
2001
2001
  * }
2002
2002
  * ```
2003
2003
  */
2004
- declare class VideosClient$1 {
2004
+ declare class VideosClient$2 {
2005
2005
  private readonly client;
2006
2006
  constructor(client: BaseClient);
2007
2007
  search(params: VideosSearchParams): Promise<GoogleResponse>;
@@ -2044,7 +2044,7 @@ declare class VideosClient$1 {
2044
2044
  */
2045
2045
  declare class GoogleClient {
2046
2046
  /** Google Web Search (SERP) — with optional deferred AI Overview follow-up. */
2047
- readonly search: SearchClient$5;
2047
+ readonly search: SearchClient$6;
2048
2048
  /** Google Maps — places, reviews, photos, posts. */
2049
2049
  readonly maps: MapsClient;
2050
2050
  /** Google News — articles, topics, trending. */
@@ -2066,7 +2066,7 @@ declare class GoogleClient {
2066
2066
  /** Google Images. */
2067
2067
  readonly images: ImagesClient;
2068
2068
  /** Google Videos. */
2069
- readonly videos: VideosClient$1;
2069
+ readonly videos: VideosClient$2;
2070
2070
  /** Google Finance — stock and index quotes. */
2071
2071
  readonly finance: FinanceClient;
2072
2072
  /** Google AI Mode — generative answer responses. */
@@ -2074,7 +2074,7 @@ declare class GoogleClient {
2074
2074
  /** Google Lens — visual image search. */
2075
2075
  readonly lens: LensClient;
2076
2076
  /** Google Shorts — short-form vertical video results (udm=39). */
2077
- readonly shorts: ShortsClient;
2077
+ readonly shorts: ShortsClient$1;
2078
2078
  /** Google Flights — one-way, round-trip, and multi-city itineraries. */
2079
2079
  readonly flights: FlightsClient;
2080
2080
  /** Google Products — immersive product detail. */
@@ -2875,7 +2875,7 @@ interface DomainPostsResponse {
2875
2875
  * const domainPosts = await client.reddit.search.domainPosts({ domain: "github.com" });
2876
2876
  * ```
2877
2877
  */
2878
- declare class SearchClient$4 {
2878
+ declare class SearchClient$5 {
2879
2879
  private readonly client;
2880
2880
  constructor(client: BaseClient);
2881
2881
  /**
@@ -3484,7 +3484,7 @@ declare class UsersClient$1 {
3484
3484
  */
3485
3485
  declare class RedditClient {
3486
3486
  /** Client for search operations (posts, subreddits, users, domain posts) */
3487
- readonly search: SearchClient$4;
3487
+ readonly search: SearchClient$5;
3488
3488
  /** Client for post operations (trending, details, comments, duplicates) */
3489
3489
  readonly posts: PostsClient;
3490
3490
  /** Client for subreddit operations (details, posts, rules, moderators, wiki) */
@@ -3534,7 +3534,7 @@ interface Pagination$1 {
3534
3534
  /**
3535
3535
  * A single supported marketplace (for /markets).
3536
3536
  */
3537
- interface MarketInfo$1 {
3537
+ interface MarketInfo$2 {
3538
3538
  /** Market code (e.g. "US", "UK", "DE") */
3539
3539
  code: string;
3540
3540
  /** Amazon domain suffix (e.g. "com", "co.uk") */
@@ -3700,7 +3700,7 @@ interface Product {
3700
3700
  /**
3701
3701
  * A single search / category-browse result row.
3702
3702
  */
3703
- interface SearchResult$2 {
3703
+ interface SearchResult$3 {
3704
3704
  position: number;
3705
3705
  asin: string;
3706
3706
  title: string | null;
@@ -3880,10 +3880,10 @@ interface AutocompleteSuggestion$1 {
3880
3880
  alias: string | null;
3881
3881
  }
3882
3882
  /** Response from the /search endpoint. */
3883
- interface SearchResponse$1 {
3883
+ interface SearchResponse$2 {
3884
3884
  query: string;
3885
3885
  domain: string;
3886
- results: SearchResult$2[];
3886
+ results: SearchResult$3[];
3887
3887
  pagination: Pagination$1;
3888
3888
  scraped_utc: number | null;
3889
3889
  scraped_at: string | null;
@@ -3946,7 +3946,7 @@ interface DealsResponse {
3946
3946
  interface CategoryResponse$1 {
3947
3947
  domain: string;
3948
3948
  node: string;
3949
- results: SearchResult$2[];
3949
+ results: SearchResult$3[];
3950
3950
  pagination: Pagination$1;
3951
3951
  scraped_utc: number | null;
3952
3952
  scraped_at: string | null;
@@ -3960,7 +3960,7 @@ interface SellerProfileResponse$1 {
3960
3960
  interface SellerProductsResponse {
3961
3961
  domain: string;
3962
3962
  seller_id: string;
3963
- products: SearchResult$2[];
3963
+ products: SearchResult$3[];
3964
3964
  pagination: Pagination$1;
3965
3965
  scraped_utc: number | null;
3966
3966
  scraped_at: string | null;
@@ -3975,17 +3975,17 @@ interface SellerFeedbackResponse$1 {
3975
3975
  scraped_at: string | null;
3976
3976
  }
3977
3977
  /** Response from the /autocomplete endpoint. */
3978
- interface AutocompleteResponse$1 {
3978
+ interface AutocompleteResponse$2 {
3979
3979
  query: string;
3980
3980
  domain: string;
3981
3981
  suggestions: AutocompleteSuggestion$1[];
3982
3982
  }
3983
3983
  /** Response from the /markets endpoint. */
3984
- interface MarketsResponse$2 {
3985
- markets: MarketInfo$1[];
3984
+ interface MarketsResponse$3 {
3985
+ markets: MarketInfo$2[];
3986
3986
  }
3987
3987
  /** Response from the /categories endpoint. */
3988
- interface CategoriesResponse$1 {
3988
+ interface CategoriesResponse$2 {
3989
3989
  categories: CategoryInfo$1[];
3990
3990
  }
3991
3991
  /** Parameters for searching Amazon products. */
@@ -4108,7 +4108,7 @@ interface AmazonAutocompleteParams {
4108
4108
  * const suggestions = await client.amazon.search.autocomplete("lapt");
4109
4109
  * ```
4110
4110
  */
4111
- declare class SearchClient$3 {
4111
+ declare class SearchClient$4 {
4112
4112
  private readonly client;
4113
4113
  constructor(client: BaseClient);
4114
4114
  /**
@@ -4119,7 +4119,7 @@ declare class SearchClient$3 {
4119
4119
  * @throws AuthenticationError - If the API key is invalid.
4120
4120
  * @throws ValidationError - If the parameters are invalid.
4121
4121
  */
4122
- search(params: AmazonSearchParams): Promise<SearchResponse$1>;
4122
+ search(params: AmazonSearchParams): Promise<SearchResponse$2>;
4123
4123
  /**
4124
4124
  * Get Amazon keyword autocomplete suggestions.
4125
4125
  *
@@ -4127,7 +4127,7 @@ declare class SearchClient$3 {
4127
4127
  * @param options - Optional parameters (domain).
4128
4128
  * @returns Autocomplete suggestions.
4129
4129
  */
4130
- autocomplete(query: string, options?: AmazonAutocompleteParams): Promise<AutocompleteResponse$1>;
4130
+ autocomplete(query: string, options?: AmazonAutocompleteParams): Promise<AutocompleteResponse$2>;
4131
4131
  }
4132
4132
 
4133
4133
  /**
@@ -4304,7 +4304,7 @@ declare class SellersClient$1 {
4304
4304
  * const categories = await client.amazon.reference.categories();
4305
4305
  * ```
4306
4306
  */
4307
- declare class ReferenceClient$3 {
4307
+ declare class ReferenceClient$4 {
4308
4308
  private readonly client;
4309
4309
  constructor(client: BaseClient);
4310
4310
  /**
@@ -4312,13 +4312,13 @@ declare class ReferenceClient$3 {
4312
4312
  *
4313
4313
  * @returns Markets response with all supported marketplaces.
4314
4314
  */
4315
- markets(): Promise<MarketsResponse$2>;
4315
+ markets(): Promise<MarketsResponse$3>;
4316
4316
  /**
4317
4317
  * Get the reference department / category aliases.
4318
4318
  *
4319
4319
  * @returns Categories response with all category aliases.
4320
4320
  */
4321
- categories(): Promise<CategoriesResponse$1>;
4321
+ categories(): Promise<CategoriesResponse$2>;
4322
4322
  }
4323
4323
 
4324
4324
  /**
@@ -4359,7 +4359,7 @@ declare class ReferenceClient$3 {
4359
4359
  */
4360
4360
  declare class AmazonClient {
4361
4361
  /** Client for keyword search and autocomplete */
4362
- readonly search: SearchClient$3;
4362
+ readonly search: SearchClient$4;
4363
4363
  /** Client for product detail, offers, and reviews */
4364
4364
  readonly products: ProductsClient$1;
4365
4365
  /** Client for bestsellers, new releases, deals, and category browse */
@@ -4367,7 +4367,7 @@ declare class AmazonClient {
4367
4367
  /** Client for seller profile, products, and feedback */
4368
4368
  readonly sellers: SellersClient$1;
4369
4369
  /** Client for reference data (markets, categories) */
4370
- readonly reference: ReferenceClient$3;
4370
+ readonly reference: ReferenceClient$4;
4371
4371
  /**
4372
4372
  * Create a new Amazon client.
4373
4373
  *
@@ -4476,7 +4476,7 @@ interface ShopeeProduct {
4476
4476
  /**
4477
4477
  * A page of search/category results.
4478
4478
  */
4479
- interface SearchResult$1 {
4479
+ interface SearchResult$2 {
4480
4480
  market: string;
4481
4481
  keyword: string | null;
4482
4482
  category_id: number | null;
@@ -4584,7 +4584,7 @@ interface ShopeeMarket {
4584
4584
  /**
4585
4585
  * Response from the /v1/shopee/markets endpoint.
4586
4586
  */
4587
- interface MarketsResponse$1 {
4587
+ interface MarketsResponse$2 {
4588
4588
  markets: ShopeeMarket[];
4589
4589
  }
4590
4590
  /** Parameters for searching Shopee products. */
@@ -4659,7 +4659,7 @@ interface ShopeeCategoriesParams {
4659
4659
  * const cat = await client.shopee.search.categoryItems(100001, { market: "sg" });
4660
4660
  * ```
4661
4661
  */
4662
- declare class SearchClient$2 {
4662
+ declare class SearchClient$3 {
4663
4663
  private readonly client;
4664
4664
  constructor(client: BaseClient);
4665
4665
  /**
@@ -4670,7 +4670,7 @@ declare class SearchClient$2 {
4670
4670
  * @throws AuthenticationError - If the API key is invalid.
4671
4671
  * @throws ValidationError - If the parameters are invalid.
4672
4672
  */
4673
- search(params: ShopeeSearchParams): Promise<SearchResult$1>;
4673
+ search(params: ShopeeSearchParams): Promise<SearchResult$2>;
4674
4674
  /**
4675
4675
  * List products within a specific Shopee category.
4676
4676
  *
@@ -4680,7 +4680,7 @@ declare class SearchClient$2 {
4680
4680
  * @throws AuthenticationError - If the API key is invalid.
4681
4681
  * @throws ValidationError - If the category ID or market is invalid.
4682
4682
  */
4683
- categoryItems(categoryId: number, options?: ShopeeCategoryItemsParams): Promise<SearchResult$1>;
4683
+ categoryItems(categoryId: number, options?: ShopeeCategoryItemsParams): Promise<SearchResult$2>;
4684
4684
  }
4685
4685
 
4686
4686
  /**
@@ -4782,7 +4782,7 @@ declare class ReviewsClient {
4782
4782
  * }
4783
4783
  * ```
4784
4784
  */
4785
- declare class ReferenceClient$2 {
4785
+ declare class ReferenceClient$3 {
4786
4786
  private readonly client;
4787
4787
  constructor(client: BaseClient);
4788
4788
  /**
@@ -4790,7 +4790,7 @@ declare class ReferenceClient$2 {
4790
4790
  *
4791
4791
  * @returns Markets response with all supported Shopee markets (0 credits).
4792
4792
  */
4793
- markets(): Promise<MarketsResponse$1>;
4793
+ markets(): Promise<MarketsResponse$2>;
4794
4794
  /**
4795
4795
  * Get the full category tree for a Shopee market.
4796
4796
  *
@@ -4842,13 +4842,13 @@ declare class ReferenceClient$2 {
4842
4842
  */
4843
4843
  declare class ShopeeClient {
4844
4844
  /** Client for keyword search and category-item listing */
4845
- readonly search: SearchClient$2;
4845
+ readonly search: SearchClient$3;
4846
4846
  /** Client for full product detail pages */
4847
4847
  readonly products: ProductsClient;
4848
4848
  /** Client for product reviews and rating summaries */
4849
4849
  readonly reviews: ReviewsClient;
4850
4850
  /** Client for reference data (markets, category tree) */
4851
- readonly reference: ReferenceClient$2;
4851
+ readonly reference: ReferenceClient$3;
4852
4852
  /**
4853
4853
  * Create a new Shopee client.
4854
4854
  *
@@ -5304,7 +5304,7 @@ interface UserListResponse {
5304
5304
  region: string;
5305
5305
  }
5306
5306
  /** Response from the /hashtags/{name} endpoint. */
5307
- interface HashtagResponse {
5307
+ interface HashtagResponse$1 {
5308
5308
  hashtag: TikTokHashtag;
5309
5309
  region: string;
5310
5310
  }
@@ -5378,7 +5378,7 @@ interface RegionInfo {
5378
5378
  name: string;
5379
5379
  }
5380
5380
  /** Response from the /regions endpoint. */
5381
- interface RegionsResponse {
5381
+ interface RegionsResponse$1 {
5382
5382
  regions: RegionInfo[];
5383
5383
  }
5384
5384
  /** Options for the user profile endpoint. */
@@ -5623,7 +5623,7 @@ declare class UsersClient {
5623
5623
  * const comments = await client.tiktok.videos.comments("7372...");
5624
5624
  * ```
5625
5625
  */
5626
- declare class VideosClient {
5626
+ declare class VideosClient$1 {
5627
5627
  private readonly client;
5628
5628
  constructor(client: BaseClient);
5629
5629
  /**
@@ -5694,7 +5694,7 @@ declare class VideosClient {
5694
5694
  * const users = await client.tiktok.search.users({ query: "skincare" });
5695
5695
  * ```
5696
5696
  */
5697
- declare class SearchClient$1 {
5697
+ declare class SearchClient$2 {
5698
5698
  private readonly client;
5699
5699
  constructor(client: BaseClient);
5700
5700
  /**
@@ -5744,7 +5744,7 @@ declare class SearchClient$1 {
5744
5744
  * const videos = await client.tiktok.music.videos("6975...");
5745
5745
  * ```
5746
5746
  */
5747
- declare class MusicClient {
5747
+ declare class MusicClient$1 {
5748
5748
  private readonly client;
5749
5749
  constructor(client: BaseClient);
5750
5750
  /**
@@ -5794,7 +5794,7 @@ declare class HashtagsClient {
5794
5794
  * @returns The hashtag detail response.
5795
5795
  * @throws NotFoundError - If the hashtag doesn't exist.
5796
5796
  */
5797
- get(name: string, options?: TikTokHashtagParams): Promise<HashtagResponse>;
5797
+ get(name: string, options?: TikTokHashtagParams): Promise<HashtagResponse$1>;
5798
5798
  /**
5799
5799
  * Get videos tagged with a TikTok hashtag.
5800
5800
  *
@@ -5823,7 +5823,7 @@ declare class HashtagsClient {
5823
5823
  * const songs = await client.tiktok.trending.songs({ region: "US" });
5824
5824
  * ```
5825
5825
  */
5826
- declare class TrendingClient {
5826
+ declare class TrendingClient$1 {
5827
5827
  private readonly client;
5828
5828
  constructor(client: BaseClient);
5829
5829
  /**
@@ -5900,7 +5900,7 @@ declare class AdsClient {
5900
5900
  * }
5901
5901
  * ```
5902
5902
  */
5903
- declare class ReferenceClient$1 {
5903
+ declare class ReferenceClient$2 {
5904
5904
  private readonly client;
5905
5905
  constructor(client: BaseClient);
5906
5906
  /**
@@ -5908,7 +5908,7 @@ declare class ReferenceClient$1 {
5908
5908
  *
5909
5909
  * @returns The regions response with all supported content regions.
5910
5910
  */
5911
- regions(): Promise<RegionsResponse>;
5911
+ regions(): Promise<RegionsResponse$1>;
5912
5912
  /**
5913
5913
  * Check the health of the TikTok scraper service.
5914
5914
  *
@@ -5963,19 +5963,19 @@ declare class TikTokClient {
5963
5963
  /** Client for profiles, videos, followers, following, liked, reposts */
5964
5964
  readonly users: UsersClient;
5965
5965
  /** Client for video detail, comments, replies, related, transcript, oEmbed */
5966
- readonly videos: VideosClient;
5966
+ readonly videos: VideosClient$1;
5967
5967
  /** Client for keyword search across videos, users, and hashtags */
5968
- readonly search: SearchClient$1;
5968
+ readonly search: SearchClient$2;
5969
5969
  /** Client for sound/music detail and videos using a sound */
5970
- readonly music: MusicClient;
5970
+ readonly music: MusicClient$1;
5971
5971
  /** Client for hashtag detail and tagged videos */
5972
5972
  readonly hashtags: HashtagsClient;
5973
5973
  /** Client for trending videos, hashtags, and songs */
5974
- readonly trending: TrendingClient;
5974
+ readonly trending: TrendingClient$1;
5975
5975
  /** Client for the Commercial Content Library (ad transparency) */
5976
5976
  readonly ads: AdsClient;
5977
5977
  /** Client for reference data (regions) and service health */
5978
- readonly reference: ReferenceClient$1;
5978
+ readonly reference: ReferenceClient$2;
5979
5979
  /**
5980
5980
  * Create a new TikTok client.
5981
5981
  *
@@ -6021,7 +6021,7 @@ interface Pagination {
6021
6021
  /**
6022
6022
  * A single supported marketplace (for /markets).
6023
6023
  */
6024
- interface MarketInfo {
6024
+ interface MarketInfo$1 {
6025
6025
  /** Market code (e.g. "US", "GB", "DE") */
6026
6026
  code: string;
6027
6027
  /** eBay domain suffix (e.g. "com", "co.uk") */
@@ -6069,7 +6069,7 @@ interface ShippingOption {
6069
6069
  /**
6070
6070
  * One eBay search/listing card (search, seller items, category, sold).
6071
6071
  */
6072
- interface SearchResult {
6072
+ interface SearchResult$1 {
6073
6073
  position: number;
6074
6074
  item_id: string | null;
6075
6075
  product_id: string | null;
@@ -6087,6 +6087,8 @@ interface SearchResult {
6087
6087
  is_auction: boolean;
6088
6088
  bids: number | null;
6089
6089
  time_left: string | null;
6090
+ /** Auctions: the current high bid (mirrors `price`); null for non-auctions */
6091
+ current_bid: EbayPrice | null;
6090
6092
  shipping: string | null;
6091
6093
  shipping_cost: EbayPrice | null;
6092
6094
  free_shipping: boolean | null;
@@ -6151,6 +6153,14 @@ interface Item {
6151
6153
  is_auction: boolean;
6152
6154
  bids: number | null;
6153
6155
  time_left: string | null;
6156
+ /** Auctions: the current high bid (mirrors `price`); null for non-auctions */
6157
+ current_bid: EbayPrice | null;
6158
+ /** Absolute auction end time, Unix timestamp (float seconds); null for non-auctions */
6159
+ end_time_utc: number | null;
6160
+ /** Absolute auction end time, ISO-8601 Z string; null for non-auctions */
6161
+ end_time_at: string | null;
6162
+ /** BIN price: fixed-price listings (== price) or auction-with-Buy-It-Now; null for pure auctions */
6163
+ buy_it_now_price: EbayPrice | null;
6154
6164
  best_offer_enabled: boolean | null;
6155
6165
  brand: string | null;
6156
6166
  mpn: string | null;
@@ -6249,12 +6259,12 @@ interface AutocompleteSuggestion {
6249
6259
  value: string;
6250
6260
  }
6251
6261
  /** Response from the /search and /completed endpoints. */
6252
- interface SearchResponse {
6262
+ interface SearchResponse$1 {
6253
6263
  query: string | null;
6254
6264
  domain: string;
6255
6265
  category_id: string | null;
6256
6266
  sold: boolean;
6257
- results: SearchResult[];
6267
+ results: SearchResult$1[];
6258
6268
  facets: Record<string, string[]>;
6259
6269
  pagination: Pagination;
6260
6270
  scraped_utc: number | null;
@@ -6274,7 +6284,7 @@ interface SellerProfileResponse {
6274
6284
  interface SellerItemsResponse {
6275
6285
  domain: string;
6276
6286
  username: string;
6277
- results: SearchResult[];
6287
+ results: SearchResult$1[];
6278
6288
  pagination: Pagination;
6279
6289
  scraped_utc: number | null;
6280
6290
  scraped_at: string | null;
@@ -6305,24 +6315,24 @@ interface ReviewsResponse {
6305
6315
  interface CategoryResponse {
6306
6316
  domain: string;
6307
6317
  category_id: string;
6308
- results: SearchResult[];
6318
+ results: SearchResult$1[];
6309
6319
  facets: Record<string, string[]>;
6310
6320
  pagination: Pagination;
6311
6321
  scraped_utc: number | null;
6312
6322
  scraped_at: string | null;
6313
6323
  }
6314
6324
  /** Response from the /autocomplete endpoint. */
6315
- interface AutocompleteResponse {
6325
+ interface AutocompleteResponse$1 {
6316
6326
  query: string;
6317
6327
  domain: string;
6318
6328
  suggestions: AutocompleteSuggestion[];
6319
6329
  }
6320
6330
  /** Response from the /markets endpoint. */
6321
- interface MarketsResponse {
6322
- markets: MarketInfo[];
6331
+ interface MarketsResponse$1 {
6332
+ markets: MarketInfo$1[];
6323
6333
  }
6324
6334
  /** Response from the /categories endpoint. */
6325
- interface CategoriesResponse {
6335
+ interface CategoriesResponse$1 {
6326
6336
  categories: CategoryInfo[];
6327
6337
  }
6328
6338
  /** Sort order for search / listing endpoints. */
@@ -6459,7 +6469,7 @@ interface EbayAutocompleteParams {
6459
6469
  * const suggestions = await client.ebay.search.autocomplete("ipho");
6460
6470
  * ```
6461
6471
  */
6462
- declare class SearchClient {
6472
+ declare class SearchClient$1 {
6463
6473
  private readonly client;
6464
6474
  constructor(client: BaseClient);
6465
6475
  /**
@@ -6470,14 +6480,14 @@ declare class SearchClient {
6470
6480
  * @throws AuthenticationError - If the API key is invalid.
6471
6481
  * @throws ValidationError - If the parameters are invalid.
6472
6482
  */
6473
- search(params: EbaySearchParams): Promise<SearchResponse>;
6483
+ search(params: EbaySearchParams): Promise<SearchResponse$1>;
6474
6484
  /**
6475
6485
  * Search completed / sold listings — eBay's sold-price history.
6476
6486
  *
6477
6487
  * @param params - Search parameters including query, filters, and pagination.
6478
6488
  * @returns Search results (with `sold: true`), facets, and pagination.
6479
6489
  */
6480
- completed(params: EbayCompletedParams): Promise<SearchResponse>;
6490
+ completed(params: EbayCompletedParams): Promise<SearchResponse$1>;
6481
6491
  /**
6482
6492
  * Get eBay keyword autocomplete suggestions.
6483
6493
  *
@@ -6485,7 +6495,7 @@ declare class SearchClient {
6485
6495
  * @param options - Optional parameters (domain).
6486
6496
  * @returns Autocomplete suggestions.
6487
6497
  */
6488
- autocomplete(query: string, options?: EbayAutocompleteParams): Promise<AutocompleteResponse>;
6498
+ autocomplete(query: string, options?: EbayAutocompleteParams): Promise<AutocompleteResponse$1>;
6489
6499
  }
6490
6500
 
6491
6501
  /**
@@ -6618,7 +6628,7 @@ declare class CategoriesClient {
6618
6628
  *
6619
6629
  * @returns Categories response with all category aliases.
6620
6630
  */
6621
- list(): Promise<CategoriesResponse>;
6631
+ list(): Promise<CategoriesResponse$1>;
6622
6632
  }
6623
6633
 
6624
6634
  /**
@@ -6640,7 +6650,7 @@ declare class CategoriesClient {
6640
6650
  * }
6641
6651
  * ```
6642
6652
  */
6643
- declare class ReferenceClient {
6653
+ declare class ReferenceClient$1 {
6644
6654
  private readonly client;
6645
6655
  constructor(client: BaseClient);
6646
6656
  /**
@@ -6648,7 +6658,7 @@ declare class ReferenceClient {
6648
6658
  *
6649
6659
  * @returns Markets response with all supported marketplaces.
6650
6660
  */
6651
- markets(): Promise<MarketsResponse>;
6661
+ markets(): Promise<MarketsResponse$1>;
6652
6662
  }
6653
6663
 
6654
6664
  /**
@@ -6695,7 +6705,7 @@ declare class ReferenceClient {
6695
6705
  */
6696
6706
  declare class EbayClient {
6697
6707
  /** Client for active search, completed/sold search, and autocomplete */
6698
- readonly search: SearchClient;
6708
+ readonly search: SearchClient$1;
6699
6709
  /** Client for item detail and catalog product reviews */
6700
6710
  readonly items: ItemsClient;
6701
6711
  /** Client for seller profile, items, and feedback */
@@ -6703,7 +6713,7 @@ declare class EbayClient {
6703
6713
  /** Client for category browse and the reference category list */
6704
6714
  readonly categories: CategoriesClient;
6705
6715
  /** Client for reference data (markets) */
6706
- readonly reference: ReferenceClient;
6716
+ readonly reference: ReferenceClient$1;
6707
6717
  /**
6708
6718
  * Create a new eBay client.
6709
6719
  *
@@ -6712,6 +6722,1517 @@ declare class EbayClient {
6712
6722
  constructor(client: BaseClient);
6713
6723
  }
6714
6724
 
6725
+ /**
6726
+ * TypeScript types for YouTube API responses.
6727
+ *
6728
+ * These interfaces mirror the backend `youtube_scraper` response schema
6729
+ * field-for-field (see `scrapers/youtube/src/youtube_scraper/models/*.py`).
6730
+ * Optional / nullable backend fields are typed as `Type | null`; backend list
6731
+ * fields default to `[]` and are typed as arrays. Every datetime field ships in
6732
+ * BOTH `*_utc` (number) and `*_at` (string) form.
6733
+ *
6734
+ * All list endpoints paginate via an opaque `continuation` token (no page
6735
+ * numbers). Region is controlled by `gl` (content region) + `hl` (UI language).
6736
+ */
6737
+ /**
6738
+ * A single image variant.
6739
+ */
6740
+ interface Thumbnail {
6741
+ url: string;
6742
+ width: number | null;
6743
+ height: number | null;
6744
+ }
6745
+ /**
6746
+ * Result of resolving a handle / custom URL to canonical ids.
6747
+ */
6748
+ interface ResolveResult {
6749
+ input: string;
6750
+ /** "channel" | "video" | "playlist" */
6751
+ type: string | null;
6752
+ channel_id: string | null;
6753
+ channel_username: string | null;
6754
+ video_id: string | null;
6755
+ playlist_id: string | null;
6756
+ canonical_url: string | null;
6757
+ }
6758
+ /**
6759
+ * A reference lookup row (category / language / region).
6760
+ */
6761
+ interface ReferenceRow {
6762
+ id: string;
6763
+ title: string;
6764
+ }
6765
+ /**
6766
+ * YouTube public oEmbed response (https://www.youtube.com/oembed).
6767
+ */
6768
+ interface OEmbed {
6769
+ type: string | null;
6770
+ version: string | null;
6771
+ title: string | null;
6772
+ author_name: string | null;
6773
+ author_url: string | null;
6774
+ provider_name: string | null;
6775
+ provider_url: string | null;
6776
+ thumbnail_url: string | null;
6777
+ thumbnail_width: number | null;
6778
+ thumbnail_height: number | null;
6779
+ width: number | null;
6780
+ height: number | null;
6781
+ html: string | null;
6782
+ }
6783
+ /**
6784
+ * A video chapter (manual or auto).
6785
+ */
6786
+ interface Chapter {
6787
+ title: string | null;
6788
+ start_seconds: number | null;
6789
+ start_time_text: string | null;
6790
+ thumbnail: string | null;
6791
+ }
6792
+ /**
6793
+ * A most-replayed graph point.
6794
+ */
6795
+ interface HeatMarker {
6796
+ start_seconds: number | null;
6797
+ duration_seconds: number | null;
6798
+ /** 0.0-1.0 normalized score */
6799
+ intensity: number | null;
6800
+ }
6801
+ /**
6802
+ * A multi-language audio track (auto-dubbing / original).
6803
+ */
6804
+ interface AudioTrack {
6805
+ id: string | null;
6806
+ display_name: string | null;
6807
+ language: string | null;
6808
+ is_default: boolean | null;
6809
+ is_original: boolean | null;
6810
+ }
6811
+ /**
6812
+ * A single streaming format (muxed or adaptive).
6813
+ */
6814
+ interface Format {
6815
+ itag: number | null;
6816
+ mime_type: string | null;
6817
+ codecs: string | null;
6818
+ bitrate: number | null;
6819
+ average_bitrate: number | null;
6820
+ width: number | null;
6821
+ height: number | null;
6822
+ fps: number | null;
6823
+ quality: string | null;
6824
+ quality_label: string | null;
6825
+ audio_quality: string | null;
6826
+ audio_sample_rate: number | null;
6827
+ audio_channels: number | null;
6828
+ /** stable-volume (dynamic range compression) audio */
6829
+ is_drc: boolean | null;
6830
+ loudness_db: number | null;
6831
+ audio_track: AudioTrack | null;
6832
+ content_length: number | null;
6833
+ approx_duration_ms: number | null;
6834
+ /** may require a PO token (best-effort) */
6835
+ url: string | null;
6836
+ signature_cipher: string | null;
6837
+ projection_type: string | null;
6838
+ }
6839
+ /**
6840
+ * Streaming metadata from `player.streamingData` (best-effort URLs).
6841
+ */
6842
+ interface StreamingData {
6843
+ expires_in_seconds: number | null;
6844
+ hls_manifest_url: string | null;
6845
+ dash_manifest_url: string | null;
6846
+ formats: Format[];
6847
+ adaptive_formats: Format[];
6848
+ }
6849
+ /**
6850
+ * A product shelf entry attached to a video.
6851
+ */
6852
+ interface ShoppingResult {
6853
+ title: string | null;
6854
+ price: string | null;
6855
+ vendor: string | null;
6856
+ thumbnail: string | null;
6857
+ link: string | null;
6858
+ }
6859
+ /**
6860
+ * Live/premiere timing details.
6861
+ */
6862
+ interface LiveStreamingDetails {
6863
+ actual_start_at: string | null;
6864
+ actual_start_utc: number | null;
6865
+ actual_end_at: string | null;
6866
+ actual_end_utc: number | null;
6867
+ scheduled_start_at: string | null;
6868
+ scheduled_start_utc: number | null;
6869
+ scheduled_end_at: string | null;
6870
+ scheduled_end_utc: number | null;
6871
+ concurrent_viewers: number | null;
6872
+ active_live_chat_id: string | null;
6873
+ }
6874
+ /**
6875
+ * Region availability restrictions.
6876
+ */
6877
+ interface RegionRestriction {
6878
+ allowed: string[];
6879
+ blocked: string[];
6880
+ }
6881
+ /**
6882
+ * Full video detail — merged `player` + `next` (the flagship entity).
6883
+ */
6884
+ interface Video {
6885
+ video_id: string;
6886
+ title: string | null;
6887
+ url: string | null;
6888
+ description: string | null;
6889
+ description_links: Record<string, unknown>[];
6890
+ length_seconds: number | null;
6891
+ /** HH:MM:SS */
6892
+ duration: string | null;
6893
+ view_count: number | null;
6894
+ view_count_text: string | null;
6895
+ like_count: number | null;
6896
+ like_count_text: string | null;
6897
+ comment_count: number | null;
6898
+ /** private platform-wide since 2021 (null) */
6899
+ dislike_count: number | null;
6900
+ channel_id: string | null;
6901
+ channel_name: string | null;
6902
+ channel_username: string | null;
6903
+ channel_url: string | null;
6904
+ channel_thumbnail: string | null;
6905
+ channel_is_verified: boolean | null;
6906
+ is_official_artist: boolean | null;
6907
+ number_of_subscribers: number | null;
6908
+ subscriber_count_text: string | null;
6909
+ published_at: string | null;
6910
+ published_utc: number | null;
6911
+ upload_at: string | null;
6912
+ upload_utc: number | null;
6913
+ published_time_text: string | null;
6914
+ keywords: string[];
6915
+ tags: string[];
6916
+ hashtags: string[];
6917
+ category: string | null;
6918
+ category_id: string | null;
6919
+ topic_categories: string[];
6920
+ thumbnails: Thumbnail[];
6921
+ thumbnail: string | null;
6922
+ storyboards: Record<string, unknown> | null;
6923
+ chapters: Chapter[];
6924
+ heatmap: HeatMarker[];
6925
+ is_live_content: boolean | null;
6926
+ live_now: boolean | null;
6927
+ is_upcoming: boolean | null;
6928
+ is_post_live_dvr: boolean | null;
6929
+ premiere_utc: number | null;
6930
+ premiere_at: string | null;
6931
+ live_streaming_details: LiveStreamingDetails | null;
6932
+ is_family_safe: boolean | null;
6933
+ is_age_restricted: boolean | null;
6934
+ is_members_only: boolean | null;
6935
+ is_unlisted: boolean | null;
6936
+ is_private: boolean | null;
6937
+ is_crawlable: boolean | null;
6938
+ is_shorts_eligible: boolean | null;
6939
+ is_short: boolean | null;
6940
+ allow_ratings: boolean | null;
6941
+ is_monetized: boolean | null;
6942
+ comments_turned_off: boolean | null;
6943
+ has_paid_product_placement: boolean | null;
6944
+ available_countries: string[];
6945
+ region_restriction: RegionRestriction | null;
6946
+ playability_status: string | null;
6947
+ playability_reason: string | null;
6948
+ /** hd / sd */
6949
+ definition: string | null;
6950
+ /** 2d / 3d */
6951
+ dimension: string | null;
6952
+ /** rectangular / 360 */
6953
+ projection: string | null;
6954
+ captions_available: boolean | null;
6955
+ caption_languages: string[];
6956
+ shopping_results: ShoppingResult[];
6957
+ additional_info: Record<string, unknown>[];
6958
+ game_info: Record<string, unknown> | null;
6959
+ end_screen_videos: Record<string, unknown>[];
6960
+ related_videos: Record<string, unknown>[];
6961
+ related_videos_continuation: string | null;
6962
+ sound_id: string | null;
6963
+ sound_title: string | null;
6964
+ sound_artist: string | null;
6965
+ streams: StreamingData | null;
6966
+ embed_url: string | null;
6967
+ scraped_at: string | null;
6968
+ scraped_utc: number | null;
6969
+ }
6970
+ /**
6971
+ * A Shorts (vertical reel) — Video subtype with `is_short=true`.
6972
+ */
6973
+ interface Short extends Video {
6974
+ thumbnail_vertical: string | null;
6975
+ }
6976
+ /**
6977
+ * Response for POST /videos/batch.
6978
+ */
6979
+ interface BatchResponse {
6980
+ videos: Video[];
6981
+ errors: Record<string, unknown>[];
6982
+ count: number;
6983
+ }
6984
+ /**
6985
+ * An external link from a channel's about page / header.
6986
+ */
6987
+ interface ChannelLink {
6988
+ title: string | null;
6989
+ url: string | null;
6990
+ }
6991
+ /**
6992
+ * Full channel detail (browse About tab + header).
6993
+ */
6994
+ interface Channel {
6995
+ channel_id: string;
6996
+ title: string | null;
6997
+ channel_name: string | null;
6998
+ /** @handle */
6999
+ channel_username: string | null;
7000
+ custom_url: string | null;
7001
+ channel_url: string | null;
7002
+ description: string | null;
7003
+ description_links: ChannelLink[];
7004
+ number_of_subscribers: number | null;
7005
+ subscriber_count_text: string | null;
7006
+ hidden_subscriber_count: boolean | null;
7007
+ channel_total_videos: number | null;
7008
+ channel_total_videos_text: string | null;
7009
+ channel_total_views: number | null;
7010
+ channel_total_views_text: string | null;
7011
+ joined_at: string | null;
7012
+ joined_utc: number | null;
7013
+ country: string | null;
7014
+ channel_location: string | null;
7015
+ keywords: string[];
7016
+ tags: string[];
7017
+ is_verified: boolean | null;
7018
+ is_age_restricted: boolean | null;
7019
+ is_family_safe: boolean | null;
7020
+ is_monetized: boolean | null;
7021
+ is_auto_generated: boolean | null;
7022
+ made_for_kids: boolean | null;
7023
+ avatar: string | null;
7024
+ banner: string | null;
7025
+ tv_banner: string | null;
7026
+ mobile_banner: string | null;
7027
+ avatar_thumbnails: Thumbnail[];
7028
+ banner_thumbnails: Thumbnail[];
7029
+ external_links: ChannelLink[];
7030
+ tabs: string[];
7031
+ available_countries: string[];
7032
+ related_channels: Record<string, unknown>[];
7033
+ latest_videos: Record<string, unknown>[];
7034
+ scraped_at: string | null;
7035
+ scraped_utc: number | null;
7036
+ }
7037
+ /**
7038
+ * Lightweight channel about payload.
7039
+ */
7040
+ interface ChannelAbout {
7041
+ channel_id: string;
7042
+ description: string | null;
7043
+ links: ChannelLink[];
7044
+ number_of_subscribers: number | null;
7045
+ subscriber_count_text: string | null;
7046
+ channel_total_views: number | null;
7047
+ channel_total_videos: number | null;
7048
+ joined_at: string | null;
7049
+ joined_utc: number | null;
7050
+ country: string | null;
7051
+ }
7052
+ /**
7053
+ * Fast subscriber-count-only response.
7054
+ */
7055
+ interface SubscriberCount {
7056
+ channel_id: string;
7057
+ number_of_subscribers: number | null;
7058
+ subscriber_count_text: string | null;
7059
+ }
7060
+ /**
7061
+ * A single entry in a playlist.
7062
+ */
7063
+ interface PlaylistItem {
7064
+ position: number | null;
7065
+ video_id: string;
7066
+ title: string | null;
7067
+ url: string | null;
7068
+ length_seconds: number | null;
7069
+ duration: string | null;
7070
+ channel_id: string | null;
7071
+ channel_name: string | null;
7072
+ channel_url: string | null;
7073
+ thumbnails: Thumbnail[];
7074
+ thumbnail: string | null;
7075
+ view_count: number | null;
7076
+ view_count_text: string | null;
7077
+ published_time_text: string | null;
7078
+ is_playable: boolean | null;
7079
+ /** per-playlist-entry id */
7080
+ set_video_id: string | null;
7081
+ }
7082
+ /**
7083
+ * Full playlist detail + first page of items.
7084
+ */
7085
+ interface Playlist {
7086
+ playlist_id: string;
7087
+ title: string | null;
7088
+ description: string | null;
7089
+ playlist_url: string | null;
7090
+ video_count: number | null;
7091
+ view_count: number | null;
7092
+ view_count_text: string | null;
7093
+ last_updated_text: string | null;
7094
+ channel_id: string | null;
7095
+ channel_name: string | null;
7096
+ channel_url: string | null;
7097
+ channel_is_verified: boolean | null;
7098
+ thumbnails: Thumbnail[];
7099
+ thumbnail: string | null;
7100
+ privacy_status: string | null;
7101
+ is_mix: boolean | null;
7102
+ videos: PlaylistItem[];
7103
+ continuation: string | null;
7104
+ scraped_at: string | null;
7105
+ scraped_utc: number | null;
7106
+ }
7107
+ /**
7108
+ * A continuation page of playlist items.
7109
+ */
7110
+ interface PlaylistItemsResponse {
7111
+ playlist_id: string | null;
7112
+ items: PlaylistItem[];
7113
+ continuation: string | null;
7114
+ }
7115
+ /**
7116
+ * A single comment or reply.
7117
+ */
7118
+ interface Comment {
7119
+ comment_id: string;
7120
+ text: string | null;
7121
+ published_time_text: string | null;
7122
+ published_utc: number | null;
7123
+ author: string | null;
7124
+ author_channel_id: string | null;
7125
+ author_channel_url: string | null;
7126
+ author_thumbnail: string | null;
7127
+ author_is_verified: boolean | null;
7128
+ author_is_artist: boolean | null;
7129
+ author_is_channel_owner: boolean | null;
7130
+ author_badges: string[];
7131
+ like_count: number | null;
7132
+ reply_count: number | null;
7133
+ has_creator_heart: boolean | null;
7134
+ is_pinned: boolean | null;
7135
+ is_reply: boolean | null;
7136
+ reply_to_cid: string | null;
7137
+ replies_continuation: string | null;
7138
+ /** Super Thanks purchase amount */
7139
+ paid_comment_amount: string | null;
7140
+ video_id: string | null;
7141
+ }
7142
+ /**
7143
+ * A page of top-level comments.
7144
+ */
7145
+ interface CommentsResponse {
7146
+ video_id: string | null;
7147
+ comments: Comment[];
7148
+ comment_count: number | null;
7149
+ sorting_tokens: Record<string, unknown>[];
7150
+ continuation: string | null;
7151
+ }
7152
+ /**
7153
+ * A page of replies to a comment.
7154
+ */
7155
+ interface RepliesResponse {
7156
+ comment_id: string | null;
7157
+ replies: Comment[];
7158
+ continuation: string | null;
7159
+ }
7160
+ /**
7161
+ * A polymorphic search/feed result (keyed by `type`).
7162
+ */
7163
+ interface SearchResult {
7164
+ /** "video" | "channel" | "playlist" | "movie" | "short" */
7165
+ type: string;
7166
+ position: number | null;
7167
+ video_id: string | null;
7168
+ title: string | null;
7169
+ url: string | null;
7170
+ thumbnails: Thumbnail[];
7171
+ thumbnail: string | null;
7172
+ duration: string | null;
7173
+ length_seconds: number | null;
7174
+ view_count: number | null;
7175
+ view_count_text: string | null;
7176
+ short_view_count_text: string | null;
7177
+ published_time_text: string | null;
7178
+ published_at: string | null;
7179
+ published_utc: number | null;
7180
+ description_snippet: string | null;
7181
+ badges: string[];
7182
+ extensions: string[];
7183
+ is_live: boolean | null;
7184
+ is_short: boolean | null;
7185
+ is_members_only: boolean | null;
7186
+ channel_id: string | null;
7187
+ channel_name: string | null;
7188
+ channel_url: string | null;
7189
+ channel_thumbnail: string | null;
7190
+ channel_is_verified: boolean | null;
7191
+ subscriber_count_text: string | null;
7192
+ number_of_subscribers: number | null;
7193
+ video_count_text: string | null;
7194
+ channel_username: string | null;
7195
+ is_verified: boolean | null;
7196
+ playlist_id: string | null;
7197
+ video_count: number | null;
7198
+ first_video_id: string | null;
7199
+ }
7200
+ /**
7201
+ * A search filter chip / refinement.
7202
+ */
7203
+ interface SearchChip {
7204
+ title: string | null;
7205
+ is_selected: boolean | null;
7206
+ continuation: string | null;
7207
+ }
7208
+ /**
7209
+ * A page of search results.
7210
+ */
7211
+ interface SearchResponse {
7212
+ query: string | null;
7213
+ results: SearchResult[];
7214
+ total_results: number | null;
7215
+ estimated_results: number | null;
7216
+ chips: SearchChip[];
7217
+ did_you_mean: string | null;
7218
+ showing_results_for: string | null;
7219
+ refinements: string[];
7220
+ related_searches: Record<string, unknown>[];
7221
+ continuation: string | null;
7222
+ }
7223
+ /**
7224
+ * Keyword suggestions for a query prefix.
7225
+ */
7226
+ interface AutocompleteResponse {
7227
+ query: string;
7228
+ suggestions: string[];
7229
+ }
7230
+ /**
7231
+ * Related videos for a video (secondaryResults).
7232
+ */
7233
+ interface RelatedResponse {
7234
+ video_id: string | null;
7235
+ results: SearchResult[];
7236
+ continuation: string | null;
7237
+ }
7238
+ /**
7239
+ * Videos under a hashtag.
7240
+ */
7241
+ interface HashtagResponse {
7242
+ tag: string;
7243
+ results: SearchResult[];
7244
+ continuation: string | null;
7245
+ }
7246
+ /**
7247
+ * Guest home / recommendations feed (non-deterministic, best-effort).
7248
+ */
7249
+ interface HomeResponse {
7250
+ results: SearchResult[];
7251
+ continuation: string | null;
7252
+ }
7253
+ /**
7254
+ * A page of a channel's videos / shorts / streams.
7255
+ */
7256
+ interface ChannelVideosResponse {
7257
+ channel_id: string | null;
7258
+ videos: SearchResult[];
7259
+ continuation: string | null;
7260
+ }
7261
+ /**
7262
+ * A generic page of a channel tab (videos/shorts/streams/playlists).
7263
+ */
7264
+ interface ChannelTabResponse {
7265
+ channel_id: string | null;
7266
+ tab: string | null;
7267
+ items: SearchResult[];
7268
+ continuation: string | null;
7269
+ }
7270
+ /**
7271
+ * A single timed transcript line.
7272
+ */
7273
+ interface TranscriptSegment {
7274
+ start_ms: number | null;
7275
+ end_ms: number | null;
7276
+ duration_ms: number | null;
7277
+ start_time_text: string | null;
7278
+ text: string | null;
7279
+ }
7280
+ /**
7281
+ * A full video transcript in the selected language.
7282
+ */
7283
+ interface Transcript {
7284
+ video_id: string;
7285
+ language: string | null;
7286
+ language_name: string | null;
7287
+ /** asr | manual */
7288
+ type: string | null;
7289
+ is_translatable: boolean | null;
7290
+ available_transcripts: Record<string, unknown>[];
7291
+ translation_languages: Record<string, unknown>[];
7292
+ segments: TranscriptSegment[];
7293
+ full_text: string | null;
7294
+ srt: string | null;
7295
+ vtt: string | null;
7296
+ }
7297
+ /**
7298
+ * An available caption track (from player captions tracklist).
7299
+ */
7300
+ interface CaptionTrack {
7301
+ language: string | null;
7302
+ language_name: string | null;
7303
+ /** asr | manual */
7304
+ type: string | null;
7305
+ is_translatable: boolean | null;
7306
+ base_url: string | null;
7307
+ }
7308
+ /**
7309
+ * The list of available caption tracks for a video.
7310
+ */
7311
+ interface CaptionsResponse {
7312
+ video_id: string;
7313
+ tracks: CaptionTrack[];
7314
+ translation_languages: Record<string, unknown>[];
7315
+ }
7316
+ /**
7317
+ * A trending video / short.
7318
+ */
7319
+ interface TrendingItem {
7320
+ position: number | null;
7321
+ /** Now | Music | Gaming | Movies */
7322
+ category: string | null;
7323
+ video_id: string | null;
7324
+ title: string | null;
7325
+ url: string | null;
7326
+ thumbnails: Thumbnail[];
7327
+ thumbnail: string | null;
7328
+ duration: string | null;
7329
+ length_seconds: number | null;
7330
+ view_count: number | null;
7331
+ view_count_text: string | null;
7332
+ published_time_text: string | null;
7333
+ description_snippet: string | null;
7334
+ channel_id: string | null;
7335
+ channel_name: string | null;
7336
+ channel_url: string | null;
7337
+ channel_thumbnail: string | null;
7338
+ channel_is_verified: boolean | null;
7339
+ badges: string[];
7340
+ is_live: boolean | null;
7341
+ is_short: boolean | null;
7342
+ }
7343
+ /**
7344
+ * A page of trending items.
7345
+ */
7346
+ interface TrendingResponse {
7347
+ gl: string | null;
7348
+ type: string | null;
7349
+ items: TrendingItem[];
7350
+ continuation: string | null;
7351
+ }
7352
+ /**
7353
+ * A single poll option on a community post.
7354
+ */
7355
+ interface PollChoice {
7356
+ text: string | null;
7357
+ percentage: number | null;
7358
+ votes: number | null;
7359
+ image: string | null;
7360
+ }
7361
+ /**
7362
+ * A channel community / posts-tab entry.
7363
+ */
7364
+ interface CommunityPost {
7365
+ post_id: string;
7366
+ post_url: string | null;
7367
+ /** text | poll | image | video | shared */
7368
+ post_type: string | null;
7369
+ text: string | null;
7370
+ text_links: Record<string, unknown>[];
7371
+ channel_id: string | null;
7372
+ channel_name: string | null;
7373
+ channel_url: string | null;
7374
+ channel_thumbnail: string | null;
7375
+ published_time_text: string | null;
7376
+ published_utc: number | null;
7377
+ like_count: number | null;
7378
+ like_count_text: string | null;
7379
+ comment_count: number | null;
7380
+ poll_choices: PollChoice[];
7381
+ poll_total_votes: number | null;
7382
+ images: Thumbnail[];
7383
+ attached_video: Record<string, unknown> | null;
7384
+ shared_post: Record<string, unknown> | null;
7385
+ scraped_at: string | null;
7386
+ scraped_utc: number | null;
7387
+ }
7388
+ /**
7389
+ * A page of community posts.
7390
+ */
7391
+ interface CommunityResponse {
7392
+ channel_id: string | null;
7393
+ posts: CommunityPost[];
7394
+ continuation: string | null;
7395
+ }
7396
+ /**
7397
+ * A single live-chat / chat-replay message.
7398
+ */
7399
+ interface LiveChatMessage {
7400
+ message_id: string | null;
7401
+ /** text | super_chat | super_sticker | membership */
7402
+ message_type: string | null;
7403
+ text: string | null;
7404
+ author: string | null;
7405
+ author_channel_id: string | null;
7406
+ author_thumbnail: string | null;
7407
+ author_badges: string[];
7408
+ is_moderator: boolean | null;
7409
+ is_member: boolean | null;
7410
+ is_verified: boolean | null;
7411
+ timestamp_usec: number | null;
7412
+ timestamp_text: string | null;
7413
+ video_offset_time_msec: number | null;
7414
+ /** super chat / sticker amount */
7415
+ purchase_amount: string | null;
7416
+ body_background_color: string | null;
7417
+ }
7418
+ /**
7419
+ * A page of live-chat messages.
7420
+ */
7421
+ interface LiveChatResponse {
7422
+ video_id: string | null;
7423
+ messages: LiveChatMessage[];
7424
+ continuation: string | null;
7425
+ is_replay: boolean | null;
7426
+ }
7427
+ /**
7428
+ * Response from the /categories endpoint.
7429
+ */
7430
+ interface CategoriesResponse {
7431
+ gl: string;
7432
+ categories: ReferenceRow[];
7433
+ }
7434
+ /**
7435
+ * Response from the /languages endpoint.
7436
+ */
7437
+ interface LanguagesResponse {
7438
+ languages: ReferenceRow[];
7439
+ }
7440
+ /**
7441
+ * Response from the /regions endpoint.
7442
+ */
7443
+ interface RegionsResponse {
7444
+ regions: ReferenceRow[];
7445
+ }
7446
+ /**
7447
+ * A single geo-targeted scraper market (for /markets).
7448
+ */
7449
+ interface MarketInfo {
7450
+ /** Content region code (e.g. "US") */
7451
+ gl: string;
7452
+ /** UI language code (e.g. "en") */
7453
+ hl: string;
7454
+ /** Market display name */
7455
+ name: string;
7456
+ }
7457
+ /**
7458
+ * Response from the /markets endpoint.
7459
+ */
7460
+ interface MarketsResponse {
7461
+ markets: MarketInfo[];
7462
+ }
7463
+ /** Result-type filter for search. */
7464
+ type YoutubeSearchType = "video" | "channel" | "playlist" | "movie" | "all";
7465
+ /** Sort order for search. */
7466
+ type YoutubeSearchSort = "relevance" | "date" | "views" | "rating";
7467
+ /** Upload-date filter for search. */
7468
+ type YoutubeUploadDate = "hour" | "today" | "week" | "month" | "year";
7469
+ /** Duration filter for search. */
7470
+ type YoutubeDuration = "short" | "medium" | "long";
7471
+ /** Comment sort order. */
7472
+ type YoutubeCommentSort = "top" | "newest";
7473
+ /** Trending feed type. */
7474
+ type YoutubeTrendingType = "now" | "music" | "gaming" | "movies";
7475
+ /** Player client for the streams endpoint. */
7476
+ type YoutubeStreamsClient = "IOS" | "ANDROID" | "WEB";
7477
+ /** Region parameters shared by most endpoints. */
7478
+ interface YoutubeRegionParams {
7479
+ /** Content region (US, GB, DE…) */
7480
+ gl?: string;
7481
+ /** UI language */
7482
+ hl?: string;
7483
+ }
7484
+ /** Parameters for the search endpoint. */
7485
+ interface YoutubeSearchParams extends YoutubeRegionParams {
7486
+ /** Search keywords (required) */
7487
+ query: string;
7488
+ /** Result-type filter */
7489
+ type?: YoutubeSearchType;
7490
+ /** Sort order */
7491
+ sort_by?: YoutubeSearchSort;
7492
+ /** Upload-date filter */
7493
+ upload_date?: YoutubeUploadDate;
7494
+ /** Duration filter */
7495
+ duration?: YoutubeDuration;
7496
+ /** Comma list: hd,4k,360,vr180,3d,hdr,cc,subtitles,live,location */
7497
+ features?: string;
7498
+ /** Pagination token */
7499
+ continuation?: string;
7500
+ }
7501
+ /** Options for the autocomplete endpoint. */
7502
+ interface YoutubeAutocompleteParams extends YoutubeRegionParams {
7503
+ }
7504
+ /** Options for the video detail endpoint. */
7505
+ interface YoutubeVideoParams extends YoutubeRegionParams {
7506
+ }
7507
+ /** Options for the related-videos endpoint. */
7508
+ interface YoutubeRelatedParams extends YoutubeRegionParams {
7509
+ /** Pagination token */
7510
+ continuation?: string;
7511
+ }
7512
+ /** Options for the video comments endpoint. */
7513
+ interface YoutubeCommentsParams extends YoutubeRegionParams {
7514
+ /** Comment sort order (default: "top") */
7515
+ sort_by?: YoutubeCommentSort;
7516
+ /** Pagination token */
7517
+ continuation?: string;
7518
+ }
7519
+ /** Options for the comment replies endpoint. */
7520
+ interface YoutubeRepliesParams extends YoutubeRegionParams {
7521
+ /** Replies continuation token (from a comment; required) */
7522
+ continuation: string;
7523
+ }
7524
+ /** Options for the transcript endpoint. */
7525
+ interface YoutubeTranscriptParams extends YoutubeRegionParams {
7526
+ /** BCP-47 language code */
7527
+ language?: string;
7528
+ }
7529
+ /** Options for the captions endpoint. */
7530
+ interface YoutubeCaptionsParams extends YoutubeRegionParams {
7531
+ }
7532
+ /** Options for the streams endpoint. */
7533
+ interface YoutubeStreamsParams {
7534
+ /** Content region */
7535
+ gl?: string;
7536
+ /** Player client (default: "IOS") */
7537
+ client?: YoutubeStreamsClient;
7538
+ }
7539
+ /** Options for the live-chat endpoint. */
7540
+ interface YoutubeLiveChatParams extends YoutubeRegionParams {
7541
+ /** Pagination token */
7542
+ continuation?: string;
7543
+ /** Fetch chat replay for a finished stream */
7544
+ replay?: boolean;
7545
+ }
7546
+ /** Parameters for the batch video endpoint. */
7547
+ interface YoutubeBatchParams extends YoutubeRegionParams {
7548
+ /** Video ids to fetch (≤50, required) */
7549
+ video_ids: string[];
7550
+ }
7551
+ /** Options for the oEmbed endpoint. */
7552
+ interface YoutubeOEmbedParams {
7553
+ /** A YouTube video/playlist/channel URL (required) */
7554
+ url: string;
7555
+ }
7556
+ /** Options for the channel detail / about / subscriber_count endpoints. */
7557
+ interface YoutubeChannelParams extends YoutubeRegionParams {
7558
+ }
7559
+ /** Options for a channel tab (videos/shorts/streams/playlists/community) endpoint. */
7560
+ interface YoutubeChannelTabParams extends YoutubeRegionParams {
7561
+ /** Pagination token */
7562
+ continuation?: string;
7563
+ }
7564
+ /** Options for the in-channel search endpoint. */
7565
+ interface YoutubeChannelSearchParams extends YoutubeRegionParams {
7566
+ /** Search keywords (required) */
7567
+ query: string;
7568
+ /** Pagination token */
7569
+ continuation?: string;
7570
+ }
7571
+ /** Options for the channel resolve endpoint. */
7572
+ interface YoutubeResolveParams extends YoutubeRegionParams {
7573
+ /** @handle or custom name */
7574
+ handle?: string;
7575
+ /** Full channel/video/playlist URL */
7576
+ url?: string;
7577
+ }
7578
+ /** Options for the playlist detail / mix endpoints. */
7579
+ interface YoutubePlaylistParams extends YoutubeRegionParams {
7580
+ }
7581
+ /** Options for the playlist items endpoint. */
7582
+ interface YoutubePlaylistItemsParams extends YoutubeRegionParams {
7583
+ /** Pagination token */
7584
+ continuation?: string;
7585
+ }
7586
+ /** Options for the community post detail endpoint. */
7587
+ interface YoutubePostParams extends YoutubeRegionParams {
7588
+ }
7589
+ /** Options for the community post comments endpoint. */
7590
+ interface YoutubePostCommentsParams extends YoutubeRegionParams {
7591
+ /** Pagination token */
7592
+ continuation?: string;
7593
+ }
7594
+ /** Options for the single-short endpoint. */
7595
+ interface YoutubeShortParams extends YoutubeRegionParams {
7596
+ }
7597
+ /** Options for the shorts-by-sound endpoint. */
7598
+ interface YoutubeShortsBySoundParams extends YoutubeRegionParams {
7599
+ /** Pagination token */
7600
+ continuation?: string;
7601
+ }
7602
+ /** Options for the trending endpoint. */
7603
+ interface YoutubeTrendingParams extends YoutubeRegionParams {
7604
+ /** Trending feed type (default: "now") */
7605
+ type?: YoutubeTrendingType;
7606
+ /** Pagination token */
7607
+ continuation?: string;
7608
+ }
7609
+ /** Options for the trending-shorts endpoint. */
7610
+ interface YoutubeTrendingShortsParams extends YoutubeRegionParams {
7611
+ /** Pagination token */
7612
+ continuation?: string;
7613
+ }
7614
+ /** Options for the hashtag endpoint. */
7615
+ interface YoutubeHashtagParams extends YoutubeRegionParams {
7616
+ /** Pagination token */
7617
+ continuation?: string;
7618
+ }
7619
+ /** Options for the home-feed endpoint. */
7620
+ interface YoutubeHomeParams extends YoutubeRegionParams {
7621
+ /** Pagination token */
7622
+ continuation?: string;
7623
+ }
7624
+ /** Options for the music-search endpoint. */
7625
+ interface YoutubeMusicSearchParams extends YoutubeRegionParams {
7626
+ /** Search keywords (required) */
7627
+ query: string;
7628
+ /** Pagination token */
7629
+ continuation?: string;
7630
+ }
7631
+ /** Options for the categories reference endpoint. */
7632
+ interface YoutubeCategoriesParams {
7633
+ /** Content region (default: "US") */
7634
+ gl?: string;
7635
+ }
7636
+
7637
+ /**
7638
+ * YouTube Search API client.
7639
+ *
7640
+ * Provides methods for full-matrix search and keyword autocomplete.
7641
+ */
7642
+
7643
+ /**
7644
+ * Client for YouTube search and autocomplete endpoints.
7645
+ *
7646
+ * @example
7647
+ * ```typescript
7648
+ * const client = new ScrapeBadger({ apiKey: "key" });
7649
+ *
7650
+ * const results = await client.youtube.search.search({ query: "lofi beats" });
7651
+ * for (const r of results.results) {
7652
+ * console.log(`${r.position}. ${r.title}`);
7653
+ * }
7654
+ *
7655
+ * const suggestions = await client.youtube.search.autocomplete("lofi");
7656
+ * ```
7657
+ */
7658
+ declare class SearchClient {
7659
+ private readonly client;
7660
+ constructor(client: BaseClient);
7661
+ /**
7662
+ * Search YouTube videos / channels / playlists with the full filter matrix.
7663
+ *
7664
+ * @param params - Search parameters including query, filters, and continuation.
7665
+ * @returns A page of search results with chips, refinements, and a continuation token.
7666
+ * @throws AuthenticationError - If the API key is invalid.
7667
+ * @throws ValidationError - If the parameters are invalid.
7668
+ */
7669
+ search(params: YoutubeSearchParams): Promise<SearchResponse>;
7670
+ /**
7671
+ * Get YouTube keyword autocomplete suggestions.
7672
+ *
7673
+ * @param query - Partial search query prefix.
7674
+ * @param options - Optional region parameters (gl, hl).
7675
+ * @returns Autocomplete suggestions.
7676
+ */
7677
+ autocomplete(query: string, options?: YoutubeAutocompleteParams): Promise<AutocompleteResponse>;
7678
+ }
7679
+
7680
+ /**
7681
+ * YouTube Videos API client.
7682
+ *
7683
+ * Provides methods for video detail, related videos, comments, replies,
7684
+ * transcript, captions, stream formats, live chat, batch detail, and oEmbed.
7685
+ */
7686
+
7687
+ /**
7688
+ * Client for YouTube video endpoints.
7689
+ *
7690
+ * @example
7691
+ * ```typescript
7692
+ * const client = new ScrapeBadger({ apiKey: "key" });
7693
+ *
7694
+ * const video = await client.youtube.videos.get("dQw4w9WgXcQ");
7695
+ * console.log(`${video.title} — ${video.view_count} views`);
7696
+ *
7697
+ * const comments = await client.youtube.videos.comments("dQw4w9WgXcQ");
7698
+ * const transcript = await client.youtube.videos.transcript("dQw4w9WgXcQ");
7699
+ * ```
7700
+ */
7701
+ declare class VideosClient {
7702
+ private readonly client;
7703
+ constructor(client: BaseClient);
7704
+ /**
7705
+ * Get a single video's full detail (merged `player` + `next`).
7706
+ *
7707
+ * @param videoId - The YouTube video id.
7708
+ * @param options - Optional region parameters (gl, hl).
7709
+ * @returns Full video detail including engagement, channel, chapters, and heatmap.
7710
+ * @throws NotFoundError - If the video doesn't exist or is unavailable.
7711
+ */
7712
+ get(videoId: string, options?: YoutubeVideoParams): Promise<Video>;
7713
+ /**
7714
+ * Get related / recommended videos for a video.
7715
+ *
7716
+ * @param videoId - The YouTube video id.
7717
+ * @param options - Optional region parameters and a continuation token.
7718
+ * @returns Related results with a continuation token.
7719
+ */
7720
+ related(videoId: string, options?: YoutubeRelatedParams): Promise<RelatedResponse>;
7721
+ /**
7722
+ * Get a page of top-level comments for a video.
7723
+ *
7724
+ * @param videoId - The YouTube video id.
7725
+ * @param options - Optional sort order, continuation token, and region.
7726
+ * @returns A page of comments with sorting tokens and a continuation token.
7727
+ */
7728
+ comments(videoId: string, options?: YoutubeCommentsParams): Promise<CommentsResponse>;
7729
+ /**
7730
+ * Get a page of replies to a single comment.
7731
+ *
7732
+ * @param videoId - The YouTube video id.
7733
+ * @param commentId - The comment id whose replies to fetch.
7734
+ * @param options - The required replies continuation token plus region.
7735
+ * @returns A page of replies with a continuation token.
7736
+ */
7737
+ replies(videoId: string, commentId: string, options: YoutubeRepliesParams): Promise<RepliesResponse>;
7738
+ /**
7739
+ * Get a video's transcript in the selected language.
7740
+ *
7741
+ * @param videoId - The YouTube video id.
7742
+ * @param options - Optional language and region parameters.
7743
+ * @returns The transcript with timed segments and full text.
7744
+ */
7745
+ transcript(videoId: string, options?: YoutubeTranscriptParams): Promise<Transcript>;
7746
+ /**
7747
+ * List a video's available caption tracks.
7748
+ *
7749
+ * @param videoId - The YouTube video id.
7750
+ * @param options - Optional region parameters.
7751
+ * @returns The available caption tracks and translation languages.
7752
+ */
7753
+ captions(videoId: string, options?: YoutubeCaptionsParams): Promise<CaptionsResponse>;
7754
+ /**
7755
+ * Get a video's stream / format metadata (best-effort; URLs may be PO-token gated).
7756
+ *
7757
+ * @param videoId - The YouTube video id.
7758
+ * @param options - Optional content region and player client.
7759
+ * @returns Streaming metadata with muxed and adaptive formats.
7760
+ */
7761
+ streams(videoId: string, options?: YoutubeStreamsParams): Promise<StreamingData>;
7762
+ /**
7763
+ * Get a page of live-chat (or chat-replay) messages for a video.
7764
+ *
7765
+ * @param videoId - The YouTube video id.
7766
+ * @param options - Optional continuation token, replay flag, and region.
7767
+ * @returns A page of live-chat messages with a continuation token.
7768
+ */
7769
+ liveChat(videoId: string, options?: YoutubeLiveChatParams): Promise<LiveChatResponse>;
7770
+ /**
7771
+ * Fetch detail for up to 50 videos concurrently.
7772
+ *
7773
+ * @param params - The video ids (≤50) plus optional region parameters.
7774
+ * @returns Successfully fetched videos plus per-id errors.
7775
+ */
7776
+ batch(params: YoutubeBatchParams): Promise<BatchResponse>;
7777
+ /**
7778
+ * Get public oEmbed metadata for a YouTube URL (no proxy/InnerTube needed).
7779
+ *
7780
+ * @param url - A YouTube video/playlist/channel URL.
7781
+ * @returns The oEmbed metadata.
7782
+ */
7783
+ oembed(url: string): Promise<OEmbed>;
7784
+ oembed(params: YoutubeOEmbedParams): Promise<OEmbed>;
7785
+ }
7786
+
7787
+ /**
7788
+ * YouTube Channels API client.
7789
+ *
7790
+ * Provides methods for channel detail, tab feeds (videos/shorts/streams/
7791
+ * playlists/community), about, subscriber count, in-channel search, and resolve.
7792
+ */
7793
+
7794
+ /**
7795
+ * Client for YouTube channel endpoints.
7796
+ *
7797
+ * @example
7798
+ * ```typescript
7799
+ * const client = new ScrapeBadger({ apiKey: "key" });
7800
+ *
7801
+ * const channel = await client.youtube.channels.get("@MrBeast");
7802
+ * console.log(`${channel.title} — ${channel.number_of_subscribers} subs`);
7803
+ *
7804
+ * const videos = await client.youtube.channels.videos("@MrBeast");
7805
+ * const id = await client.youtube.channels.resolve({ handle: "@MrBeast" });
7806
+ * ```
7807
+ */
7808
+ declare class ChannelsClient {
7809
+ private readonly client;
7810
+ constructor(client: BaseClient);
7811
+ /**
7812
+ * Get full channel detail (accepts a UC id, @handle, or custom URL).
7813
+ *
7814
+ * @param channelId - The channel id, @handle, or custom URL.
7815
+ * @param options - Optional region parameters.
7816
+ * @returns Full channel detail.
7817
+ * @throws NotFoundError - If the channel doesn't exist.
7818
+ */
7819
+ get(channelId: string, options?: YoutubeChannelParams): Promise<Channel>;
7820
+ /**
7821
+ * Get a page of a channel's long-form videos.
7822
+ *
7823
+ * @param channelId - The channel id, @handle, or custom URL.
7824
+ * @param options - Optional continuation token and region.
7825
+ * @returns A page of video cards with a continuation token.
7826
+ */
7827
+ videos(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7828
+ /**
7829
+ * Get a page of a channel's Shorts.
7830
+ *
7831
+ * @param channelId - The channel id, @handle, or custom URL.
7832
+ * @param options - Optional continuation token and region.
7833
+ * @returns A page of Shorts cards with a continuation token.
7834
+ */
7835
+ shorts(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7836
+ /**
7837
+ * Get a page of a channel's live streams.
7838
+ *
7839
+ * @param channelId - The channel id, @handle, or custom URL.
7840
+ * @param options - Optional continuation token and region.
7841
+ * @returns A page of stream cards with a continuation token.
7842
+ */
7843
+ streams(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7844
+ /**
7845
+ * Get a page of a channel's playlists.
7846
+ *
7847
+ * @param channelId - The channel id, @handle, or custom URL.
7848
+ * @param options - Optional continuation token and region.
7849
+ * @returns A page of playlist cards with a continuation token.
7850
+ */
7851
+ playlists(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7852
+ /**
7853
+ * Get a page of a channel's community posts.
7854
+ *
7855
+ * @param channelId - The channel id, @handle, or custom URL.
7856
+ * @param options - Optional continuation token and region.
7857
+ * @returns A page of community posts with a continuation token.
7858
+ */
7859
+ community(channelId: string, options?: YoutubeChannelTabParams): Promise<CommunityResponse>;
7860
+ /**
7861
+ * Get a channel's lightweight about payload.
7862
+ *
7863
+ * @param channelId - The channel id, @handle, or custom URL.
7864
+ * @param options - Optional region parameters.
7865
+ * @returns The channel about payload.
7866
+ */
7867
+ about(channelId: string, options?: YoutubeChannelParams): Promise<ChannelAbout>;
7868
+ /**
7869
+ * Get a channel's subscriber count (fast).
7870
+ *
7871
+ * @param channelId - The channel id, @handle, or custom URL.
7872
+ * @param options - Optional region parameters.
7873
+ * @returns The subscriber count.
7874
+ */
7875
+ subscriberCount(channelId: string, options?: YoutubeChannelParams): Promise<SubscriberCount>;
7876
+ /**
7877
+ * Search within a single channel.
7878
+ *
7879
+ * @param channelId - The channel id, @handle, or custom URL.
7880
+ * @param options - The required query plus optional continuation and region.
7881
+ * @returns A page of search results scoped to the channel.
7882
+ */
7883
+ search(channelId: string, options: YoutubeChannelSearchParams): Promise<SearchResponse>;
7884
+ /**
7885
+ * Resolve a @handle or URL to canonical YouTube ids.
7886
+ *
7887
+ * @param options - A `handle` or `url` (one is required) plus optional region.
7888
+ * @returns The resolved channel / video / playlist ids.
7889
+ */
7890
+ resolve(options?: YoutubeResolveParams): Promise<ResolveResult>;
7891
+ }
7892
+
7893
+ /**
7894
+ * YouTube Playlists API client.
7895
+ *
7896
+ * Provides methods for playlist detail, playlist items pagination, and mixes.
7897
+ */
7898
+
7899
+ /**
7900
+ * Client for YouTube playlist and mix endpoints.
7901
+ *
7902
+ * @example
7903
+ * ```typescript
7904
+ * const client = new ScrapeBadger({ apiKey: "key" });
7905
+ *
7906
+ * const playlist = await client.youtube.playlists.get("PL1234567890");
7907
+ * console.log(`${playlist.title} — ${playlist.video_count} videos`);
7908
+ *
7909
+ * const page = await client.youtube.playlists.items("PL1234567890", {
7910
+ * continuation: playlist.continuation ?? undefined,
7911
+ * });
7912
+ *
7913
+ * const mix = await client.youtube.playlists.mix("RDQM1234567890");
7914
+ * ```
7915
+ */
7916
+ declare class PlaylistsClient {
7917
+ private readonly client;
7918
+ constructor(client: BaseClient);
7919
+ /**
7920
+ * Get full playlist detail plus the first page of items.
7921
+ *
7922
+ * @param playlistId - The playlist id.
7923
+ * @param options - Optional region parameters.
7924
+ * @returns Full playlist detail with a continuation token.
7925
+ * @throws NotFoundError - If the playlist doesn't exist.
7926
+ */
7927
+ get(playlistId: string, options?: YoutubePlaylistParams): Promise<Playlist>;
7928
+ /**
7929
+ * Get a continuation page of a playlist's items.
7930
+ *
7931
+ * @param playlistId - The playlist id.
7932
+ * @param options - Optional continuation token and region.
7933
+ * @returns A page of playlist items with a continuation token.
7934
+ */
7935
+ items(playlistId: string, options?: YoutubePlaylistItemsParams): Promise<PlaylistItemsResponse>;
7936
+ /**
7937
+ * Resolve an auto-generated mix / radio (RD…) queue.
7938
+ *
7939
+ * @param mixId - The mix / radio playlist id.
7940
+ * @param options - Optional region parameters.
7941
+ * @returns The mix as a playlist queue.
7942
+ */
7943
+ mix(mixId: string, options?: YoutubePlaylistParams): Promise<Playlist>;
7944
+ }
7945
+
7946
+ /**
7947
+ * YouTube Community API client.
7948
+ *
7949
+ * Provides methods for community post detail and post comments.
7950
+ */
7951
+
7952
+ /**
7953
+ * Client for YouTube community post endpoints.
7954
+ *
7955
+ * @example
7956
+ * ```typescript
7957
+ * const client = new ScrapeBadger({ apiKey: "key" });
7958
+ *
7959
+ * const post = await client.youtube.community.get("Ugkx1234567890");
7960
+ * console.log(post.text);
7961
+ *
7962
+ * const comments = await client.youtube.community.comments("Ugkx1234567890");
7963
+ * ```
7964
+ */
7965
+ declare class CommunityClient {
7966
+ private readonly client;
7967
+ constructor(client: BaseClient);
7968
+ /**
7969
+ * Get a single community post's detail.
7970
+ *
7971
+ * @param postId - The community post id.
7972
+ * @param options - Optional region parameters.
7973
+ * @returns The community post.
7974
+ * @throws NotFoundError - If the post doesn't exist.
7975
+ */
7976
+ get(postId: string, options?: YoutubePostParams): Promise<CommunityPost>;
7977
+ /**
7978
+ * Get a page of comments on a community post.
7979
+ *
7980
+ * @param postId - The community post id.
7981
+ * @param options - Optional continuation token and region.
7982
+ * @returns A page of comments with a continuation token.
7983
+ */
7984
+ comments(postId: string, options?: YoutubePostCommentsParams): Promise<CommentsResponse>;
7985
+ }
7986
+
7987
+ /**
7988
+ * YouTube Shorts API client.
7989
+ *
7990
+ * Provides methods for a single Short's detail and Shorts attributed to a sound.
7991
+ */
7992
+
7993
+ /**
7994
+ * Client for YouTube Shorts endpoints.
7995
+ *
7996
+ * @example
7997
+ * ```typescript
7998
+ * const client = new ScrapeBadger({ apiKey: "key" });
7999
+ *
8000
+ * const short = await client.youtube.shorts.get("abc123XYZ");
8001
+ * console.log(`${short.title} — ${short.sound_title}`);
8002
+ *
8003
+ * const bySound = await client.youtube.shorts.bySound("sound-id-123");
8004
+ * ```
8005
+ */
8006
+ declare class ShortsClient {
8007
+ private readonly client;
8008
+ constructor(client: BaseClient);
8009
+ /**
8010
+ * Get a single Short's detail.
8011
+ *
8012
+ * @param videoId - The Short's video id.
8013
+ * @param options - Optional region parameters.
8014
+ * @returns The Short detail.
8015
+ * @throws NotFoundError - If the Short doesn't exist or is unavailable.
8016
+ */
8017
+ get(videoId: string, options?: YoutubeShortParams): Promise<Short>;
8018
+ /**
8019
+ * Get a page of Shorts attributed to a given sound / music id (best-effort).
8020
+ *
8021
+ * @param soundId - The sound / music id.
8022
+ * @param options - Optional continuation token and region.
8023
+ * @returns A page of Shorts cards with a continuation token.
8024
+ */
8025
+ bySound(soundId: string, options?: YoutubeShortsBySoundParams): Promise<ChannelTabResponse>;
8026
+ }
8027
+
8028
+ /**
8029
+ * YouTube Trending API client.
8030
+ *
8031
+ * Provides methods for the trending feed, trending shorts, hashtag feed, and
8032
+ * the guest home feed.
8033
+ */
8034
+
8035
+ /**
8036
+ * Client for YouTube trending, hashtag, and home-feed endpoints.
8037
+ *
8038
+ * @example
8039
+ * ```typescript
8040
+ * const client = new ScrapeBadger({ apiKey: "key" });
8041
+ *
8042
+ * const trending = await client.youtube.trending.get({ gl: "US", type: "music" });
8043
+ * const shorts = await client.youtube.trending.shorts({ gl: "US" });
8044
+ * const tagged = await client.youtube.trending.hashtag("minecraft");
8045
+ * const home = await client.youtube.trending.home();
8046
+ * ```
8047
+ */
8048
+ declare class TrendingClient {
8049
+ private readonly client;
8050
+ constructor(client: BaseClient);
8051
+ /**
8052
+ * Get a page of the trending feed.
8053
+ *
8054
+ * @param options - Optional feed type, continuation token, and region.
8055
+ * @returns A page of trending items with a continuation token.
8056
+ */
8057
+ get(options?: YoutubeTrendingParams): Promise<TrendingResponse>;
8058
+ /**
8059
+ * Get a page of trending Shorts.
8060
+ *
8061
+ * @param options - Optional continuation token and region.
8062
+ * @returns A page of trending Shorts with a continuation token.
8063
+ */
8064
+ shorts(options?: YoutubeTrendingShortsParams): Promise<TrendingResponse>;
8065
+ /**
8066
+ * Get a page of videos under a hashtag.
8067
+ *
8068
+ * @param tag - The hashtag (with or without a leading `#`).
8069
+ * @param options - Optional continuation token and region.
8070
+ * @returns A page of hashtag results with a continuation token.
8071
+ */
8072
+ hashtag(tag: string, options?: YoutubeHashtagParams): Promise<HashtagResponse>;
8073
+ /**
8074
+ * Get a page of the guest home / recommendations feed (best-effort).
8075
+ *
8076
+ * @param options - Optional continuation token and region.
8077
+ * @returns A page of home-feed results with a continuation token.
8078
+ */
8079
+ home(options?: YoutubeHomeParams): Promise<HomeResponse>;
8080
+ }
8081
+
8082
+ /**
8083
+ * YouTube Music API client.
8084
+ *
8085
+ * Provides a method for searching YouTube Music (WEB_REMIX client).
8086
+ */
8087
+
8088
+ /**
8089
+ * Client for YouTube Music endpoints.
8090
+ *
8091
+ * @example
8092
+ * ```typescript
8093
+ * const client = new ScrapeBadger({ apiKey: "key" });
8094
+ *
8095
+ * const results = await client.youtube.music.search({ query: "daft punk" });
8096
+ * for (const r of results.results) {
8097
+ * console.log(r.title);
8098
+ * }
8099
+ * ```
8100
+ */
8101
+ declare class MusicClient {
8102
+ private readonly client;
8103
+ constructor(client: BaseClient);
8104
+ /**
8105
+ * Search YouTube Music (songs / albums / artists / playlists).
8106
+ *
8107
+ * @param params - The required query plus optional continuation and region.
8108
+ * @returns A page of search results with a continuation token.
8109
+ */
8110
+ search(params: YoutubeMusicSearchParams): Promise<SearchResponse>;
8111
+ }
8112
+
8113
+ /**
8114
+ * YouTube Reference Data API client.
8115
+ *
8116
+ * Provides methods for the static categories, languages, regions, and the
8117
+ * geo-targeted scraper market list (all zero-credit).
8118
+ */
8119
+
8120
+ /**
8121
+ * Client for YouTube reference data endpoints.
8122
+ *
8123
+ * @example
8124
+ * ```typescript
8125
+ * const client = new ScrapeBadger({ apiKey: "key" });
8126
+ *
8127
+ * const categories = await client.youtube.reference.categories({ gl: "US" });
8128
+ * const languages = await client.youtube.reference.languages();
8129
+ * const regions = await client.youtube.reference.regions();
8130
+ * const markets = await client.youtube.reference.markets();
8131
+ * ```
8132
+ */
8133
+ declare class ReferenceClient {
8134
+ private readonly client;
8135
+ constructor(client: BaseClient);
8136
+ /**
8137
+ * List YouTube video categories (Data-API parity).
8138
+ *
8139
+ * @param options - Optional content region (default: "US").
8140
+ * @returns The categories for the region.
8141
+ */
8142
+ categories(options?: YoutubeCategoriesParams): Promise<CategoriesResponse>;
8143
+ /**
8144
+ * List supported UI languages (hl codes).
8145
+ *
8146
+ * @returns The supported UI languages.
8147
+ */
8148
+ languages(): Promise<LanguagesResponse>;
8149
+ /**
8150
+ * List supported content regions (gl codes).
8151
+ *
8152
+ * @returns The supported content regions.
8153
+ */
8154
+ regions(): Promise<RegionsResponse>;
8155
+ /**
8156
+ * List the regions the scraper explicitly geo-targets (proxy-pinned).
8157
+ *
8158
+ * @returns The supported scraper markets.
8159
+ */
8160
+ markets(): Promise<MarketsResponse>;
8161
+ }
8162
+
8163
+ /**
8164
+ * YouTube API client.
8165
+ *
8166
+ * Provides access to all YouTube API endpoints through specialized sub-clients.
8167
+ */
8168
+
8169
+ /**
8170
+ * YouTube API client with access to all YouTube endpoints.
8171
+ *
8172
+ * Provides sub-clients for different resource types:
8173
+ * - `search` - Full-matrix search and keyword autocomplete
8174
+ * - `videos` - Detail, related, comments, replies, transcript, captions, streams, live chat, batch, oEmbed
8175
+ * - `channels` - Detail, tab feeds, about, subscriber count, in-channel search, resolve
8176
+ * - `playlists` - Playlist detail, items pagination, mixes
8177
+ * - `community` - Community post detail and post comments
8178
+ * - `shorts` - Single Short detail and Shorts by sound
8179
+ * - `trending` - Trending feed, trending shorts, hashtag feed, home feed
8180
+ * - `music` - YouTube Music search
8181
+ * - `reference` - Reference data (categories, languages, regions, markets)
8182
+ *
8183
+ * All list endpoints paginate via an opaque `continuation` token (no page
8184
+ * numbers). Region is controlled by `gl` (content region) + `hl` (UI language).
8185
+ *
8186
+ * @example
8187
+ * ```typescript
8188
+ * const client = new ScrapeBadger({ apiKey: "key" });
8189
+ *
8190
+ * // Search
8191
+ * const results = await client.youtube.search.search({ query: "lofi beats" });
8192
+ *
8193
+ * // Video detail
8194
+ * const video = await client.youtube.videos.get("dQw4w9WgXcQ");
8195
+ *
8196
+ * // Channel detail (accepts a UC id, @handle, or custom URL)
8197
+ * const channel = await client.youtube.channels.get("@MrBeast");
8198
+ *
8199
+ * // Playlist items
8200
+ * const playlist = await client.youtube.playlists.get("PL1234567890");
8201
+ *
8202
+ * // Trending
8203
+ * const trending = await client.youtube.trending.get({ gl: "US" });
8204
+ *
8205
+ * // Reference data
8206
+ * const markets = await client.youtube.reference.markets();
8207
+ * ```
8208
+ */
8209
+ declare class YoutubeClient {
8210
+ /** Client for full-matrix search and keyword autocomplete */
8211
+ readonly search: SearchClient;
8212
+ /** Client for video detail, comments, transcript, captions, streams, live chat, batch, and oEmbed */
8213
+ readonly videos: VideosClient;
8214
+ /** Client for channel detail, tab feeds, about, subscriber count, search, and resolve */
8215
+ readonly channels: ChannelsClient;
8216
+ /** Client for playlist detail, items pagination, and mixes */
8217
+ readonly playlists: PlaylistsClient;
8218
+ /** Client for community post detail and post comments */
8219
+ readonly community: CommunityClient;
8220
+ /** Client for single-Short detail and Shorts by sound */
8221
+ readonly shorts: ShortsClient;
8222
+ /** Client for the trending feed, trending shorts, hashtag feed, and home feed */
8223
+ readonly trending: TrendingClient;
8224
+ /** Client for YouTube Music search */
8225
+ readonly music: MusicClient;
8226
+ /** Client for reference data (categories, languages, regions, markets) */
8227
+ readonly reference: ReferenceClient;
8228
+ /**
8229
+ * Create a new YouTube client.
8230
+ *
8231
+ * @param client - The base HTTP client for making requests.
8232
+ */
8233
+ constructor(client: BaseClient);
8234
+ }
8235
+
6715
8236
  /**
6716
8237
  * Main ScrapeBadger client.
6717
8238
  *
@@ -6770,6 +8291,8 @@ declare class ScrapeBadger {
6770
8291
  readonly tiktok: TikTokClient;
6771
8292
  /** eBay scraper API client — 12 endpoints across 18 markets */
6772
8293
  readonly ebay: EbayClient;
8294
+ /** YouTube scraper API client — 39 endpoints */
8295
+ readonly youtube: YoutubeClient;
6773
8296
  /**
6774
8297
  * Create a new ScrapeBadger client.
6775
8298
  *
@@ -6798,4 +8321,4 @@ declare class ScrapeBadger {
6798
8321
  constructor(config?: Partial<ScrapeBadgerConfig>);
6799
8322
  }
6800
8323
 
6801
- export { type AiListItem, type AiModeResponse, type AiModeSearchParams, type AiReference, type AiTableRow, type AiTextBlock, type AmazonAutocompleteParams, type AutocompleteResponse$1 as AmazonAutocompleteResponse, type AutocompleteSuggestion$1 as AmazonAutocompleteSuggestion, type Bestseller as AmazonBestseller, type BestsellersRankEntry as AmazonBestsellersRankEntry, type BestsellersResponse as AmazonBestsellersResponse, type Buybox as AmazonBuybox, type CategoriesResponse$1 as AmazonCategoriesResponse, type CategoryInfo$1 as AmazonCategoryInfo, type AmazonCategoryParams, type CategoryResponse$1 as AmazonCategoryResponse, AmazonClient, type Coupon as AmazonCoupon, type Deal as AmazonDeal, type AmazonDealsParams, type DealsResponse as AmazonDealsResponse, type Delivery as AmazonDelivery, type FeedbackWindow as AmazonFeedbackWindow, ListingsClient as AmazonListingsClient, type AmazonListingsParams, type MarketInfo$1 as AmazonMarketInfo, type MarketsResponse$2 as AmazonMarketsResponse, type NewReleasesResponse as AmazonNewReleasesResponse, type Offer as AmazonOffer, type OfferCondition as AmazonOfferCondition, type OfferDelivery as AmazonOfferDelivery, type OfferSeller as AmazonOfferSeller, type AmazonOffersParams, type OffersResponse as AmazonOffersResponse, type Pagination$1 as AmazonPagination, type AmazonPrice, type Product as AmazonProduct, type ProductBadges as AmazonProductBadges, type ProductDeal as AmazonProductDeal, type ProductDetailResponse as AmazonProductDetailResponse, type AmazonProductParams, type ProductVariant as AmazonProductVariant, ProductsClient$1 as AmazonProductsClient, type RatingBreakdown$1 as AmazonRatingBreakdown, ReferenceClient$3 as AmazonReferenceClient, type RelatedProduct as AmazonRelatedProduct, type Review$1 as AmazonReview, type ReviewProfile as AmazonReviewProfile, type AmazonReviewsParams, type ReviewsResponse$1 as AmazonReviewsResponse, SearchClient$3 as AmazonSearchClient, type AmazonSearchParams, type SearchResponse$1 as AmazonSearchResponse, type SearchResult$2 as AmazonSearchResult, type Seller$1 as AmazonSeller, type SellerFeedbackEntry as AmazonSellerFeedbackEntry, type SellerFeedbackResponse$1 as AmazonSellerFeedbackResponse, type SellerFeedbackSummary as AmazonSellerFeedbackSummary, type AmazonSellerListParams, type AmazonSellerParams, type SellerProductsResponse as AmazonSellerProductsResponse, type SellerProfileResponse$1 as AmazonSellerProfileResponse, SellersClient$1 as AmazonSellersClient, type AutocompleteParams, type DetectOptions, type DetectResult, type DomainPostsResponse, type EbayAutocompleteParams, type AutocompleteResponse as EbayAutocompleteResponse, type AutocompleteSuggestion as EbayAutocompleteSuggestion, type EbayBuyingFormat, CategoriesClient as EbayCategoriesClient, type CategoriesResponse as EbayCategoriesResponse, type CategoryInfo as EbayCategoryInfo, type EbayCategoryParams, type CategoryResponse as EbayCategoryResponse, EbayClient, type EbayCompletedParams, type EbayCondition, type FeedbackBreakdown as EbayFeedbackBreakdown, type FeedbackEntry as EbayFeedbackEntry, type Image as EbayImage, type Item as EbayItem, type ItemDetailResponse as EbayItemDetailResponse, type EbayItemParams, type ItemSeller as EbayItemSeller, ItemsClient as EbayItemsClient, type MarketInfo as EbayMarketInfo, type MarketsResponse as EbayMarketsResponse, type Pagination as EbayPagination, type EbayPrice, type RatingHistogram as EbayRatingHistogram, ReferenceClient as EbayReferenceClient, type ReturnsPolicy as EbayReturnsPolicy, type Review as EbayReview, type EbayReviewsParams, type ReviewsResponse as EbayReviewsResponse, SearchClient as EbaySearchClient, type EbaySearchParams, type SearchResponse as EbaySearchResponse, type SearchResult as EbaySearchResult, type Seller as EbaySeller, type EbaySellerFeedbackParams, type SellerFeedbackResponse as EbaySellerFeedbackResponse, type EbaySellerItemsParams, type SellerItemsResponse as EbaySellerItemsResponse, type EbaySellerParams, type SellerProfileResponse as EbaySellerProfileResponse, SellersClient as EbaySellersClient, type ShippingOption as EbayShippingOption, type EbaySortBy, type FinanceQuoteParams, type FlightsSearchParams, type FlightsStopsFilter, type FlightsTravelClass, type FlightsTripType, AiModeClient as GoogleAiModeClient, AutocompleteClient as GoogleAutocompleteClient, GoogleClient, FinanceClient as GoogleFinanceClient, FlightsClient as GoogleFlightsClient, HotelsClient as GoogleHotelsClient, ImagesClient as GoogleImagesClient, JobsClient as GoogleJobsClient, LensClient as GoogleLensClient, MapsClient as GoogleMapsClient, NewsClient as GoogleNewsClient, PatentsClient as GooglePatentsClient, ProductsClient$2 as GoogleProductsClient, type GoogleResponse, ScholarClient as GoogleScholarClient, SearchClient$5 as GoogleSearchClient, type GoogleSearchParams, ShoppingClient as GoogleShoppingClient, ShortsClient as GoogleShortsClient, TrendsClient as GoogleTrendsClient, VideosClient$1 as GoogleVideosClient, type HotelsDetailsParams, type HotelsSearchParams, type ImagesSearchParams, type JobsSearchParams, type LensSearchParams, type MapsPhotosParams, type MapsPlaceParams, type MapsPostsParams, type MapsReviewsParams, type MapsSearchParams, type NewsSearchParams, type NewsTopicsParams, type NewsTrendingParams, type PatentsDetailParams, type PatentsSearchParams, type PopularSubredditsResponse, type PostCommentsResponse, type PostDetailResponse, type PostDuplicatesResponse, type ProductsDetailParams, type RedditAward, RedditClient, type RedditComment, type RedditModeratedSubreddit, type RedditPagination, type RedditPost, PostsClient as RedditPostsClient, type RedditRule, SearchClient$4 as RedditSearchClient, type RedditSubreddit, SubredditsClient as RedditSubredditsClient, type RedditTrophy, type RedditUser, type UserProfileResponse as RedditUserProfileResponse, type RedditUserSubreddit, UsersClient$1 as RedditUsersClient, type RedditWikiPage, type ScholarAuthorCitationParams, type ScholarAuthorParams, type ScholarCiteParams, type ScholarProfilesParams, type ScholarSearchParams, ScrapeBadger, ScrapeBadgerConfig, type ScrapeOptions, type ScrapeResult, type SearchPostsResponse, type SearchSubredditsResponse, type SearchUsersResponse, type ShopeeCategoriesParams, type ShopeeCategoryItemsParams, type CategoryNode as ShopeeCategoryNode, type CategoryTree as ShopeeCategoryTree, ShopeeClient, type ShopeeMarket, type MarketsResponse$1 as ShopeeMarketsResponse, type ShopeeProduct, type ProductAttribute as ShopeeProductAttribute, type ProductImage as ShopeeProductImage, type ProductModel as ShopeeProductModel, type ShopeeProductParams, ProductsClient as ShopeeProductsClient, type RatingBreakdown as ShopeeRatingBreakdown, ReferenceClient$2 as ShopeeReferenceClient, type ShopeeReview, type ReviewReply as ShopeeReviewReply, type ReviewSummary as ShopeeReviewSummary, ReviewsClient as ShopeeReviewsClient, type ShopeeReviewsParams, type ReviewsResult as ShopeeReviewsResult, SearchClient$2 as ShopeeSearchClient, type ShopeeSearchParams, type SearchResult$1 as ShopeeSearchResult, type ShoppingClickParams, type ShoppingProductParams, type ShoppingSearchParams, type ShortsSearchParams, type SubredditDetailResponse, type SubredditPostsResponse, type SubredditRulesResponse, type SubredditWikiPagesResponse, type TikTokAd, type AdLibraryPage as TikTokAdLibraryPage, type AdLibrarySearchResponse as TikTokAdLibrarySearchResponse, type TikTokAdSearchParams, type TikTokAdVideo, AdsClient as TikTokAdsClient, type TikTokAnchor, type TikTokAuthor, type TikTokChallenge, TikTokClient, type TikTokComment, type CommentListResponse as TikTokCommentListResponse, type TikTokCommentRepliesParams, type TikTokCommentsParams, type TikTokCursorPage, type TikTokEffectSticker, type TikTokHashtag, type TikTokHashtagParams, type HashtagResponse as TikTokHashtagResponse, type HashtagSearchResponse as TikTokHashtagSearchResponse, HashtagsClient as TikTokHashtagsClient, type TikTokListVideosParams, type TikTokMusic, MusicClient as TikTokMusicClient, type TikTokMusicParams, type MusicResponse as TikTokMusicResponse, type TikTokOEmbed, type TikTokOEmbedParams, type ProfileResponse as TikTokProfileResponse, ReferenceClient$1 as TikTokReferenceClient, type RegionInfo as TikTokRegionInfo, type RegionsResponse as TikTokRegionsResponse, type TikTokRelatedParams, SearchClient$1 as TikTokSearchClient, type TikTokSearchParams, type TikTokStats, type TikTokSubtitle, type TikTokTextExtra, type TikTokTranscriptParams, type TranscriptResponse as TikTokTranscriptResponse, TrendingClient as TikTokTrendingClient, type TikTokTrendingHashtag, type TrendingHashtagsResponse as TikTokTrendingHashtagsResponse, type TikTokTrendingParams, type TikTokTrendingSong, type TrendingSongsResponse as TikTokTrendingSongsResponse, type TikTokTrendingVideosParams, type TikTokUser, type TikTokUserListParams, type UserListResponse as TikTokUserListResponse, type TikTokUserParams, type UserSearchResponse as TikTokUserSearchResponse, type TikTokUserStats, UsersClient as TikTokUsersClient, type TikTokVideo, type TikTokVideoControl, type VideoListResponse as TikTokVideoListResponse, type TikTokVideoMeta, type TikTokVideoParams, type VideoResponse as TikTokVideoResponse, type TikTokVideoStatus, VideosClient as TikTokVideosClient, type TrendingPostsResponse, type TrendsAutocompleteParams, type TrendsInterestParams, type TrendsRegionsParams, type TrendsRelatedParams, type TrendsTrendingParams, TwitterClient, type UserCommentsResponse, type UserModeratedResponse, type UserPostsResponse, type UserTrophiesResponse, type VideosSearchParams, type VintedBrand, type BrandsResponse as VintedBrandsResponse, VintedClient, type VintedColor, type ColorsResponse as VintedColorsResponse, type VintedItemDetail, type ItemDetailResponse$1 as VintedItemDetailResponse, type VintedItemSummary, ItemsClient$1 as VintedItemsClient, type VintedMarket, type MarketsResponse$3 as VintedMarketsResponse, type VintedPagination, type VintedPhoto, type VintedPrice, ReferenceClient$4 as VintedReferenceClient, SearchClient$6 as VintedSearchClient, type VintedSearchParams, type SearchResponse$2 as VintedSearchResponse, type VintedSellerSummary, type VintedStatus, type StatusesResponse as VintedStatusesResponse, type UserItemsResponse as VintedUserItemsResponse, type VintedUserProfile, type UserProfileResponse$1 as VintedUserProfileResponse, type VintedUserSummary, UsersClient$2 as VintedUsersClient, WebClient, type WikiPageResponse };
8324
+ export { type AiListItem, type AiModeResponse, type AiModeSearchParams, type AiReference, type AiTableRow, type AiTextBlock, type AmazonAutocompleteParams, type AutocompleteResponse$2 as AmazonAutocompleteResponse, type AutocompleteSuggestion$1 as AmazonAutocompleteSuggestion, type Bestseller as AmazonBestseller, type BestsellersRankEntry as AmazonBestsellersRankEntry, type BestsellersResponse as AmazonBestsellersResponse, type Buybox as AmazonBuybox, type CategoriesResponse$2 as AmazonCategoriesResponse, type CategoryInfo$1 as AmazonCategoryInfo, type AmazonCategoryParams, type CategoryResponse$1 as AmazonCategoryResponse, AmazonClient, type Coupon as AmazonCoupon, type Deal as AmazonDeal, type AmazonDealsParams, type DealsResponse as AmazonDealsResponse, type Delivery as AmazonDelivery, type FeedbackWindow as AmazonFeedbackWindow, ListingsClient as AmazonListingsClient, type AmazonListingsParams, type MarketInfo$2 as AmazonMarketInfo, type MarketsResponse$3 as AmazonMarketsResponse, type NewReleasesResponse as AmazonNewReleasesResponse, type Offer as AmazonOffer, type OfferCondition as AmazonOfferCondition, type OfferDelivery as AmazonOfferDelivery, type OfferSeller as AmazonOfferSeller, type AmazonOffersParams, type OffersResponse as AmazonOffersResponse, type Pagination$1 as AmazonPagination, type AmazonPrice, type Product as AmazonProduct, type ProductBadges as AmazonProductBadges, type ProductDeal as AmazonProductDeal, type ProductDetailResponse as AmazonProductDetailResponse, type AmazonProductParams, type ProductVariant as AmazonProductVariant, ProductsClient$1 as AmazonProductsClient, type RatingBreakdown$1 as AmazonRatingBreakdown, ReferenceClient$4 as AmazonReferenceClient, type RelatedProduct as AmazonRelatedProduct, type Review$1 as AmazonReview, type ReviewProfile as AmazonReviewProfile, type AmazonReviewsParams, type ReviewsResponse$1 as AmazonReviewsResponse, SearchClient$4 as AmazonSearchClient, type AmazonSearchParams, type SearchResponse$2 as AmazonSearchResponse, type SearchResult$3 as AmazonSearchResult, type Seller$1 as AmazonSeller, type SellerFeedbackEntry as AmazonSellerFeedbackEntry, type SellerFeedbackResponse$1 as AmazonSellerFeedbackResponse, type SellerFeedbackSummary as AmazonSellerFeedbackSummary, type AmazonSellerListParams, type AmazonSellerParams, type SellerProductsResponse as AmazonSellerProductsResponse, type SellerProfileResponse$1 as AmazonSellerProfileResponse, SellersClient$1 as AmazonSellersClient, type AutocompleteParams, type DetectOptions, type DetectResult, type DomainPostsResponse, type EbayAutocompleteParams, type AutocompleteResponse$1 as EbayAutocompleteResponse, type AutocompleteSuggestion as EbayAutocompleteSuggestion, type EbayBuyingFormat, CategoriesClient as EbayCategoriesClient, type CategoriesResponse$1 as EbayCategoriesResponse, type CategoryInfo as EbayCategoryInfo, type EbayCategoryParams, type CategoryResponse as EbayCategoryResponse, EbayClient, type EbayCompletedParams, type EbayCondition, type FeedbackBreakdown as EbayFeedbackBreakdown, type FeedbackEntry as EbayFeedbackEntry, type Image as EbayImage, type Item as EbayItem, type ItemDetailResponse as EbayItemDetailResponse, type EbayItemParams, type ItemSeller as EbayItemSeller, ItemsClient as EbayItemsClient, type MarketInfo$1 as EbayMarketInfo, type MarketsResponse$1 as EbayMarketsResponse, type Pagination as EbayPagination, type EbayPrice, type RatingHistogram as EbayRatingHistogram, ReferenceClient$1 as EbayReferenceClient, type ReturnsPolicy as EbayReturnsPolicy, type Review as EbayReview, type EbayReviewsParams, type ReviewsResponse as EbayReviewsResponse, SearchClient$1 as EbaySearchClient, type EbaySearchParams, type SearchResponse$1 as EbaySearchResponse, type SearchResult$1 as EbaySearchResult, type Seller as EbaySeller, type EbaySellerFeedbackParams, type SellerFeedbackResponse as EbaySellerFeedbackResponse, type EbaySellerItemsParams, type SellerItemsResponse as EbaySellerItemsResponse, type EbaySellerParams, type SellerProfileResponse as EbaySellerProfileResponse, SellersClient as EbaySellersClient, type ShippingOption as EbayShippingOption, type EbaySortBy, type FinanceQuoteParams, type FlightsSearchParams, type FlightsStopsFilter, type FlightsTravelClass, type FlightsTripType, AiModeClient as GoogleAiModeClient, AutocompleteClient as GoogleAutocompleteClient, GoogleClient, FinanceClient as GoogleFinanceClient, FlightsClient as GoogleFlightsClient, HotelsClient as GoogleHotelsClient, ImagesClient as GoogleImagesClient, JobsClient as GoogleJobsClient, LensClient as GoogleLensClient, MapsClient as GoogleMapsClient, NewsClient as GoogleNewsClient, PatentsClient as GooglePatentsClient, ProductsClient$2 as GoogleProductsClient, type GoogleResponse, ScholarClient as GoogleScholarClient, SearchClient$6 as GoogleSearchClient, type GoogleSearchParams, ShoppingClient as GoogleShoppingClient, ShortsClient$1 as GoogleShortsClient, TrendsClient as GoogleTrendsClient, VideosClient$2 as GoogleVideosClient, type HotelsDetailsParams, type HotelsSearchParams, type ImagesSearchParams, type JobsSearchParams, type LensSearchParams, type MapsPhotosParams, type MapsPlaceParams, type MapsPostsParams, type MapsReviewsParams, type MapsSearchParams, type NewsSearchParams, type NewsTopicsParams, type NewsTrendingParams, type PatentsDetailParams, type PatentsSearchParams, type PopularSubredditsResponse, type PostCommentsResponse, type PostDetailResponse, type PostDuplicatesResponse, type ProductsDetailParams, type RedditAward, RedditClient, type RedditComment, type RedditModeratedSubreddit, type RedditPagination, type RedditPost, PostsClient as RedditPostsClient, type RedditRule, SearchClient$5 as RedditSearchClient, type RedditSubreddit, SubredditsClient as RedditSubredditsClient, type RedditTrophy, type RedditUser, type UserProfileResponse as RedditUserProfileResponse, type RedditUserSubreddit, UsersClient$1 as RedditUsersClient, type RedditWikiPage, type ScholarAuthorCitationParams, type ScholarAuthorParams, type ScholarCiteParams, type ScholarProfilesParams, type ScholarSearchParams, ScrapeBadger, ScrapeBadgerConfig, type ScrapeOptions, type ScrapeResult, type SearchPostsResponse, type SearchSubredditsResponse, type SearchUsersResponse, type ShopeeCategoriesParams, type ShopeeCategoryItemsParams, type CategoryNode as ShopeeCategoryNode, type CategoryTree as ShopeeCategoryTree, ShopeeClient, type ShopeeMarket, type MarketsResponse$2 as ShopeeMarketsResponse, type ShopeeProduct, type ProductAttribute as ShopeeProductAttribute, type ProductImage as ShopeeProductImage, type ProductModel as ShopeeProductModel, type ShopeeProductParams, ProductsClient as ShopeeProductsClient, type RatingBreakdown as ShopeeRatingBreakdown, ReferenceClient$3 as ShopeeReferenceClient, type ShopeeReview, type ReviewReply as ShopeeReviewReply, type ReviewSummary as ShopeeReviewSummary, ReviewsClient as ShopeeReviewsClient, type ShopeeReviewsParams, type ReviewsResult as ShopeeReviewsResult, SearchClient$3 as ShopeeSearchClient, type ShopeeSearchParams, type SearchResult$2 as ShopeeSearchResult, type ShoppingClickParams, type ShoppingProductParams, type ShoppingSearchParams, type ShortsSearchParams, type SubredditDetailResponse, type SubredditPostsResponse, type SubredditRulesResponse, type SubredditWikiPagesResponse, type TikTokAd, type AdLibraryPage as TikTokAdLibraryPage, type AdLibrarySearchResponse as TikTokAdLibrarySearchResponse, type TikTokAdSearchParams, type TikTokAdVideo, AdsClient as TikTokAdsClient, type TikTokAnchor, type TikTokAuthor, type TikTokChallenge, TikTokClient, type TikTokComment, type CommentListResponse as TikTokCommentListResponse, type TikTokCommentRepliesParams, type TikTokCommentsParams, type TikTokCursorPage, type TikTokEffectSticker, type TikTokHashtag, type TikTokHashtagParams, type HashtagResponse$1 as TikTokHashtagResponse, type HashtagSearchResponse as TikTokHashtagSearchResponse, HashtagsClient as TikTokHashtagsClient, type TikTokListVideosParams, type TikTokMusic, MusicClient$1 as TikTokMusicClient, type TikTokMusicParams, type MusicResponse as TikTokMusicResponse, type TikTokOEmbed, type TikTokOEmbedParams, type ProfileResponse as TikTokProfileResponse, ReferenceClient$2 as TikTokReferenceClient, type RegionInfo as TikTokRegionInfo, type RegionsResponse$1 as TikTokRegionsResponse, type TikTokRelatedParams, SearchClient$2 as TikTokSearchClient, type TikTokSearchParams, type TikTokStats, type TikTokSubtitle, type TikTokTextExtra, type TikTokTranscriptParams, type TranscriptResponse as TikTokTranscriptResponse, TrendingClient$1 as TikTokTrendingClient, type TikTokTrendingHashtag, type TrendingHashtagsResponse as TikTokTrendingHashtagsResponse, type TikTokTrendingParams, type TikTokTrendingSong, type TrendingSongsResponse as TikTokTrendingSongsResponse, type TikTokTrendingVideosParams, type TikTokUser, type TikTokUserListParams, type UserListResponse as TikTokUserListResponse, type TikTokUserParams, type UserSearchResponse as TikTokUserSearchResponse, type TikTokUserStats, UsersClient as TikTokUsersClient, type TikTokVideo, type TikTokVideoControl, type VideoListResponse as TikTokVideoListResponse, type TikTokVideoMeta, type TikTokVideoParams, type VideoResponse as TikTokVideoResponse, type TikTokVideoStatus, VideosClient$1 as TikTokVideosClient, type TrendingPostsResponse, type TrendsAutocompleteParams, type TrendsInterestParams, type TrendsRegionsParams, type TrendsRelatedParams, type TrendsTrendingParams, TwitterClient, type UserCommentsResponse, type UserModeratedResponse, type UserPostsResponse, type UserTrophiesResponse, type VideosSearchParams, type VintedBrand, type BrandsResponse as VintedBrandsResponse, VintedClient, type VintedColor, type ColorsResponse as VintedColorsResponse, type VintedItemDetail, type ItemDetailResponse$1 as VintedItemDetailResponse, type VintedItemSummary, ItemsClient$1 as VintedItemsClient, type VintedMarket, type MarketsResponse$4 as VintedMarketsResponse, type VintedPagination, type VintedPhoto, type VintedPrice, ReferenceClient$5 as VintedReferenceClient, SearchClient$7 as VintedSearchClient, type VintedSearchParams, type SearchResponse$3 as VintedSearchResponse, type VintedSellerSummary, type VintedStatus, type StatusesResponse as VintedStatusesResponse, type UserItemsResponse as VintedUserItemsResponse, type VintedUserProfile, type UserProfileResponse$1 as VintedUserProfileResponse, type VintedUserSummary, UsersClient$2 as VintedUsersClient, WebClient, type WikiPageResponse, type AudioTrack as YoutubeAudioTrack, type YoutubeAutocompleteParams, type AutocompleteResponse as YoutubeAutocompleteResponse, type YoutubeBatchParams, type BatchResponse as YoutubeBatchResponse, type CaptionTrack as YoutubeCaptionTrack, type YoutubeCaptionsParams, type CaptionsResponse as YoutubeCaptionsResponse, type YoutubeCategoriesParams, type CategoriesResponse as YoutubeCategoriesResponse, type Channel as YoutubeChannel, type ChannelAbout as YoutubeChannelAbout, type ChannelLink as YoutubeChannelLink, type YoutubeChannelParams, type YoutubeChannelSearchParams, type YoutubeChannelTabParams, type ChannelTabResponse as YoutubeChannelTabResponse, type ChannelVideosResponse as YoutubeChannelVideosResponse, ChannelsClient as YoutubeChannelsClient, type Chapter as YoutubeChapter, YoutubeClient, type Comment as YoutubeComment, type YoutubeCommentSort, type YoutubeCommentsParams, type CommentsResponse as YoutubeCommentsResponse, CommunityClient as YoutubeCommunityClient, type CommunityPost as YoutubeCommunityPost, type CommunityResponse as YoutubeCommunityResponse, type YoutubeDuration, type Format as YoutubeFormat, type YoutubeHashtagParams, type HashtagResponse as YoutubeHashtagResponse, type HeatMarker as YoutubeHeatMarker, type YoutubeHomeParams, type HomeResponse as YoutubeHomeResponse, type LanguagesResponse as YoutubeLanguagesResponse, type LiveChatMessage as YoutubeLiveChatMessage, type YoutubeLiveChatParams, type LiveChatResponse as YoutubeLiveChatResponse, type LiveStreamingDetails as YoutubeLiveStreamingDetails, type MarketInfo as YoutubeMarketInfo, type MarketsResponse as YoutubeMarketsResponse, MusicClient as YoutubeMusicClient, type YoutubeMusicSearchParams, type OEmbed as YoutubeOEmbed, type YoutubeOEmbedParams, type Playlist as YoutubePlaylist, type PlaylistItem as YoutubePlaylistItem, type YoutubePlaylistItemsParams, type PlaylistItemsResponse as YoutubePlaylistItemsResponse, type YoutubePlaylistParams, PlaylistsClient as YoutubePlaylistsClient, type PollChoice as YoutubePollChoice, type YoutubePostCommentsParams, type YoutubePostParams, ReferenceClient as YoutubeReferenceClient, type ReferenceRow as YoutubeReferenceRow, type YoutubeRegionParams, type RegionRestriction as YoutubeRegionRestriction, type RegionsResponse as YoutubeRegionsResponse, type YoutubeRelatedParams, type RelatedResponse as YoutubeRelatedResponse, type YoutubeRepliesParams, type RepliesResponse as YoutubeRepliesResponse, type YoutubeResolveParams, type ResolveResult as YoutubeResolveResult, type SearchChip as YoutubeSearchChip, SearchClient as YoutubeSearchClient, type YoutubeSearchParams, type SearchResponse as YoutubeSearchResponse, type SearchResult as YoutubeSearchResult, type YoutubeSearchSort, type YoutubeSearchType, type ShoppingResult as YoutubeShoppingResult, type Short as YoutubeShort, type YoutubeShortParams, type YoutubeShortsBySoundParams, ShortsClient as YoutubeShortsClient, type StreamingData as YoutubeStreamingData, type YoutubeStreamsClient, type YoutubeStreamsParams, type SubscriberCount as YoutubeSubscriberCount, type Thumbnail as YoutubeThumbnail, type Transcript as YoutubeTranscript, type YoutubeTranscriptParams, type TranscriptSegment as YoutubeTranscriptSegment, TrendingClient as YoutubeTrendingClient, type TrendingItem as YoutubeTrendingItem, type YoutubeTrendingParams, type TrendingResponse as YoutubeTrendingResponse, type YoutubeTrendingShortsParams, type YoutubeTrendingType, type YoutubeUploadDate, type Video as YoutubeVideo, type YoutubeVideoParams, VideosClient as YoutubeVideosClient };