scrapebadger 0.14.0 → 0.15.1

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.cts CHANGED
@@ -411,7 +411,7 @@ interface VintedPagination {
411
411
  /**
412
412
  * Response from the search endpoint.
413
413
  */
414
- interface SearchResponse$1 {
414
+ interface SearchResponse$3 {
415
415
  /** List of matching items */
416
416
  items: VintedItemSummary[];
417
417
  /** Pagination metadata */
@@ -427,7 +427,7 @@ interface SearchResponse$1 {
427
427
  /**
428
428
  * Response from the item detail endpoint.
429
429
  */
430
- interface ItemDetailResponse {
430
+ interface ItemDetailResponse$1 {
431
431
  /** Full item details */
432
432
  item: VintedItemDetail;
433
433
  /** Market code used */
@@ -479,7 +479,7 @@ interface StatusesResponse {
479
479
  /**
480
480
  * Response from the markets endpoint.
481
481
  */
482
- interface MarketsResponse$2 {
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$5 {
553
+ declare class SearchClient$7 {
554
554
  private readonly client;
555
555
  constructor(client: BaseClient);
556
556
  /**
@@ -586,7 +586,7 @@ declare class SearchClient$5 {
586
586
  * }
587
587
  * ```
588
588
  */
589
- search(params: VintedSearchParams): Promise<SearchResponse$1>;
589
+ search(params: VintedSearchParams): Promise<SearchResponse$3>;
590
590
  }
591
591
 
592
592
  /**
@@ -607,7 +607,7 @@ declare class SearchClient$5 {
607
607
  * console.log(`Seller: ${item.item.seller.login}`);
608
608
  * ```
609
609
  */
610
- declare class ItemsClient {
610
+ declare class ItemsClient$1 {
611
611
  private readonly client;
612
612
  constructor(client: BaseClient);
613
613
  /**
@@ -631,7 +631,7 @@ declare class ItemsClient {
631
631
  */
632
632
  get(itemId: number, options?: {
633
633
  market?: string;
634
- }): Promise<ItemDetailResponse>;
634
+ }): Promise<ItemDetailResponse$1>;
635
635
  }
636
636
 
637
637
  /**
@@ -741,7 +741,7 @@ declare class UsersClient$2 {
741
741
  * }
742
742
  * ```
743
743
  */
744
- declare class ReferenceClient$3 {
744
+ declare class ReferenceClient$5 {
745
745
  private readonly client;
746
746
  constructor(client: BaseClient);
747
747
  /**
@@ -819,7 +819,7 @@ declare class ReferenceClient$3 {
819
819
  * }
820
820
  * ```
821
821
  */
822
- markets(): Promise<MarketsResponse$2>;
822
+ markets(): Promise<MarketsResponse$4>;
823
823
  }
824
824
 
825
825
  /**
@@ -856,13 +856,13 @@ declare class ReferenceClient$3 {
856
856
  */
857
857
  declare class VintedClient {
858
858
  /** Client for item search operations */
859
- readonly search: SearchClient$5;
859
+ readonly search: SearchClient$7;
860
860
  /** Client for individual item operations */
861
- readonly items: ItemsClient;
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$3;
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$4 {
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$4;
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$3 {
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$3;
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) */
@@ -3523,7 +3523,7 @@ interface AmazonPrice {
3523
3523
  /**
3524
3524
  * Page-number pagination (Amazon listings use 1-based page numbers).
3525
3525
  */
3526
- interface Pagination {
3526
+ interface Pagination$1 {
3527
3527
  /** Current page number (1-indexed) */
3528
3528
  current_page: number;
3529
3529
  /** Total number of pages, if known */
@@ -3534,7 +3534,7 @@ interface Pagination {
3534
3534
  /**
3535
3535
  * A single supported marketplace (for /markets).
3536
3536
  */
3537
- interface MarketInfo {
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") */
@@ -3551,7 +3551,7 @@ interface MarketInfo {
3551
3551
  /**
3552
3552
  * A reference category / department alias (for /categories).
3553
3553
  */
3554
- interface CategoryInfo {
3554
+ interface CategoryInfo$1 {
3555
3555
  /** Category display name */
3556
3556
  name: string;
3557
3557
  /** Category alias */
@@ -3693,14 +3693,14 @@ interface Product {
3693
3693
  also_bought: RelatedProduct[];
3694
3694
  answered_questions: number | null;
3695
3695
  /** The product page's embedded featured reviews (max 8). */
3696
- top_reviews: Review[];
3696
+ top_reviews: Review$1[];
3697
3697
  scraped_utc: number | null;
3698
3698
  scraped_at: string | null;
3699
3699
  }
3700
3700
  /**
3701
3701
  * A single search / category-browse result row.
3702
3702
  */
3703
- interface SearchResult$1 {
3703
+ interface SearchResult$3 {
3704
3704
  position: number;
3705
3705
  asin: string;
3706
3706
  title: string | null;
@@ -3773,7 +3773,7 @@ interface ReviewProfile {
3773
3773
  /**
3774
3774
  * A single product review.
3775
3775
  */
3776
- interface Review {
3776
+ interface Review$1 {
3777
3777
  id: string | null;
3778
3778
  title: string | null;
3779
3779
  body: string | null;
@@ -3849,7 +3849,7 @@ interface SellerFeedbackSummary {
3849
3849
  /**
3850
3850
  * A seller profile.
3851
3851
  */
3852
- interface Seller {
3852
+ interface Seller$1 {
3853
3853
  seller_id: string;
3854
3854
  name: string | null;
3855
3855
  link: string | null;
@@ -3875,16 +3875,16 @@ interface SellerFeedbackEntry {
3875
3875
  /**
3876
3876
  * A single keyword suggestion.
3877
3877
  */
3878
- interface AutocompleteSuggestion {
3878
+ interface AutocompleteSuggestion$1 {
3879
3879
  value: string;
3880
3880
  alias: string | null;
3881
3881
  }
3882
3882
  /** Response from the /search endpoint. */
3883
- interface SearchResponse {
3883
+ interface SearchResponse$2 {
3884
3884
  query: string;
3885
3885
  domain: string;
3886
- results: SearchResult$1[];
3887
- pagination: Pagination;
3886
+ results: SearchResult$3[];
3887
+ pagination: Pagination$1;
3888
3888
  scraped_utc: number | null;
3889
3889
  scraped_at: string | null;
3890
3890
  }
@@ -3904,14 +3904,14 @@ interface OffersResponse {
3904
3904
  scraped_at: string | null;
3905
3905
  }
3906
3906
  /** Response from the /products/{asin}/reviews endpoint. */
3907
- interface ReviewsResponse {
3907
+ interface ReviewsResponse$1 {
3908
3908
  asin: string;
3909
3909
  domain: string;
3910
- reviews: Review[];
3910
+ reviews: Review$1[];
3911
3911
  rating: number | null;
3912
3912
  ratings_total: number | null;
3913
3913
  rating_breakdown: RatingBreakdown$1 | null;
3914
- pagination: Pagination;
3914
+ pagination: Pagination$1;
3915
3915
  scraped_utc: number | null;
3916
3916
  scraped_at: string | null;
3917
3917
  }
@@ -3920,7 +3920,7 @@ interface BestsellersResponse {
3920
3920
  domain: string;
3921
3921
  category: string | null;
3922
3922
  bestsellers: Bestseller[];
3923
- pagination: Pagination;
3923
+ pagination: Pagination$1;
3924
3924
  scraped_utc: number | null;
3925
3925
  scraped_at: string | null;
3926
3926
  }
@@ -3929,7 +3929,7 @@ interface NewReleasesResponse {
3929
3929
  domain: string;
3930
3930
  category: string | null;
3931
3931
  new_releases: Bestseller[];
3932
- pagination: Pagination;
3932
+ pagination: Pagination$1;
3933
3933
  scraped_utc: number | null;
3934
3934
  scraped_at: string | null;
3935
3935
  }
@@ -3938,55 +3938,55 @@ interface DealsResponse {
3938
3938
  domain: string;
3939
3939
  category: string | null;
3940
3940
  deals: Deal[];
3941
- pagination: Pagination;
3941
+ pagination: Pagination$1;
3942
3942
  scraped_utc: number | null;
3943
3943
  scraped_at: string | null;
3944
3944
  }
3945
3945
  /** Response from the /category endpoint. */
3946
- interface CategoryResponse {
3946
+ interface CategoryResponse$1 {
3947
3947
  domain: string;
3948
3948
  node: string;
3949
- results: SearchResult$1[];
3950
- pagination: Pagination;
3949
+ results: SearchResult$3[];
3950
+ pagination: Pagination$1;
3951
3951
  scraped_utc: number | null;
3952
3952
  scraped_at: string | null;
3953
3953
  }
3954
3954
  /** Response from the /sellers/{seller_id} endpoint. */
3955
- interface SellerProfileResponse {
3955
+ interface SellerProfileResponse$1 {
3956
3956
  domain: string;
3957
- seller: Seller;
3957
+ seller: Seller$1;
3958
3958
  }
3959
3959
  /** Response from the /sellers/{seller_id}/products endpoint. */
3960
3960
  interface SellerProductsResponse {
3961
3961
  domain: string;
3962
3962
  seller_id: string;
3963
- products: SearchResult$1[];
3964
- pagination: Pagination;
3963
+ products: SearchResult$3[];
3964
+ pagination: Pagination$1;
3965
3965
  scraped_utc: number | null;
3966
3966
  scraped_at: string | null;
3967
3967
  }
3968
3968
  /** Response from the /sellers/{seller_id}/feedback endpoint. */
3969
- interface SellerFeedbackResponse {
3969
+ interface SellerFeedbackResponse$1 {
3970
3970
  domain: string;
3971
3971
  seller_id: string;
3972
3972
  feedback: SellerFeedbackEntry[];
3973
- pagination: Pagination;
3973
+ pagination: Pagination$1;
3974
3974
  scraped_utc: number | null;
3975
3975
  scraped_at: string | null;
3976
3976
  }
3977
3977
  /** Response from the /autocomplete endpoint. */
3978
- interface AutocompleteResponse {
3978
+ interface AutocompleteResponse$2 {
3979
3979
  query: string;
3980
3980
  domain: string;
3981
- suggestions: AutocompleteSuggestion[];
3981
+ suggestions: AutocompleteSuggestion$1[];
3982
3982
  }
3983
3983
  /** Response from the /markets endpoint. */
3984
- interface MarketsResponse$1 {
3985
- markets: MarketInfo[];
3984
+ interface MarketsResponse$3 {
3985
+ markets: MarketInfo$2[];
3986
3986
  }
3987
3987
  /** Response from the /categories endpoint. */
3988
- interface CategoriesResponse {
3989
- categories: CategoryInfo[];
3988
+ interface CategoriesResponse$2 {
3989
+ categories: CategoryInfo$1[];
3990
3990
  }
3991
3991
  /** Parameters for searching Amazon products. */
3992
3992
  interface AmazonSearchParams {
@@ -4108,7 +4108,7 @@ interface AmazonAutocompleteParams {
4108
4108
  * const suggestions = await client.amazon.search.autocomplete("lapt");
4109
4109
  * ```
4110
4110
  */
4111
- declare class SearchClient$2 {
4111
+ declare class SearchClient$4 {
4112
4112
  private readonly client;
4113
4113
  constructor(client: BaseClient);
4114
4114
  /**
@@ -4119,7 +4119,7 @@ declare class SearchClient$2 {
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>;
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$2 {
4127
4127
  * @param options - Optional parameters (domain).
4128
4128
  * @returns Autocomplete suggestions.
4129
4129
  */
4130
- autocomplete(query: string, options?: AmazonAutocompleteParams): Promise<AutocompleteResponse>;
4130
+ autocomplete(query: string, options?: AmazonAutocompleteParams): Promise<AutocompleteResponse$2>;
4131
4131
  }
4132
4132
 
4133
4133
  /**
@@ -4179,7 +4179,7 @@ declare class ProductsClient$1 {
4179
4179
  * @param options - Optional parameters (domain, page, sort_by, star, verified_only, media_only).
4180
4180
  * @returns Reviews response with reviews, aggregate rating, and breakdown.
4181
4181
  */
4182
- reviews(asin: string, options?: AmazonReviewsParams): Promise<ReviewsResponse>;
4182
+ reviews(asin: string, options?: AmazonReviewsParams): Promise<ReviewsResponse$1>;
4183
4183
  }
4184
4184
 
4185
4185
  /**
@@ -4231,7 +4231,7 @@ declare class ListingsClient {
4231
4231
  * @param params - Parameters including the required node ID.
4232
4232
  * @returns Category response with result rows and pagination.
4233
4233
  */
4234
- category(params: AmazonCategoryParams): Promise<CategoryResponse>;
4234
+ category(params: AmazonCategoryParams): Promise<CategoryResponse$1>;
4235
4235
  }
4236
4236
 
4237
4237
  /**
@@ -4253,7 +4253,7 @@ declare class ListingsClient {
4253
4253
  * const products = await client.amazon.sellers.products("A2L77EE7U53NWQ");
4254
4254
  * ```
4255
4255
  */
4256
- declare class SellersClient {
4256
+ declare class SellersClient$1 {
4257
4257
  private readonly client;
4258
4258
  constructor(client: BaseClient);
4259
4259
  /**
@@ -4264,7 +4264,7 @@ declare class SellersClient {
4264
4264
  * @returns Seller profile response.
4265
4265
  * @throws NotFoundError - If the seller doesn't exist.
4266
4266
  */
4267
- get(sellerId: string, options?: AmazonSellerParams): Promise<SellerProfileResponse>;
4267
+ get(sellerId: string, options?: AmazonSellerParams): Promise<SellerProfileResponse$1>;
4268
4268
  /**
4269
4269
  * Get a seller's storefront listings.
4270
4270
  *
@@ -4280,7 +4280,7 @@ declare class SellersClient {
4280
4280
  * @param options - Optional parameters (domain, page).
4281
4281
  * @returns Seller feedback response with feedback entries and pagination.
4282
4282
  */
4283
- feedback(sellerId: string, options?: AmazonSellerListParams): Promise<SellerFeedbackResponse>;
4283
+ feedback(sellerId: string, options?: AmazonSellerListParams): Promise<SellerFeedbackResponse$1>;
4284
4284
  }
4285
4285
 
4286
4286
  /**
@@ -4304,7 +4304,7 @@ declare class SellersClient {
4304
4304
  * const categories = await client.amazon.reference.categories();
4305
4305
  * ```
4306
4306
  */
4307
- declare class ReferenceClient$2 {
4307
+ declare class ReferenceClient$4 {
4308
4308
  private readonly client;
4309
4309
  constructor(client: BaseClient);
4310
4310
  /**
@@ -4312,13 +4312,13 @@ declare class ReferenceClient$2 {
4312
4312
  *
4313
4313
  * @returns Markets response with all supported marketplaces.
4314
4314
  */
4315
- markets(): Promise<MarketsResponse$1>;
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>;
4321
+ categories(): Promise<CategoriesResponse$2>;
4322
4322
  }
4323
4323
 
4324
4324
  /**
@@ -4359,15 +4359,15 @@ declare class ReferenceClient$2 {
4359
4359
  */
4360
4360
  declare class AmazonClient {
4361
4361
  /** Client for keyword search and autocomplete */
4362
- readonly search: SearchClient$2;
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 */
4366
4366
  readonly listings: ListingsClient;
4367
4367
  /** Client for seller profile, products, and feedback */
4368
- readonly sellers: SellersClient;
4368
+ readonly sellers: SellersClient$1;
4369
4369
  /** Client for reference data (markets, categories) */
4370
- readonly reference: ReferenceClient$2;
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 {
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 {
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$1 {
4662
+ declare class SearchClient$3 {
4663
4663
  private readonly client;
4664
4664
  constructor(client: BaseClient);
4665
4665
  /**
@@ -4670,7 +4670,7 @@ declare class SearchClient$1 {
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>;
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$1 {
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>;
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$1 {
4785
+ declare class ReferenceClient$3 {
4786
4786
  private readonly client;
4787
4787
  constructor(client: BaseClient);
4788
4788
  /**
@@ -4790,7 +4790,7 @@ declare class ReferenceClient$1 {
4790
4790
  *
4791
4791
  * @returns Markets response with all supported Shopee markets (0 credits).
4792
4792
  */
4793
- markets(): Promise<MarketsResponse>;
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$1 {
4842
4842
  */
4843
4843
  declare class ShopeeClient {
4844
4844
  /** Client for keyword search and category-item listing */
4845
- readonly search: SearchClient$1;
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$1;
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 {
5697
+ declare class SearchClient$2 {
5698
5698
  private readonly client;
5699
5699
  constructor(client: BaseClient);
5700
5700
  /**
@@ -5744,7 +5744,7 @@ declare class SearchClient {
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 {
5903
+ declare class ReferenceClient$2 {
5904
5904
  private readonly client;
5905
5905
  constructor(client: BaseClient);
5906
5906
  /**
@@ -5908,7 +5908,7 @@ declare class ReferenceClient {
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;
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;
5978
+ readonly reference: ReferenceClient$2;
5979
5979
  /**
5980
5980
  * Create a new TikTok client.
5981
5981
  *
@@ -5984,6 +5984,2245 @@ declare class TikTokClient {
5984
5984
  constructor(client: BaseClient);
5985
5985
  }
5986
5986
 
5987
+ /**
5988
+ * TypeScript types for eBay API responses.
5989
+ *
5990
+ * These interfaces mirror the backend `ebay_scraper` response schema
5991
+ * field-for-field. Optional / nullable backend fields are typed as
5992
+ * `Type | null`; backend list fields default to `[]` and are typed as arrays.
5993
+ * Every datetime field ships in BOTH `*_utc` (number) and `*_at` (string) form.
5994
+ */
5995
+ /**
5996
+ * A parsed price with both the numeric value and its raw rendering.
5997
+ */
5998
+ interface EbayPrice {
5999
+ /** Numeric price value */
6000
+ value: number | null;
6001
+ /** ISO currency code (e.g. "USD") */
6002
+ currency: string | null;
6003
+ /** Currency symbol (e.g. "$") */
6004
+ symbol: string | null;
6005
+ /** Raw rendered price string (e.g. "$29.99") */
6006
+ raw: string | null;
6007
+ }
6008
+ /**
6009
+ * Page-number pagination (eBay listings use 1-based `_pgn` numbers).
6010
+ */
6011
+ interface Pagination {
6012
+ /** Current page number (1-indexed) */
6013
+ current_page: number;
6014
+ /** Results per page, if known */
6015
+ per_page: number | null;
6016
+ /** Total number of pages, if known */
6017
+ total_pages: number | null;
6018
+ /** Total number of results, if known */
6019
+ total_results: number | null;
6020
+ }
6021
+ /**
6022
+ * A single supported marketplace (for /markets).
6023
+ */
6024
+ interface MarketInfo$1 {
6025
+ /** Market code (e.g. "US", "GB", "DE") */
6026
+ code: string;
6027
+ /** eBay domain suffix (e.g. "com", "co.uk") */
6028
+ domain: string;
6029
+ /** Country name */
6030
+ country: string;
6031
+ /** Currency code (e.g. "USD") */
6032
+ currency: string;
6033
+ /** Locale (e.g. "en-US") */
6034
+ locale: string;
6035
+ /** Market display name */
6036
+ name: string;
6037
+ /** eBay site id */
6038
+ site_id: number;
6039
+ }
6040
+ /**
6041
+ * A reference category alias (for /categories).
6042
+ */
6043
+ interface CategoryInfo {
6044
+ /** Category display name */
6045
+ name: string;
6046
+ /** Category id */
6047
+ category_id: string;
6048
+ /** Parent category name, if any */
6049
+ parent: string | null;
6050
+ }
6051
+ /**
6052
+ * A single image with optional dimensions.
6053
+ */
6054
+ interface Image {
6055
+ url: string;
6056
+ width: number | null;
6057
+ height: number | null;
6058
+ }
6059
+ /**
6060
+ * A single shipping option (per-destination rate from JSON-LD or DOM).
6061
+ */
6062
+ interface ShippingOption {
6063
+ cost: EbayPrice | null;
6064
+ is_free: boolean | null;
6065
+ service: string | null;
6066
+ destination_country: string | null;
6067
+ delivery_estimate: string | null;
6068
+ }
6069
+ /**
6070
+ * One eBay search/listing card (search, seller items, category, sold).
6071
+ */
6072
+ interface SearchResult$1 {
6073
+ position: number;
6074
+ item_id: string | null;
6075
+ product_id: string | null;
6076
+ title: string | null;
6077
+ url: string | null;
6078
+ image: string | null;
6079
+ price: EbayPrice | null;
6080
+ original_price: EbayPrice | null;
6081
+ discount_percent: number | null;
6082
+ currency: string | null;
6083
+ condition: string | null;
6084
+ brand: string | null;
6085
+ /** "Buy It Now" | "Auction" | "Best Offer" */
6086
+ buying_format: string | null;
6087
+ is_auction: boolean;
6088
+ bids: number | null;
6089
+ time_left: string | null;
6090
+ shipping: string | null;
6091
+ shipping_cost: EbayPrice | null;
6092
+ free_shipping: boolean | null;
6093
+ location: string | null;
6094
+ returns: string | null;
6095
+ sold_count: number | null;
6096
+ watchers: number | null;
6097
+ coupon: string | null;
6098
+ rating: number | null;
6099
+ ratings_total: number | null;
6100
+ seller_name: string | null;
6101
+ seller_feedback_percent: number | null;
6102
+ seller_feedback_score: number | null;
6103
+ /** e.g. "eBay Refurbished" */
6104
+ program_badge: string | null;
6105
+ is_sponsored: boolean;
6106
+ }
6107
+ /**
6108
+ * The seller summary attached to an item.
6109
+ */
6110
+ interface ItemSeller {
6111
+ username: string | null;
6112
+ url: string | null;
6113
+ feedback_score: number | null;
6114
+ feedback_percent: number | null;
6115
+ store_name: string | null;
6116
+ store_url: string | null;
6117
+ }
6118
+ /**
6119
+ * The returns policy for an item.
6120
+ */
6121
+ interface ReturnsPolicy {
6122
+ accepted: boolean | null;
6123
+ /** e.g. "30 days" */
6124
+ period: string | null;
6125
+ /** "buyer" | "seller" */
6126
+ cost_paid_by: string | null;
6127
+ raw: string | null;
6128
+ }
6129
+ /**
6130
+ * Full item detail (PDP).
6131
+ */
6132
+ interface Item {
6133
+ item_id: string;
6134
+ product_id: string | null;
6135
+ legacy_item_id: string | null;
6136
+ title: string | null;
6137
+ subtitle: string | null;
6138
+ url: string | null;
6139
+ condition: string | null;
6140
+ condition_id: string | null;
6141
+ condition_description: string | null;
6142
+ price: EbayPrice | null;
6143
+ original_price: EbayPrice | null;
6144
+ discount_percent: number | null;
6145
+ currency: string | null;
6146
+ availability: string | null;
6147
+ quantity_available: number | null;
6148
+ quantity_sold: number | null;
6149
+ watchers: number | null;
6150
+ buying_format: string | null;
6151
+ is_auction: boolean;
6152
+ bids: number | null;
6153
+ time_left: string | null;
6154
+ best_offer_enabled: boolean | null;
6155
+ brand: string | null;
6156
+ mpn: string | null;
6157
+ model: string | null;
6158
+ color: string | null;
6159
+ gtin: string | null;
6160
+ main_image: string | null;
6161
+ images: Image[];
6162
+ images_count: number;
6163
+ description: string | null;
6164
+ seller_notes: string | null;
6165
+ item_specifics: Record<string, string>;
6166
+ categories: string[];
6167
+ category_id: string | null;
6168
+ shipping_options: ShippingOption[];
6169
+ shipping_cost: EbayPrice | null;
6170
+ free_shipping: boolean | null;
6171
+ item_location: string | null;
6172
+ ships_to: string[];
6173
+ returns: ReturnsPolicy | null;
6174
+ seller: ItemSeller | null;
6175
+ rating: number | null;
6176
+ ratings_total: number | null;
6177
+ date_modified_utc: number | null;
6178
+ date_modified_at: string | null;
6179
+ scraped_utc: number | null;
6180
+ scraped_at: string | null;
6181
+ }
6182
+ /**
6183
+ * Positive / neutral / negative feedback counts for a window.
6184
+ */
6185
+ interface FeedbackBreakdown {
6186
+ positive: number | null;
6187
+ neutral: number | null;
6188
+ negative: number | null;
6189
+ }
6190
+ /**
6191
+ * A seller profile.
6192
+ */
6193
+ interface Seller {
6194
+ username: string;
6195
+ url: string | null;
6196
+ store_name: string | null;
6197
+ store_url: string | null;
6198
+ feedback_score: number | null;
6199
+ feedback_percent: number | null;
6200
+ member_since: string | null;
6201
+ location: string | null;
6202
+ items_for_sale: number | null;
6203
+ feedback_12mo: FeedbackBreakdown | null;
6204
+ top_rated: boolean | null;
6205
+ scraped_utc: number | null;
6206
+ scraped_at: string | null;
6207
+ }
6208
+ /**
6209
+ * A single seller feedback entry.
6210
+ */
6211
+ interface FeedbackEntry {
6212
+ /** "positive" | "neutral" | "negative" */
6213
+ rating: string | null;
6214
+ comment: string | null;
6215
+ rater: string | null;
6216
+ item: string | null;
6217
+ date_raw: string | null;
6218
+ date_utc: number | null;
6219
+ date_at: string | null;
6220
+ }
6221
+ /**
6222
+ * Per-star rating distribution.
6223
+ */
6224
+ interface RatingHistogram {
6225
+ five_star: number | null;
6226
+ four_star: number | null;
6227
+ three_star: number | null;
6228
+ two_star: number | null;
6229
+ one_star: number | null;
6230
+ }
6231
+ /**
6232
+ * A single catalog product review.
6233
+ */
6234
+ interface Review {
6235
+ title: string | null;
6236
+ body: string | null;
6237
+ rating: number | null;
6238
+ author: string | null;
6239
+ date_raw: string | null;
6240
+ date_utc: number | null;
6241
+ date_at: string | null;
6242
+ helpful_votes: number | null;
6243
+ verified_purchase: boolean;
6244
+ }
6245
+ /**
6246
+ * A single keyword suggestion.
6247
+ */
6248
+ interface AutocompleteSuggestion {
6249
+ value: string;
6250
+ }
6251
+ /** Response from the /search and /completed endpoints. */
6252
+ interface SearchResponse$1 {
6253
+ query: string | null;
6254
+ domain: string;
6255
+ category_id: string | null;
6256
+ sold: boolean;
6257
+ results: SearchResult$1[];
6258
+ facets: Record<string, string[]>;
6259
+ pagination: Pagination;
6260
+ scraped_utc: number | null;
6261
+ scraped_at: string | null;
6262
+ }
6263
+ /** Response from the /items/{item_id} endpoint. */
6264
+ interface ItemDetailResponse {
6265
+ domain: string;
6266
+ item: Item;
6267
+ }
6268
+ /** Response from the /sellers/{username} endpoint. */
6269
+ interface SellerProfileResponse {
6270
+ domain: string;
6271
+ seller: Seller;
6272
+ }
6273
+ /** Response from the /sellers/{username}/items endpoint. */
6274
+ interface SellerItemsResponse {
6275
+ domain: string;
6276
+ username: string;
6277
+ results: SearchResult$1[];
6278
+ pagination: Pagination;
6279
+ scraped_utc: number | null;
6280
+ scraped_at: string | null;
6281
+ }
6282
+ /** Response from the /sellers/{username}/feedback endpoint. */
6283
+ interface SellerFeedbackResponse {
6284
+ domain: string;
6285
+ username: string;
6286
+ feedback: FeedbackEntry[];
6287
+ pagination: Pagination;
6288
+ scraped_utc: number | null;
6289
+ scraped_at: string | null;
6290
+ }
6291
+ /** Response from the /items/{item_id}/reviews endpoint. */
6292
+ interface ReviewsResponse {
6293
+ domain: string;
6294
+ item_id: string | null;
6295
+ product_id: string | null;
6296
+ rating: number | null;
6297
+ ratings_total: number | null;
6298
+ histogram: RatingHistogram | null;
6299
+ reviews: Review[];
6300
+ pagination: Pagination;
6301
+ scraped_utc: number | null;
6302
+ scraped_at: string | null;
6303
+ }
6304
+ /** Response from the /categories/{category_id}/items endpoint. */
6305
+ interface CategoryResponse {
6306
+ domain: string;
6307
+ category_id: string;
6308
+ results: SearchResult$1[];
6309
+ facets: Record<string, string[]>;
6310
+ pagination: Pagination;
6311
+ scraped_utc: number | null;
6312
+ scraped_at: string | null;
6313
+ }
6314
+ /** Response from the /autocomplete endpoint. */
6315
+ interface AutocompleteResponse$1 {
6316
+ query: string;
6317
+ domain: string;
6318
+ suggestions: AutocompleteSuggestion[];
6319
+ }
6320
+ /** Response from the /markets endpoint. */
6321
+ interface MarketsResponse$1 {
6322
+ markets: MarketInfo$1[];
6323
+ }
6324
+ /** Response from the /categories endpoint. */
6325
+ interface CategoriesResponse$1 {
6326
+ categories: CategoryInfo[];
6327
+ }
6328
+ /** Sort order for search / listing endpoints. */
6329
+ type EbaySortBy = "best_match" | "ending_soonest" | "newly_listed" | "price_low_to_high" | "price_high_to_low";
6330
+ /** Item condition filter. */
6331
+ type EbayCondition = "new" | "open_box" | "refurbished" | "used" | "for_parts";
6332
+ /** Buying-format filter. */
6333
+ type EbayBuyingFormat = "auction" | "buy_it_now" | "best_offer";
6334
+ /** Parameters for searching active eBay listings. */
6335
+ interface EbaySearchParams {
6336
+ /** Search keywords (required) */
6337
+ query: string;
6338
+ /** Marketplace domain (default: "com") */
6339
+ domain?: string;
6340
+ /** Restrict to a category id */
6341
+ category_id?: string;
6342
+ /** Page number (1-indexed) */
6343
+ page?: number;
6344
+ /** Results per page (60, 120 or 240; clamped) */
6345
+ per_page?: number;
6346
+ /** Sort order */
6347
+ sort_by?: EbaySortBy;
6348
+ /** Item condition filter */
6349
+ condition?: EbayCondition;
6350
+ /** Buying-format filter */
6351
+ buying_format?: EbayBuyingFormat;
6352
+ /** Minimum price filter */
6353
+ min_price?: number;
6354
+ /** Maximum price filter */
6355
+ max_price?: number;
6356
+ /** Restrict to free-shipping listings */
6357
+ free_shipping?: boolean;
6358
+ }
6359
+ /** Parameters for searching completed / sold eBay listings. */
6360
+ interface EbayCompletedParams {
6361
+ /** Search keywords (required) */
6362
+ query: string;
6363
+ /** Marketplace domain (default: "com") */
6364
+ domain?: string;
6365
+ /** Restrict to a category id */
6366
+ category_id?: string;
6367
+ /** Page number (1-indexed) */
6368
+ page?: number;
6369
+ /** Results per page (60, 120 or 240; clamped) */
6370
+ per_page?: number;
6371
+ /** Sort order */
6372
+ sort_by?: EbaySortBy;
6373
+ /** Item condition filter */
6374
+ condition?: EbayCondition;
6375
+ /** Minimum price filter */
6376
+ min_price?: number;
6377
+ /** Maximum price filter */
6378
+ max_price?: number;
6379
+ }
6380
+ /** Options for the item detail endpoint. */
6381
+ interface EbayItemParams {
6382
+ /** Marketplace domain (default: "com") */
6383
+ domain?: string;
6384
+ }
6385
+ /** Options for the item reviews endpoint. */
6386
+ interface EbayReviewsParams {
6387
+ /** Marketplace domain (default: "com") */
6388
+ domain?: string;
6389
+ /** Page number (1-indexed) */
6390
+ page?: number;
6391
+ /** Fetch reviews by catalog product id instead of item id */
6392
+ productId?: string;
6393
+ }
6394
+ /** Options for the seller profile endpoint. */
6395
+ interface EbaySellerParams {
6396
+ /** Marketplace domain (default: "com") */
6397
+ domain?: string;
6398
+ }
6399
+ /** Options for the seller items endpoint. */
6400
+ interface EbaySellerItemsParams {
6401
+ /** Marketplace domain (default: "com") */
6402
+ domain?: string;
6403
+ /** Filter the seller's listings by keyword */
6404
+ query?: string;
6405
+ /** Page number (1-indexed) */
6406
+ page?: number;
6407
+ /** Results per page (60, 120 or 240; clamped) */
6408
+ per_page?: number;
6409
+ }
6410
+ /** Options for the seller feedback endpoint. */
6411
+ interface EbaySellerFeedbackParams {
6412
+ /** Marketplace domain (default: "com") */
6413
+ domain?: string;
6414
+ /** Page number (1-indexed) */
6415
+ page?: number;
6416
+ }
6417
+ /** Options for the category-browse endpoint. */
6418
+ interface EbayCategoryParams {
6419
+ /** Marketplace domain (default: "com") */
6420
+ domain?: string;
6421
+ /** Page number (1-indexed) */
6422
+ page?: number;
6423
+ /** Results per page (60, 120 or 240; clamped) */
6424
+ per_page?: number;
6425
+ /** Sort order */
6426
+ sort_by?: EbaySortBy;
6427
+ /** Minimum price filter */
6428
+ min_price?: number;
6429
+ /** Maximum price filter */
6430
+ max_price?: number;
6431
+ }
6432
+ /** Options for the autocomplete endpoint. */
6433
+ interface EbayAutocompleteParams {
6434
+ /** Marketplace domain (default: "com") */
6435
+ domain?: string;
6436
+ }
6437
+
6438
+ /**
6439
+ * eBay Search API client.
6440
+ *
6441
+ * Provides methods for active search, completed/sold search, and keyword
6442
+ * autocomplete suggestions.
6443
+ */
6444
+
6445
+ /**
6446
+ * Client for eBay search, completed-listings, and autocomplete endpoints.
6447
+ *
6448
+ * @example
6449
+ * ```typescript
6450
+ * const client = new ScrapeBadger({ apiKey: "key" });
6451
+ *
6452
+ * const results = await client.ebay.search.search({ query: "nintendo switch" });
6453
+ * for (const item of results.results) {
6454
+ * console.log(`${item.position}. ${item.title}`);
6455
+ * }
6456
+ *
6457
+ * const sold = await client.ebay.search.completed({ query: "nintendo switch" });
6458
+ *
6459
+ * const suggestions = await client.ebay.search.autocomplete("ipho");
6460
+ * ```
6461
+ */
6462
+ declare class SearchClient$1 {
6463
+ private readonly client;
6464
+ constructor(client: BaseClient);
6465
+ /**
6466
+ * Search an eBay marketplace for active listings.
6467
+ *
6468
+ * @param params - Search parameters including query, filters, and pagination.
6469
+ * @returns Search results with cards, facets, and pagination metadata.
6470
+ * @throws AuthenticationError - If the API key is invalid.
6471
+ * @throws ValidationError - If the parameters are invalid.
6472
+ */
6473
+ search(params: EbaySearchParams): Promise<SearchResponse$1>;
6474
+ /**
6475
+ * Search completed / sold listings — eBay's sold-price history.
6476
+ *
6477
+ * @param params - Search parameters including query, filters, and pagination.
6478
+ * @returns Search results (with `sold: true`), facets, and pagination.
6479
+ */
6480
+ completed(params: EbayCompletedParams): Promise<SearchResponse$1>;
6481
+ /**
6482
+ * Get eBay keyword autocomplete suggestions.
6483
+ *
6484
+ * @param query - Partial search query prefix.
6485
+ * @param options - Optional parameters (domain).
6486
+ * @returns Autocomplete suggestions.
6487
+ */
6488
+ autocomplete(query: string, options?: EbayAutocompleteParams): Promise<AutocompleteResponse$1>;
6489
+ }
6490
+
6491
+ /**
6492
+ * eBay Items API client.
6493
+ *
6494
+ * Provides methods for fetching item detail and catalog product reviews.
6495
+ */
6496
+
6497
+ /**
6498
+ * Client for eBay item endpoints (detail, reviews).
6499
+ *
6500
+ * @example
6501
+ * ```typescript
6502
+ * const client = new ScrapeBadger({ apiKey: "key" });
6503
+ *
6504
+ * const detail = await client.ebay.items.get("123456789012");
6505
+ * console.log(detail.item.title);
6506
+ *
6507
+ * const reviews = await client.ebay.items.reviews("123456789012");
6508
+ * console.log(`${reviews.ratings_total} reviews`);
6509
+ * ```
6510
+ */
6511
+ declare class ItemsClient {
6512
+ private readonly client;
6513
+ constructor(client: BaseClient);
6514
+ /**
6515
+ * Get a single eBay listing's full detail.
6516
+ *
6517
+ * @param itemId - The eBay item id.
6518
+ * @param options - Optional parameters (domain).
6519
+ * @returns Item detail including specifics, shipping, and seller summary.
6520
+ * @throws NotFoundError - If the item doesn't exist.
6521
+ */
6522
+ get(itemId: string, options?: EbayItemParams): Promise<ItemDetailResponse>;
6523
+ /**
6524
+ * Get the catalog product reviews shown on an eBay listing.
6525
+ *
6526
+ * @param itemId - The eBay item id.
6527
+ * @param options - Optional parameters (domain, page, productId).
6528
+ * @returns Reviews response with reviews, aggregate rating, and histogram.
6529
+ */
6530
+ reviews(itemId: string, options?: EbayReviewsParams): Promise<ReviewsResponse>;
6531
+ }
6532
+
6533
+ /**
6534
+ * eBay Sellers API client.
6535
+ *
6536
+ * Provides methods for seller profile, storefront listings, and feedback.
6537
+ */
6538
+
6539
+ /**
6540
+ * Client for eBay seller endpoints (profile, items, feedback).
6541
+ *
6542
+ * @example
6543
+ * ```typescript
6544
+ * const client = new ScrapeBadger({ apiKey: "key" });
6545
+ *
6546
+ * const profile = await client.ebay.sellers.get("musicmagpie");
6547
+ * console.log(profile.seller.feedback_score);
6548
+ *
6549
+ * const items = await client.ebay.sellers.items("musicmagpie");
6550
+ * const feedback = await client.ebay.sellers.feedback("musicmagpie");
6551
+ * ```
6552
+ */
6553
+ declare class SellersClient {
6554
+ private readonly client;
6555
+ constructor(client: BaseClient);
6556
+ /**
6557
+ * Get an eBay seller's public profile.
6558
+ *
6559
+ * @param username - The seller username.
6560
+ * @param options - Optional parameters (domain).
6561
+ * @returns Seller profile response.
6562
+ * @throws NotFoundError - If the seller doesn't exist.
6563
+ */
6564
+ get(username: string, options?: EbaySellerParams): Promise<SellerProfileResponse>;
6565
+ /**
6566
+ * List the active listings of a single eBay seller.
6567
+ *
6568
+ * @param username - The seller username.
6569
+ * @param options - Optional parameters (domain, query, page, per_page).
6570
+ * @returns Seller items response with result cards and pagination.
6571
+ */
6572
+ items(username: string, options?: EbaySellerItemsParams): Promise<SellerItemsResponse>;
6573
+ /**
6574
+ * Get a seller's recent feedback comments.
6575
+ *
6576
+ * @param username - The seller username.
6577
+ * @param options - Optional parameters (domain, page).
6578
+ * @returns Seller feedback response with feedback entries and pagination.
6579
+ */
6580
+ feedback(username: string, options?: EbaySellerFeedbackParams): Promise<SellerFeedbackResponse>;
6581
+ }
6582
+
6583
+ /**
6584
+ * eBay Categories API client.
6585
+ *
6586
+ * Provides methods for browsing a category's listings and listing the
6587
+ * reference category aliases.
6588
+ */
6589
+
6590
+ /**
6591
+ * Client for eBay category endpoints (browse, list).
6592
+ *
6593
+ * @example
6594
+ * ```typescript
6595
+ * const client = new ScrapeBadger({ apiKey: "key" });
6596
+ *
6597
+ * const listings = await client.ebay.categories.browse("9355");
6598
+ * for (const item of listings.results) {
6599
+ * console.log(item.title);
6600
+ * }
6601
+ *
6602
+ * const categories = await client.ebay.categories.list();
6603
+ * ```
6604
+ */
6605
+ declare class CategoriesClient {
6606
+ private readonly client;
6607
+ constructor(client: BaseClient);
6608
+ /**
6609
+ * List active listings within an eBay category.
6610
+ *
6611
+ * @param categoryId - The eBay category id.
6612
+ * @param options - Optional parameters (domain, page, per_page, sort_by, min_price, max_price).
6613
+ * @returns Category response with result cards, facets, and pagination.
6614
+ */
6615
+ browse(categoryId: string, options?: EbayCategoryParams): Promise<CategoryResponse>;
6616
+ /**
6617
+ * List eBay's reference top-level category ids.
6618
+ *
6619
+ * @returns Categories response with all category aliases.
6620
+ */
6621
+ list(): Promise<CategoriesResponse$1>;
6622
+ }
6623
+
6624
+ /**
6625
+ * eBay Reference Data API client.
6626
+ *
6627
+ * Provides methods for fetching the static marketplace list.
6628
+ */
6629
+
6630
+ /**
6631
+ * Client for eBay reference data endpoints (markets).
6632
+ *
6633
+ * @example
6634
+ * ```typescript
6635
+ * const client = new ScrapeBadger({ apiKey: "key" });
6636
+ *
6637
+ * const markets = await client.ebay.reference.markets();
6638
+ * for (const m of markets.markets) {
6639
+ * console.log(`${m.code}: ${m.domain} (${m.currency})`);
6640
+ * }
6641
+ * ```
6642
+ */
6643
+ declare class ReferenceClient$1 {
6644
+ private readonly client;
6645
+ constructor(client: BaseClient);
6646
+ /**
6647
+ * Get all supported eBay marketplaces.
6648
+ *
6649
+ * @returns Markets response with all supported marketplaces.
6650
+ */
6651
+ markets(): Promise<MarketsResponse$1>;
6652
+ }
6653
+
6654
+ /**
6655
+ * eBay API client.
6656
+ *
6657
+ * Provides access to all eBay API endpoints through specialized sub-clients.
6658
+ */
6659
+
6660
+ /**
6661
+ * eBay API client with access to all eBay endpoints.
6662
+ *
6663
+ * Provides sub-clients for different resource types:
6664
+ * - `search` - Active search, completed/sold search, and autocomplete
6665
+ * - `items` - Item detail and catalog product reviews
6666
+ * - `sellers` - Seller profile, storefront items, and feedback
6667
+ * - `categories` - Category browse and reference category list
6668
+ * - `reference` - Reference data (markets)
6669
+ *
6670
+ * @example
6671
+ * ```typescript
6672
+ * const client = new ScrapeBadger({ apiKey: "key" });
6673
+ *
6674
+ * // Search active listings
6675
+ * const results = await client.ebay.search.search({ query: "nintendo switch" });
6676
+ *
6677
+ * // Sold-price history
6678
+ * const sold = await client.ebay.search.completed({ query: "nintendo switch" });
6679
+ *
6680
+ * // Get item detail
6681
+ * const item = await client.ebay.items.get("123456789012");
6682
+ *
6683
+ * // Get item reviews
6684
+ * const reviews = await client.ebay.items.reviews("123456789012");
6685
+ *
6686
+ * // Get a seller profile
6687
+ * const seller = await client.ebay.sellers.get("musicmagpie");
6688
+ *
6689
+ * // Browse a category
6690
+ * const listings = await client.ebay.categories.browse("9355");
6691
+ *
6692
+ * // Reference data
6693
+ * const markets = await client.ebay.reference.markets();
6694
+ * ```
6695
+ */
6696
+ declare class EbayClient {
6697
+ /** Client for active search, completed/sold search, and autocomplete */
6698
+ readonly search: SearchClient$1;
6699
+ /** Client for item detail and catalog product reviews */
6700
+ readonly items: ItemsClient;
6701
+ /** Client for seller profile, items, and feedback */
6702
+ readonly sellers: SellersClient;
6703
+ /** Client for category browse and the reference category list */
6704
+ readonly categories: CategoriesClient;
6705
+ /** Client for reference data (markets) */
6706
+ readonly reference: ReferenceClient$1;
6707
+ /**
6708
+ * Create a new eBay client.
6709
+ *
6710
+ * @param client - The base HTTP client for making requests.
6711
+ */
6712
+ constructor(client: BaseClient);
6713
+ }
6714
+
6715
+ /**
6716
+ * TypeScript types for YouTube API responses.
6717
+ *
6718
+ * These interfaces mirror the backend `youtube_scraper` response schema
6719
+ * field-for-field (see `scrapers/youtube/src/youtube_scraper/models/*.py`).
6720
+ * Optional / nullable backend fields are typed as `Type | null`; backend list
6721
+ * fields default to `[]` and are typed as arrays. Every datetime field ships in
6722
+ * BOTH `*_utc` (number) and `*_at` (string) form.
6723
+ *
6724
+ * All list endpoints paginate via an opaque `continuation` token (no page
6725
+ * numbers). Region is controlled by `gl` (content region) + `hl` (UI language).
6726
+ */
6727
+ /**
6728
+ * A single image variant.
6729
+ */
6730
+ interface Thumbnail {
6731
+ url: string;
6732
+ width: number | null;
6733
+ height: number | null;
6734
+ }
6735
+ /**
6736
+ * Result of resolving a handle / custom URL to canonical ids.
6737
+ */
6738
+ interface ResolveResult {
6739
+ input: string;
6740
+ /** "channel" | "video" | "playlist" */
6741
+ type: string | null;
6742
+ channel_id: string | null;
6743
+ channel_username: string | null;
6744
+ video_id: string | null;
6745
+ playlist_id: string | null;
6746
+ canonical_url: string | null;
6747
+ }
6748
+ /**
6749
+ * A reference lookup row (category / language / region).
6750
+ */
6751
+ interface ReferenceRow {
6752
+ id: string;
6753
+ title: string;
6754
+ }
6755
+ /**
6756
+ * YouTube public oEmbed response (https://www.youtube.com/oembed).
6757
+ */
6758
+ interface OEmbed {
6759
+ type: string | null;
6760
+ version: string | null;
6761
+ title: string | null;
6762
+ author_name: string | null;
6763
+ author_url: string | null;
6764
+ provider_name: string | null;
6765
+ provider_url: string | null;
6766
+ thumbnail_url: string | null;
6767
+ thumbnail_width: number | null;
6768
+ thumbnail_height: number | null;
6769
+ width: number | null;
6770
+ height: number | null;
6771
+ html: string | null;
6772
+ }
6773
+ /**
6774
+ * A video chapter (manual or auto).
6775
+ */
6776
+ interface Chapter {
6777
+ title: string | null;
6778
+ start_seconds: number | null;
6779
+ start_time_text: string | null;
6780
+ thumbnail: string | null;
6781
+ }
6782
+ /**
6783
+ * A most-replayed graph point.
6784
+ */
6785
+ interface HeatMarker {
6786
+ start_seconds: number | null;
6787
+ duration_seconds: number | null;
6788
+ /** 0.0-1.0 normalized score */
6789
+ intensity: number | null;
6790
+ }
6791
+ /**
6792
+ * A multi-language audio track (auto-dubbing / original).
6793
+ */
6794
+ interface AudioTrack {
6795
+ id: string | null;
6796
+ display_name: string | null;
6797
+ language: string | null;
6798
+ is_default: boolean | null;
6799
+ is_original: boolean | null;
6800
+ }
6801
+ /**
6802
+ * A single streaming format (muxed or adaptive).
6803
+ */
6804
+ interface Format {
6805
+ itag: number | null;
6806
+ mime_type: string | null;
6807
+ codecs: string | null;
6808
+ bitrate: number | null;
6809
+ average_bitrate: number | null;
6810
+ width: number | null;
6811
+ height: number | null;
6812
+ fps: number | null;
6813
+ quality: string | null;
6814
+ quality_label: string | null;
6815
+ audio_quality: string | null;
6816
+ audio_sample_rate: number | null;
6817
+ audio_channels: number | null;
6818
+ /** stable-volume (dynamic range compression) audio */
6819
+ is_drc: boolean | null;
6820
+ loudness_db: number | null;
6821
+ audio_track: AudioTrack | null;
6822
+ content_length: number | null;
6823
+ approx_duration_ms: number | null;
6824
+ /** may require a PO token (best-effort) */
6825
+ url: string | null;
6826
+ signature_cipher: string | null;
6827
+ projection_type: string | null;
6828
+ }
6829
+ /**
6830
+ * Streaming metadata from `player.streamingData` (best-effort URLs).
6831
+ */
6832
+ interface StreamingData {
6833
+ expires_in_seconds: number | null;
6834
+ hls_manifest_url: string | null;
6835
+ dash_manifest_url: string | null;
6836
+ formats: Format[];
6837
+ adaptive_formats: Format[];
6838
+ }
6839
+ /**
6840
+ * A product shelf entry attached to a video.
6841
+ */
6842
+ interface ShoppingResult {
6843
+ title: string | null;
6844
+ price: string | null;
6845
+ vendor: string | null;
6846
+ thumbnail: string | null;
6847
+ link: string | null;
6848
+ }
6849
+ /**
6850
+ * Live/premiere timing details.
6851
+ */
6852
+ interface LiveStreamingDetails {
6853
+ actual_start_at: string | null;
6854
+ actual_start_utc: number | null;
6855
+ actual_end_at: string | null;
6856
+ actual_end_utc: number | null;
6857
+ scheduled_start_at: string | null;
6858
+ scheduled_start_utc: number | null;
6859
+ scheduled_end_at: string | null;
6860
+ scheduled_end_utc: number | null;
6861
+ concurrent_viewers: number | null;
6862
+ active_live_chat_id: string | null;
6863
+ }
6864
+ /**
6865
+ * Region availability restrictions.
6866
+ */
6867
+ interface RegionRestriction {
6868
+ allowed: string[];
6869
+ blocked: string[];
6870
+ }
6871
+ /**
6872
+ * Full video detail — merged `player` + `next` (the flagship entity).
6873
+ */
6874
+ interface Video {
6875
+ video_id: string;
6876
+ title: string | null;
6877
+ url: string | null;
6878
+ description: string | null;
6879
+ description_links: Record<string, unknown>[];
6880
+ length_seconds: number | null;
6881
+ /** HH:MM:SS */
6882
+ duration: string | null;
6883
+ view_count: number | null;
6884
+ view_count_text: string | null;
6885
+ like_count: number | null;
6886
+ like_count_text: string | null;
6887
+ comment_count: number | null;
6888
+ /** private platform-wide since 2021 (null) */
6889
+ dislike_count: number | null;
6890
+ channel_id: string | null;
6891
+ channel_name: string | null;
6892
+ channel_username: string | null;
6893
+ channel_url: string | null;
6894
+ channel_thumbnail: string | null;
6895
+ channel_is_verified: boolean | null;
6896
+ is_official_artist: boolean | null;
6897
+ number_of_subscribers: number | null;
6898
+ subscriber_count_text: string | null;
6899
+ published_at: string | null;
6900
+ published_utc: number | null;
6901
+ upload_at: string | null;
6902
+ upload_utc: number | null;
6903
+ published_time_text: string | null;
6904
+ keywords: string[];
6905
+ tags: string[];
6906
+ hashtags: string[];
6907
+ category: string | null;
6908
+ category_id: string | null;
6909
+ topic_categories: string[];
6910
+ thumbnails: Thumbnail[];
6911
+ thumbnail: string | null;
6912
+ storyboards: Record<string, unknown> | null;
6913
+ chapters: Chapter[];
6914
+ heatmap: HeatMarker[];
6915
+ is_live_content: boolean | null;
6916
+ live_now: boolean | null;
6917
+ is_upcoming: boolean | null;
6918
+ is_post_live_dvr: boolean | null;
6919
+ premiere_utc: number | null;
6920
+ premiere_at: string | null;
6921
+ live_streaming_details: LiveStreamingDetails | null;
6922
+ is_family_safe: boolean | null;
6923
+ is_age_restricted: boolean | null;
6924
+ is_members_only: boolean | null;
6925
+ is_unlisted: boolean | null;
6926
+ is_private: boolean | null;
6927
+ is_crawlable: boolean | null;
6928
+ is_shorts_eligible: boolean | null;
6929
+ is_short: boolean | null;
6930
+ allow_ratings: boolean | null;
6931
+ is_monetized: boolean | null;
6932
+ comments_turned_off: boolean | null;
6933
+ has_paid_product_placement: boolean | null;
6934
+ available_countries: string[];
6935
+ region_restriction: RegionRestriction | null;
6936
+ playability_status: string | null;
6937
+ playability_reason: string | null;
6938
+ /** hd / sd */
6939
+ definition: string | null;
6940
+ /** 2d / 3d */
6941
+ dimension: string | null;
6942
+ /** rectangular / 360 */
6943
+ projection: string | null;
6944
+ captions_available: boolean | null;
6945
+ caption_languages: string[];
6946
+ shopping_results: ShoppingResult[];
6947
+ additional_info: Record<string, unknown>[];
6948
+ game_info: Record<string, unknown> | null;
6949
+ end_screen_videos: Record<string, unknown>[];
6950
+ related_videos: Record<string, unknown>[];
6951
+ related_videos_continuation: string | null;
6952
+ sound_id: string | null;
6953
+ sound_title: string | null;
6954
+ sound_artist: string | null;
6955
+ streams: StreamingData | null;
6956
+ embed_url: string | null;
6957
+ scraped_at: string | null;
6958
+ scraped_utc: number | null;
6959
+ }
6960
+ /**
6961
+ * A Shorts (vertical reel) — Video subtype with `is_short=true`.
6962
+ */
6963
+ interface Short extends Video {
6964
+ thumbnail_vertical: string | null;
6965
+ }
6966
+ /**
6967
+ * Response for POST /videos/batch.
6968
+ */
6969
+ interface BatchResponse {
6970
+ videos: Video[];
6971
+ errors: Record<string, unknown>[];
6972
+ count: number;
6973
+ }
6974
+ /**
6975
+ * An external link from a channel's about page / header.
6976
+ */
6977
+ interface ChannelLink {
6978
+ title: string | null;
6979
+ url: string | null;
6980
+ }
6981
+ /**
6982
+ * Full channel detail (browse About tab + header).
6983
+ */
6984
+ interface Channel {
6985
+ channel_id: string;
6986
+ title: string | null;
6987
+ channel_name: string | null;
6988
+ /** @handle */
6989
+ channel_username: string | null;
6990
+ custom_url: string | null;
6991
+ channel_url: string | null;
6992
+ description: string | null;
6993
+ description_links: ChannelLink[];
6994
+ number_of_subscribers: number | null;
6995
+ subscriber_count_text: string | null;
6996
+ hidden_subscriber_count: boolean | null;
6997
+ channel_total_videos: number | null;
6998
+ channel_total_videos_text: string | null;
6999
+ channel_total_views: number | null;
7000
+ channel_total_views_text: string | null;
7001
+ joined_at: string | null;
7002
+ joined_utc: number | null;
7003
+ country: string | null;
7004
+ channel_location: string | null;
7005
+ keywords: string[];
7006
+ tags: string[];
7007
+ is_verified: boolean | null;
7008
+ is_age_restricted: boolean | null;
7009
+ is_family_safe: boolean | null;
7010
+ is_monetized: boolean | null;
7011
+ is_auto_generated: boolean | null;
7012
+ made_for_kids: boolean | null;
7013
+ avatar: string | null;
7014
+ banner: string | null;
7015
+ tv_banner: string | null;
7016
+ mobile_banner: string | null;
7017
+ avatar_thumbnails: Thumbnail[];
7018
+ banner_thumbnails: Thumbnail[];
7019
+ external_links: ChannelLink[];
7020
+ tabs: string[];
7021
+ available_countries: string[];
7022
+ related_channels: Record<string, unknown>[];
7023
+ latest_videos: Record<string, unknown>[];
7024
+ scraped_at: string | null;
7025
+ scraped_utc: number | null;
7026
+ }
7027
+ /**
7028
+ * Lightweight channel about payload.
7029
+ */
7030
+ interface ChannelAbout {
7031
+ channel_id: string;
7032
+ description: string | null;
7033
+ links: ChannelLink[];
7034
+ number_of_subscribers: number | null;
7035
+ subscriber_count_text: string | null;
7036
+ channel_total_views: number | null;
7037
+ channel_total_videos: number | null;
7038
+ joined_at: string | null;
7039
+ joined_utc: number | null;
7040
+ country: string | null;
7041
+ }
7042
+ /**
7043
+ * Fast subscriber-count-only response.
7044
+ */
7045
+ interface SubscriberCount {
7046
+ channel_id: string;
7047
+ number_of_subscribers: number | null;
7048
+ subscriber_count_text: string | null;
7049
+ }
7050
+ /**
7051
+ * A single entry in a playlist.
7052
+ */
7053
+ interface PlaylistItem {
7054
+ position: number | null;
7055
+ video_id: string;
7056
+ title: string | null;
7057
+ url: string | null;
7058
+ length_seconds: number | null;
7059
+ duration: string | null;
7060
+ channel_id: string | null;
7061
+ channel_name: string | null;
7062
+ channel_url: string | null;
7063
+ thumbnails: Thumbnail[];
7064
+ thumbnail: string | null;
7065
+ view_count: number | null;
7066
+ view_count_text: string | null;
7067
+ published_time_text: string | null;
7068
+ is_playable: boolean | null;
7069
+ /** per-playlist-entry id */
7070
+ set_video_id: string | null;
7071
+ }
7072
+ /**
7073
+ * Full playlist detail + first page of items.
7074
+ */
7075
+ interface Playlist {
7076
+ playlist_id: string;
7077
+ title: string | null;
7078
+ description: string | null;
7079
+ playlist_url: string | null;
7080
+ video_count: number | null;
7081
+ view_count: number | null;
7082
+ view_count_text: string | null;
7083
+ last_updated_text: string | null;
7084
+ channel_id: string | null;
7085
+ channel_name: string | null;
7086
+ channel_url: string | null;
7087
+ channel_is_verified: boolean | null;
7088
+ thumbnails: Thumbnail[];
7089
+ thumbnail: string | null;
7090
+ privacy_status: string | null;
7091
+ is_mix: boolean | null;
7092
+ videos: PlaylistItem[];
7093
+ continuation: string | null;
7094
+ scraped_at: string | null;
7095
+ scraped_utc: number | null;
7096
+ }
7097
+ /**
7098
+ * A continuation page of playlist items.
7099
+ */
7100
+ interface PlaylistItemsResponse {
7101
+ playlist_id: string | null;
7102
+ items: PlaylistItem[];
7103
+ continuation: string | null;
7104
+ }
7105
+ /**
7106
+ * A single comment or reply.
7107
+ */
7108
+ interface Comment {
7109
+ comment_id: string;
7110
+ text: string | null;
7111
+ published_time_text: string | null;
7112
+ published_utc: number | null;
7113
+ author: string | null;
7114
+ author_channel_id: string | null;
7115
+ author_channel_url: string | null;
7116
+ author_thumbnail: string | null;
7117
+ author_is_verified: boolean | null;
7118
+ author_is_artist: boolean | null;
7119
+ author_is_channel_owner: boolean | null;
7120
+ author_badges: string[];
7121
+ like_count: number | null;
7122
+ reply_count: number | null;
7123
+ has_creator_heart: boolean | null;
7124
+ is_pinned: boolean | null;
7125
+ is_reply: boolean | null;
7126
+ reply_to_cid: string | null;
7127
+ replies_continuation: string | null;
7128
+ /** Super Thanks purchase amount */
7129
+ paid_comment_amount: string | null;
7130
+ video_id: string | null;
7131
+ }
7132
+ /**
7133
+ * A page of top-level comments.
7134
+ */
7135
+ interface CommentsResponse {
7136
+ video_id: string | null;
7137
+ comments: Comment[];
7138
+ comment_count: number | null;
7139
+ sorting_tokens: Record<string, unknown>[];
7140
+ continuation: string | null;
7141
+ }
7142
+ /**
7143
+ * A page of replies to a comment.
7144
+ */
7145
+ interface RepliesResponse {
7146
+ comment_id: string | null;
7147
+ replies: Comment[];
7148
+ continuation: string | null;
7149
+ }
7150
+ /**
7151
+ * A polymorphic search/feed result (keyed by `type`).
7152
+ */
7153
+ interface SearchResult {
7154
+ /** "video" | "channel" | "playlist" | "movie" | "short" */
7155
+ type: string;
7156
+ position: number | null;
7157
+ video_id: string | null;
7158
+ title: string | null;
7159
+ url: string | null;
7160
+ thumbnails: Thumbnail[];
7161
+ thumbnail: string | null;
7162
+ duration: string | null;
7163
+ length_seconds: number | null;
7164
+ view_count: number | null;
7165
+ view_count_text: string | null;
7166
+ short_view_count_text: string | null;
7167
+ published_time_text: string | null;
7168
+ published_at: string | null;
7169
+ published_utc: number | null;
7170
+ description_snippet: string | null;
7171
+ badges: string[];
7172
+ extensions: string[];
7173
+ is_live: boolean | null;
7174
+ is_short: boolean | null;
7175
+ is_members_only: boolean | null;
7176
+ channel_id: string | null;
7177
+ channel_name: string | null;
7178
+ channel_url: string | null;
7179
+ channel_thumbnail: string | null;
7180
+ channel_is_verified: boolean | null;
7181
+ subscriber_count_text: string | null;
7182
+ number_of_subscribers: number | null;
7183
+ video_count_text: string | null;
7184
+ channel_username: string | null;
7185
+ is_verified: boolean | null;
7186
+ playlist_id: string | null;
7187
+ video_count: number | null;
7188
+ first_video_id: string | null;
7189
+ }
7190
+ /**
7191
+ * A search filter chip / refinement.
7192
+ */
7193
+ interface SearchChip {
7194
+ title: string | null;
7195
+ is_selected: boolean | null;
7196
+ continuation: string | null;
7197
+ }
7198
+ /**
7199
+ * A page of search results.
7200
+ */
7201
+ interface SearchResponse {
7202
+ query: string | null;
7203
+ results: SearchResult[];
7204
+ total_results: number | null;
7205
+ estimated_results: number | null;
7206
+ chips: SearchChip[];
7207
+ did_you_mean: string | null;
7208
+ showing_results_for: string | null;
7209
+ refinements: string[];
7210
+ related_searches: Record<string, unknown>[];
7211
+ continuation: string | null;
7212
+ }
7213
+ /**
7214
+ * Keyword suggestions for a query prefix.
7215
+ */
7216
+ interface AutocompleteResponse {
7217
+ query: string;
7218
+ suggestions: string[];
7219
+ }
7220
+ /**
7221
+ * Related videos for a video (secondaryResults).
7222
+ */
7223
+ interface RelatedResponse {
7224
+ video_id: string | null;
7225
+ results: SearchResult[];
7226
+ continuation: string | null;
7227
+ }
7228
+ /**
7229
+ * Videos under a hashtag.
7230
+ */
7231
+ interface HashtagResponse {
7232
+ tag: string;
7233
+ results: SearchResult[];
7234
+ continuation: string | null;
7235
+ }
7236
+ /**
7237
+ * Guest home / recommendations feed (non-deterministic, best-effort).
7238
+ */
7239
+ interface HomeResponse {
7240
+ results: SearchResult[];
7241
+ continuation: string | null;
7242
+ }
7243
+ /**
7244
+ * A page of a channel's videos / shorts / streams.
7245
+ */
7246
+ interface ChannelVideosResponse {
7247
+ channel_id: string | null;
7248
+ videos: SearchResult[];
7249
+ continuation: string | null;
7250
+ }
7251
+ /**
7252
+ * A generic page of a channel tab (videos/shorts/streams/playlists).
7253
+ */
7254
+ interface ChannelTabResponse {
7255
+ channel_id: string | null;
7256
+ tab: string | null;
7257
+ items: SearchResult[];
7258
+ continuation: string | null;
7259
+ }
7260
+ /**
7261
+ * A single timed transcript line.
7262
+ */
7263
+ interface TranscriptSegment {
7264
+ start_ms: number | null;
7265
+ end_ms: number | null;
7266
+ duration_ms: number | null;
7267
+ start_time_text: string | null;
7268
+ text: string | null;
7269
+ }
7270
+ /**
7271
+ * A full video transcript in the selected language.
7272
+ */
7273
+ interface Transcript {
7274
+ video_id: string;
7275
+ language: string | null;
7276
+ language_name: string | null;
7277
+ /** asr | manual */
7278
+ type: string | null;
7279
+ is_translatable: boolean | null;
7280
+ available_transcripts: Record<string, unknown>[];
7281
+ translation_languages: Record<string, unknown>[];
7282
+ segments: TranscriptSegment[];
7283
+ full_text: string | null;
7284
+ srt: string | null;
7285
+ vtt: string | null;
7286
+ }
7287
+ /**
7288
+ * An available caption track (from player captions tracklist).
7289
+ */
7290
+ interface CaptionTrack {
7291
+ language: string | null;
7292
+ language_name: string | null;
7293
+ /** asr | manual */
7294
+ type: string | null;
7295
+ is_translatable: boolean | null;
7296
+ base_url: string | null;
7297
+ }
7298
+ /**
7299
+ * The list of available caption tracks for a video.
7300
+ */
7301
+ interface CaptionsResponse {
7302
+ video_id: string;
7303
+ tracks: CaptionTrack[];
7304
+ translation_languages: Record<string, unknown>[];
7305
+ }
7306
+ /**
7307
+ * A trending video / short.
7308
+ */
7309
+ interface TrendingItem {
7310
+ position: number | null;
7311
+ /** Now | Music | Gaming | Movies */
7312
+ category: string | null;
7313
+ video_id: string | null;
7314
+ title: string | null;
7315
+ url: string | null;
7316
+ thumbnails: Thumbnail[];
7317
+ thumbnail: string | null;
7318
+ duration: string | null;
7319
+ length_seconds: number | null;
7320
+ view_count: number | null;
7321
+ view_count_text: string | null;
7322
+ published_time_text: string | null;
7323
+ description_snippet: string | null;
7324
+ channel_id: string | null;
7325
+ channel_name: string | null;
7326
+ channel_url: string | null;
7327
+ channel_thumbnail: string | null;
7328
+ channel_is_verified: boolean | null;
7329
+ badges: string[];
7330
+ is_live: boolean | null;
7331
+ is_short: boolean | null;
7332
+ }
7333
+ /**
7334
+ * A page of trending items.
7335
+ */
7336
+ interface TrendingResponse {
7337
+ gl: string | null;
7338
+ type: string | null;
7339
+ items: TrendingItem[];
7340
+ continuation: string | null;
7341
+ }
7342
+ /**
7343
+ * A single poll option on a community post.
7344
+ */
7345
+ interface PollChoice {
7346
+ text: string | null;
7347
+ percentage: number | null;
7348
+ votes: number | null;
7349
+ image: string | null;
7350
+ }
7351
+ /**
7352
+ * A channel community / posts-tab entry.
7353
+ */
7354
+ interface CommunityPost {
7355
+ post_id: string;
7356
+ post_url: string | null;
7357
+ /** text | poll | image | video | shared */
7358
+ post_type: string | null;
7359
+ text: string | null;
7360
+ text_links: Record<string, unknown>[];
7361
+ channel_id: string | null;
7362
+ channel_name: string | null;
7363
+ channel_url: string | null;
7364
+ channel_thumbnail: string | null;
7365
+ published_time_text: string | null;
7366
+ published_utc: number | null;
7367
+ like_count: number | null;
7368
+ like_count_text: string | null;
7369
+ comment_count: number | null;
7370
+ poll_choices: PollChoice[];
7371
+ poll_total_votes: number | null;
7372
+ images: Thumbnail[];
7373
+ attached_video: Record<string, unknown> | null;
7374
+ shared_post: Record<string, unknown> | null;
7375
+ scraped_at: string | null;
7376
+ scraped_utc: number | null;
7377
+ }
7378
+ /**
7379
+ * A page of community posts.
7380
+ */
7381
+ interface CommunityResponse {
7382
+ channel_id: string | null;
7383
+ posts: CommunityPost[];
7384
+ continuation: string | null;
7385
+ }
7386
+ /**
7387
+ * A single live-chat / chat-replay message.
7388
+ */
7389
+ interface LiveChatMessage {
7390
+ message_id: string | null;
7391
+ /** text | super_chat | super_sticker | membership */
7392
+ message_type: string | null;
7393
+ text: string | null;
7394
+ author: string | null;
7395
+ author_channel_id: string | null;
7396
+ author_thumbnail: string | null;
7397
+ author_badges: string[];
7398
+ is_moderator: boolean | null;
7399
+ is_member: boolean | null;
7400
+ is_verified: boolean | null;
7401
+ timestamp_usec: number | null;
7402
+ timestamp_text: string | null;
7403
+ video_offset_time_msec: number | null;
7404
+ /** super chat / sticker amount */
7405
+ purchase_amount: string | null;
7406
+ body_background_color: string | null;
7407
+ }
7408
+ /**
7409
+ * A page of live-chat messages.
7410
+ */
7411
+ interface LiveChatResponse {
7412
+ video_id: string | null;
7413
+ messages: LiveChatMessage[];
7414
+ continuation: string | null;
7415
+ is_replay: boolean | null;
7416
+ }
7417
+ /**
7418
+ * Response from the /categories endpoint.
7419
+ */
7420
+ interface CategoriesResponse {
7421
+ gl: string;
7422
+ categories: ReferenceRow[];
7423
+ }
7424
+ /**
7425
+ * Response from the /languages endpoint.
7426
+ */
7427
+ interface LanguagesResponse {
7428
+ languages: ReferenceRow[];
7429
+ }
7430
+ /**
7431
+ * Response from the /regions endpoint.
7432
+ */
7433
+ interface RegionsResponse {
7434
+ regions: ReferenceRow[];
7435
+ }
7436
+ /**
7437
+ * A single geo-targeted scraper market (for /markets).
7438
+ */
7439
+ interface MarketInfo {
7440
+ /** Content region code (e.g. "US") */
7441
+ gl: string;
7442
+ /** UI language code (e.g. "en") */
7443
+ hl: string;
7444
+ /** Market display name */
7445
+ name: string;
7446
+ }
7447
+ /**
7448
+ * Response from the /markets endpoint.
7449
+ */
7450
+ interface MarketsResponse {
7451
+ markets: MarketInfo[];
7452
+ }
7453
+ /** Result-type filter for search. */
7454
+ type YoutubeSearchType = "video" | "channel" | "playlist" | "movie" | "all";
7455
+ /** Sort order for search. */
7456
+ type YoutubeSearchSort = "relevance" | "date" | "views" | "rating";
7457
+ /** Upload-date filter for search. */
7458
+ type YoutubeUploadDate = "hour" | "today" | "week" | "month" | "year";
7459
+ /** Duration filter for search. */
7460
+ type YoutubeDuration = "short" | "medium" | "long";
7461
+ /** Comment sort order. */
7462
+ type YoutubeCommentSort = "top" | "newest";
7463
+ /** Trending feed type. */
7464
+ type YoutubeTrendingType = "now" | "music" | "gaming" | "movies";
7465
+ /** Player client for the streams endpoint. */
7466
+ type YoutubeStreamsClient = "IOS" | "ANDROID" | "WEB";
7467
+ /** Region parameters shared by most endpoints. */
7468
+ interface YoutubeRegionParams {
7469
+ /** Content region (US, GB, DE…) */
7470
+ gl?: string;
7471
+ /** UI language */
7472
+ hl?: string;
7473
+ }
7474
+ /** Parameters for the search endpoint. */
7475
+ interface YoutubeSearchParams extends YoutubeRegionParams {
7476
+ /** Search keywords (required) */
7477
+ query: string;
7478
+ /** Result-type filter */
7479
+ type?: YoutubeSearchType;
7480
+ /** Sort order */
7481
+ sort_by?: YoutubeSearchSort;
7482
+ /** Upload-date filter */
7483
+ upload_date?: YoutubeUploadDate;
7484
+ /** Duration filter */
7485
+ duration?: YoutubeDuration;
7486
+ /** Comma list: hd,4k,360,vr180,3d,hdr,cc,subtitles,live,location */
7487
+ features?: string;
7488
+ /** Pagination token */
7489
+ continuation?: string;
7490
+ }
7491
+ /** Options for the autocomplete endpoint. */
7492
+ interface YoutubeAutocompleteParams extends YoutubeRegionParams {
7493
+ }
7494
+ /** Options for the video detail endpoint. */
7495
+ interface YoutubeVideoParams extends YoutubeRegionParams {
7496
+ }
7497
+ /** Options for the related-videos endpoint. */
7498
+ interface YoutubeRelatedParams extends YoutubeRegionParams {
7499
+ /** Pagination token */
7500
+ continuation?: string;
7501
+ }
7502
+ /** Options for the video comments endpoint. */
7503
+ interface YoutubeCommentsParams extends YoutubeRegionParams {
7504
+ /** Comment sort order (default: "top") */
7505
+ sort_by?: YoutubeCommentSort;
7506
+ /** Pagination token */
7507
+ continuation?: string;
7508
+ }
7509
+ /** Options for the comment replies endpoint. */
7510
+ interface YoutubeRepliesParams extends YoutubeRegionParams {
7511
+ /** Replies continuation token (from a comment; required) */
7512
+ continuation: string;
7513
+ }
7514
+ /** Options for the transcript endpoint. */
7515
+ interface YoutubeTranscriptParams extends YoutubeRegionParams {
7516
+ /** BCP-47 language code */
7517
+ language?: string;
7518
+ }
7519
+ /** Options for the captions endpoint. */
7520
+ interface YoutubeCaptionsParams extends YoutubeRegionParams {
7521
+ }
7522
+ /** Options for the streams endpoint. */
7523
+ interface YoutubeStreamsParams {
7524
+ /** Content region */
7525
+ gl?: string;
7526
+ /** Player client (default: "IOS") */
7527
+ client?: YoutubeStreamsClient;
7528
+ }
7529
+ /** Options for the live-chat endpoint. */
7530
+ interface YoutubeLiveChatParams extends YoutubeRegionParams {
7531
+ /** Pagination token */
7532
+ continuation?: string;
7533
+ /** Fetch chat replay for a finished stream */
7534
+ replay?: boolean;
7535
+ }
7536
+ /** Parameters for the batch video endpoint. */
7537
+ interface YoutubeBatchParams extends YoutubeRegionParams {
7538
+ /** Video ids to fetch (≤50, required) */
7539
+ video_ids: string[];
7540
+ }
7541
+ /** Options for the oEmbed endpoint. */
7542
+ interface YoutubeOEmbedParams {
7543
+ /** A YouTube video/playlist/channel URL (required) */
7544
+ url: string;
7545
+ }
7546
+ /** Options for the channel detail / about / subscriber_count endpoints. */
7547
+ interface YoutubeChannelParams extends YoutubeRegionParams {
7548
+ }
7549
+ /** Options for a channel tab (videos/shorts/streams/playlists/community) endpoint. */
7550
+ interface YoutubeChannelTabParams extends YoutubeRegionParams {
7551
+ /** Pagination token */
7552
+ continuation?: string;
7553
+ }
7554
+ /** Options for the in-channel search endpoint. */
7555
+ interface YoutubeChannelSearchParams extends YoutubeRegionParams {
7556
+ /** Search keywords (required) */
7557
+ query: string;
7558
+ /** Pagination token */
7559
+ continuation?: string;
7560
+ }
7561
+ /** Options for the channel resolve endpoint. */
7562
+ interface YoutubeResolveParams extends YoutubeRegionParams {
7563
+ /** @handle or custom name */
7564
+ handle?: string;
7565
+ /** Full channel/video/playlist URL */
7566
+ url?: string;
7567
+ }
7568
+ /** Options for the playlist detail / mix endpoints. */
7569
+ interface YoutubePlaylistParams extends YoutubeRegionParams {
7570
+ }
7571
+ /** Options for the playlist items endpoint. */
7572
+ interface YoutubePlaylistItemsParams extends YoutubeRegionParams {
7573
+ /** Pagination token */
7574
+ continuation?: string;
7575
+ }
7576
+ /** Options for the community post detail endpoint. */
7577
+ interface YoutubePostParams extends YoutubeRegionParams {
7578
+ }
7579
+ /** Options for the community post comments endpoint. */
7580
+ interface YoutubePostCommentsParams extends YoutubeRegionParams {
7581
+ /** Pagination token */
7582
+ continuation?: string;
7583
+ }
7584
+ /** Options for the single-short endpoint. */
7585
+ interface YoutubeShortParams extends YoutubeRegionParams {
7586
+ }
7587
+ /** Options for the shorts-by-sound endpoint. */
7588
+ interface YoutubeShortsBySoundParams extends YoutubeRegionParams {
7589
+ /** Pagination token */
7590
+ continuation?: string;
7591
+ }
7592
+ /** Options for the trending endpoint. */
7593
+ interface YoutubeTrendingParams extends YoutubeRegionParams {
7594
+ /** Trending feed type (default: "now") */
7595
+ type?: YoutubeTrendingType;
7596
+ /** Pagination token */
7597
+ continuation?: string;
7598
+ }
7599
+ /** Options for the trending-shorts endpoint. */
7600
+ interface YoutubeTrendingShortsParams extends YoutubeRegionParams {
7601
+ /** Pagination token */
7602
+ continuation?: string;
7603
+ }
7604
+ /** Options for the hashtag endpoint. */
7605
+ interface YoutubeHashtagParams extends YoutubeRegionParams {
7606
+ /** Pagination token */
7607
+ continuation?: string;
7608
+ }
7609
+ /** Options for the home-feed endpoint. */
7610
+ interface YoutubeHomeParams extends YoutubeRegionParams {
7611
+ /** Pagination token */
7612
+ continuation?: string;
7613
+ }
7614
+ /** Options for the music-search endpoint. */
7615
+ interface YoutubeMusicSearchParams extends YoutubeRegionParams {
7616
+ /** Search keywords (required) */
7617
+ query: string;
7618
+ /** Pagination token */
7619
+ continuation?: string;
7620
+ }
7621
+ /** Options for the categories reference endpoint. */
7622
+ interface YoutubeCategoriesParams {
7623
+ /** Content region (default: "US") */
7624
+ gl?: string;
7625
+ }
7626
+
7627
+ /**
7628
+ * YouTube Search API client.
7629
+ *
7630
+ * Provides methods for full-matrix search and keyword autocomplete.
7631
+ */
7632
+
7633
+ /**
7634
+ * Client for YouTube search and autocomplete endpoints.
7635
+ *
7636
+ * @example
7637
+ * ```typescript
7638
+ * const client = new ScrapeBadger({ apiKey: "key" });
7639
+ *
7640
+ * const results = await client.youtube.search.search({ query: "lofi beats" });
7641
+ * for (const r of results.results) {
7642
+ * console.log(`${r.position}. ${r.title}`);
7643
+ * }
7644
+ *
7645
+ * const suggestions = await client.youtube.search.autocomplete("lofi");
7646
+ * ```
7647
+ */
7648
+ declare class SearchClient {
7649
+ private readonly client;
7650
+ constructor(client: BaseClient);
7651
+ /**
7652
+ * Search YouTube videos / channels / playlists with the full filter matrix.
7653
+ *
7654
+ * @param params - Search parameters including query, filters, and continuation.
7655
+ * @returns A page of search results with chips, refinements, and a continuation token.
7656
+ * @throws AuthenticationError - If the API key is invalid.
7657
+ * @throws ValidationError - If the parameters are invalid.
7658
+ */
7659
+ search(params: YoutubeSearchParams): Promise<SearchResponse>;
7660
+ /**
7661
+ * Get YouTube keyword autocomplete suggestions.
7662
+ *
7663
+ * @param query - Partial search query prefix.
7664
+ * @param options - Optional region parameters (gl, hl).
7665
+ * @returns Autocomplete suggestions.
7666
+ */
7667
+ autocomplete(query: string, options?: YoutubeAutocompleteParams): Promise<AutocompleteResponse>;
7668
+ }
7669
+
7670
+ /**
7671
+ * YouTube Videos API client.
7672
+ *
7673
+ * Provides methods for video detail, related videos, comments, replies,
7674
+ * transcript, captions, stream formats, live chat, batch detail, and oEmbed.
7675
+ */
7676
+
7677
+ /**
7678
+ * Client for YouTube video endpoints.
7679
+ *
7680
+ * @example
7681
+ * ```typescript
7682
+ * const client = new ScrapeBadger({ apiKey: "key" });
7683
+ *
7684
+ * const video = await client.youtube.videos.get("dQw4w9WgXcQ");
7685
+ * console.log(`${video.title} — ${video.view_count} views`);
7686
+ *
7687
+ * const comments = await client.youtube.videos.comments("dQw4w9WgXcQ");
7688
+ * const transcript = await client.youtube.videos.transcript("dQw4w9WgXcQ");
7689
+ * ```
7690
+ */
7691
+ declare class VideosClient {
7692
+ private readonly client;
7693
+ constructor(client: BaseClient);
7694
+ /**
7695
+ * Get a single video's full detail (merged `player` + `next`).
7696
+ *
7697
+ * @param videoId - The YouTube video id.
7698
+ * @param options - Optional region parameters (gl, hl).
7699
+ * @returns Full video detail including engagement, channel, chapters, and heatmap.
7700
+ * @throws NotFoundError - If the video doesn't exist or is unavailable.
7701
+ */
7702
+ get(videoId: string, options?: YoutubeVideoParams): Promise<Video>;
7703
+ /**
7704
+ * Get related / recommended videos for a video.
7705
+ *
7706
+ * @param videoId - The YouTube video id.
7707
+ * @param options - Optional region parameters and a continuation token.
7708
+ * @returns Related results with a continuation token.
7709
+ */
7710
+ related(videoId: string, options?: YoutubeRelatedParams): Promise<RelatedResponse>;
7711
+ /**
7712
+ * Get a page of top-level comments for a video.
7713
+ *
7714
+ * @param videoId - The YouTube video id.
7715
+ * @param options - Optional sort order, continuation token, and region.
7716
+ * @returns A page of comments with sorting tokens and a continuation token.
7717
+ */
7718
+ comments(videoId: string, options?: YoutubeCommentsParams): Promise<CommentsResponse>;
7719
+ /**
7720
+ * Get a page of replies to a single comment.
7721
+ *
7722
+ * @param videoId - The YouTube video id.
7723
+ * @param commentId - The comment id whose replies to fetch.
7724
+ * @param options - The required replies continuation token plus region.
7725
+ * @returns A page of replies with a continuation token.
7726
+ */
7727
+ replies(videoId: string, commentId: string, options: YoutubeRepliesParams): Promise<RepliesResponse>;
7728
+ /**
7729
+ * Get a video's transcript in the selected language.
7730
+ *
7731
+ * @param videoId - The YouTube video id.
7732
+ * @param options - Optional language and region parameters.
7733
+ * @returns The transcript with timed segments and full text.
7734
+ */
7735
+ transcript(videoId: string, options?: YoutubeTranscriptParams): Promise<Transcript>;
7736
+ /**
7737
+ * List a video's available caption tracks.
7738
+ *
7739
+ * @param videoId - The YouTube video id.
7740
+ * @param options - Optional region parameters.
7741
+ * @returns The available caption tracks and translation languages.
7742
+ */
7743
+ captions(videoId: string, options?: YoutubeCaptionsParams): Promise<CaptionsResponse>;
7744
+ /**
7745
+ * Get a video's stream / format metadata (best-effort; URLs may be PO-token gated).
7746
+ *
7747
+ * @param videoId - The YouTube video id.
7748
+ * @param options - Optional content region and player client.
7749
+ * @returns Streaming metadata with muxed and adaptive formats.
7750
+ */
7751
+ streams(videoId: string, options?: YoutubeStreamsParams): Promise<StreamingData>;
7752
+ /**
7753
+ * Get a page of live-chat (or chat-replay) messages for a video.
7754
+ *
7755
+ * @param videoId - The YouTube video id.
7756
+ * @param options - Optional continuation token, replay flag, and region.
7757
+ * @returns A page of live-chat messages with a continuation token.
7758
+ */
7759
+ liveChat(videoId: string, options?: YoutubeLiveChatParams): Promise<LiveChatResponse>;
7760
+ /**
7761
+ * Fetch detail for up to 50 videos concurrently.
7762
+ *
7763
+ * @param params - The video ids (≤50) plus optional region parameters.
7764
+ * @returns Successfully fetched videos plus per-id errors.
7765
+ */
7766
+ batch(params: YoutubeBatchParams): Promise<BatchResponse>;
7767
+ /**
7768
+ * Get public oEmbed metadata for a YouTube URL (no proxy/InnerTube needed).
7769
+ *
7770
+ * @param url - A YouTube video/playlist/channel URL.
7771
+ * @returns The oEmbed metadata.
7772
+ */
7773
+ oembed(url: string): Promise<OEmbed>;
7774
+ oembed(params: YoutubeOEmbedParams): Promise<OEmbed>;
7775
+ }
7776
+
7777
+ /**
7778
+ * YouTube Channels API client.
7779
+ *
7780
+ * Provides methods for channel detail, tab feeds (videos/shorts/streams/
7781
+ * playlists/community), about, subscriber count, in-channel search, and resolve.
7782
+ */
7783
+
7784
+ /**
7785
+ * Client for YouTube channel endpoints.
7786
+ *
7787
+ * @example
7788
+ * ```typescript
7789
+ * const client = new ScrapeBadger({ apiKey: "key" });
7790
+ *
7791
+ * const channel = await client.youtube.channels.get("@MrBeast");
7792
+ * console.log(`${channel.title} — ${channel.number_of_subscribers} subs`);
7793
+ *
7794
+ * const videos = await client.youtube.channels.videos("@MrBeast");
7795
+ * const id = await client.youtube.channels.resolve({ handle: "@MrBeast" });
7796
+ * ```
7797
+ */
7798
+ declare class ChannelsClient {
7799
+ private readonly client;
7800
+ constructor(client: BaseClient);
7801
+ /**
7802
+ * Get full channel detail (accepts a UC id, @handle, or custom URL).
7803
+ *
7804
+ * @param channelId - The channel id, @handle, or custom URL.
7805
+ * @param options - Optional region parameters.
7806
+ * @returns Full channel detail.
7807
+ * @throws NotFoundError - If the channel doesn't exist.
7808
+ */
7809
+ get(channelId: string, options?: YoutubeChannelParams): Promise<Channel>;
7810
+ /**
7811
+ * Get a page of a channel's long-form videos.
7812
+ *
7813
+ * @param channelId - The channel id, @handle, or custom URL.
7814
+ * @param options - Optional continuation token and region.
7815
+ * @returns A page of video cards with a continuation token.
7816
+ */
7817
+ videos(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7818
+ /**
7819
+ * Get a page of a channel's Shorts.
7820
+ *
7821
+ * @param channelId - The channel id, @handle, or custom URL.
7822
+ * @param options - Optional continuation token and region.
7823
+ * @returns A page of Shorts cards with a continuation token.
7824
+ */
7825
+ shorts(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7826
+ /**
7827
+ * Get a page of a channel's live streams.
7828
+ *
7829
+ * @param channelId - The channel id, @handle, or custom URL.
7830
+ * @param options - Optional continuation token and region.
7831
+ * @returns A page of stream cards with a continuation token.
7832
+ */
7833
+ streams(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7834
+ /**
7835
+ * Get a page of a channel's playlists.
7836
+ *
7837
+ * @param channelId - The channel id, @handle, or custom URL.
7838
+ * @param options - Optional continuation token and region.
7839
+ * @returns A page of playlist cards with a continuation token.
7840
+ */
7841
+ playlists(channelId: string, options?: YoutubeChannelTabParams): Promise<ChannelTabResponse>;
7842
+ /**
7843
+ * Get a page of a channel's community posts.
7844
+ *
7845
+ * @param channelId - The channel id, @handle, or custom URL.
7846
+ * @param options - Optional continuation token and region.
7847
+ * @returns A page of community posts with a continuation token.
7848
+ */
7849
+ community(channelId: string, options?: YoutubeChannelTabParams): Promise<CommunityResponse>;
7850
+ /**
7851
+ * Get a channel's lightweight about payload.
7852
+ *
7853
+ * @param channelId - The channel id, @handle, or custom URL.
7854
+ * @param options - Optional region parameters.
7855
+ * @returns The channel about payload.
7856
+ */
7857
+ about(channelId: string, options?: YoutubeChannelParams): Promise<ChannelAbout>;
7858
+ /**
7859
+ * Get a channel's subscriber count (fast).
7860
+ *
7861
+ * @param channelId - The channel id, @handle, or custom URL.
7862
+ * @param options - Optional region parameters.
7863
+ * @returns The subscriber count.
7864
+ */
7865
+ subscriberCount(channelId: string, options?: YoutubeChannelParams): Promise<SubscriberCount>;
7866
+ /**
7867
+ * Search within a single channel.
7868
+ *
7869
+ * @param channelId - The channel id, @handle, or custom URL.
7870
+ * @param options - The required query plus optional continuation and region.
7871
+ * @returns A page of search results scoped to the channel.
7872
+ */
7873
+ search(channelId: string, options: YoutubeChannelSearchParams): Promise<SearchResponse>;
7874
+ /**
7875
+ * Resolve a @handle or URL to canonical YouTube ids.
7876
+ *
7877
+ * @param options - A `handle` or `url` (one is required) plus optional region.
7878
+ * @returns The resolved channel / video / playlist ids.
7879
+ */
7880
+ resolve(options?: YoutubeResolveParams): Promise<ResolveResult>;
7881
+ }
7882
+
7883
+ /**
7884
+ * YouTube Playlists API client.
7885
+ *
7886
+ * Provides methods for playlist detail, playlist items pagination, and mixes.
7887
+ */
7888
+
7889
+ /**
7890
+ * Client for YouTube playlist and mix endpoints.
7891
+ *
7892
+ * @example
7893
+ * ```typescript
7894
+ * const client = new ScrapeBadger({ apiKey: "key" });
7895
+ *
7896
+ * const playlist = await client.youtube.playlists.get("PL1234567890");
7897
+ * console.log(`${playlist.title} — ${playlist.video_count} videos`);
7898
+ *
7899
+ * const page = await client.youtube.playlists.items("PL1234567890", {
7900
+ * continuation: playlist.continuation ?? undefined,
7901
+ * });
7902
+ *
7903
+ * const mix = await client.youtube.playlists.mix("RDQM1234567890");
7904
+ * ```
7905
+ */
7906
+ declare class PlaylistsClient {
7907
+ private readonly client;
7908
+ constructor(client: BaseClient);
7909
+ /**
7910
+ * Get full playlist detail plus the first page of items.
7911
+ *
7912
+ * @param playlistId - The playlist id.
7913
+ * @param options - Optional region parameters.
7914
+ * @returns Full playlist detail with a continuation token.
7915
+ * @throws NotFoundError - If the playlist doesn't exist.
7916
+ */
7917
+ get(playlistId: string, options?: YoutubePlaylistParams): Promise<Playlist>;
7918
+ /**
7919
+ * Get a continuation page of a playlist's items.
7920
+ *
7921
+ * @param playlistId - The playlist id.
7922
+ * @param options - Optional continuation token and region.
7923
+ * @returns A page of playlist items with a continuation token.
7924
+ */
7925
+ items(playlistId: string, options?: YoutubePlaylistItemsParams): Promise<PlaylistItemsResponse>;
7926
+ /**
7927
+ * Resolve an auto-generated mix / radio (RD…) queue.
7928
+ *
7929
+ * @param mixId - The mix / radio playlist id.
7930
+ * @param options - Optional region parameters.
7931
+ * @returns The mix as a playlist queue.
7932
+ */
7933
+ mix(mixId: string, options?: YoutubePlaylistParams): Promise<Playlist>;
7934
+ }
7935
+
7936
+ /**
7937
+ * YouTube Community API client.
7938
+ *
7939
+ * Provides methods for community post detail and post comments.
7940
+ */
7941
+
7942
+ /**
7943
+ * Client for YouTube community post endpoints.
7944
+ *
7945
+ * @example
7946
+ * ```typescript
7947
+ * const client = new ScrapeBadger({ apiKey: "key" });
7948
+ *
7949
+ * const post = await client.youtube.community.get("Ugkx1234567890");
7950
+ * console.log(post.text);
7951
+ *
7952
+ * const comments = await client.youtube.community.comments("Ugkx1234567890");
7953
+ * ```
7954
+ */
7955
+ declare class CommunityClient {
7956
+ private readonly client;
7957
+ constructor(client: BaseClient);
7958
+ /**
7959
+ * Get a single community post's detail.
7960
+ *
7961
+ * @param postId - The community post id.
7962
+ * @param options - Optional region parameters.
7963
+ * @returns The community post.
7964
+ * @throws NotFoundError - If the post doesn't exist.
7965
+ */
7966
+ get(postId: string, options?: YoutubePostParams): Promise<CommunityPost>;
7967
+ /**
7968
+ * Get a page of comments on a community post.
7969
+ *
7970
+ * @param postId - The community post id.
7971
+ * @param options - Optional continuation token and region.
7972
+ * @returns A page of comments with a continuation token.
7973
+ */
7974
+ comments(postId: string, options?: YoutubePostCommentsParams): Promise<CommentsResponse>;
7975
+ }
7976
+
7977
+ /**
7978
+ * YouTube Shorts API client.
7979
+ *
7980
+ * Provides methods for a single Short's detail and Shorts attributed to a sound.
7981
+ */
7982
+
7983
+ /**
7984
+ * Client for YouTube Shorts endpoints.
7985
+ *
7986
+ * @example
7987
+ * ```typescript
7988
+ * const client = new ScrapeBadger({ apiKey: "key" });
7989
+ *
7990
+ * const short = await client.youtube.shorts.get("abc123XYZ");
7991
+ * console.log(`${short.title} — ${short.sound_title}`);
7992
+ *
7993
+ * const bySound = await client.youtube.shorts.bySound("sound-id-123");
7994
+ * ```
7995
+ */
7996
+ declare class ShortsClient {
7997
+ private readonly client;
7998
+ constructor(client: BaseClient);
7999
+ /**
8000
+ * Get a single Short's detail.
8001
+ *
8002
+ * @param videoId - The Short's video id.
8003
+ * @param options - Optional region parameters.
8004
+ * @returns The Short detail.
8005
+ * @throws NotFoundError - If the Short doesn't exist or is unavailable.
8006
+ */
8007
+ get(videoId: string, options?: YoutubeShortParams): Promise<Short>;
8008
+ /**
8009
+ * Get a page of Shorts attributed to a given sound / music id (best-effort).
8010
+ *
8011
+ * @param soundId - The sound / music id.
8012
+ * @param options - Optional continuation token and region.
8013
+ * @returns A page of Shorts cards with a continuation token.
8014
+ */
8015
+ bySound(soundId: string, options?: YoutubeShortsBySoundParams): Promise<ChannelTabResponse>;
8016
+ }
8017
+
8018
+ /**
8019
+ * YouTube Trending API client.
8020
+ *
8021
+ * Provides methods for the trending feed, trending shorts, hashtag feed, and
8022
+ * the guest home feed.
8023
+ */
8024
+
8025
+ /**
8026
+ * Client for YouTube trending, hashtag, and home-feed endpoints.
8027
+ *
8028
+ * @example
8029
+ * ```typescript
8030
+ * const client = new ScrapeBadger({ apiKey: "key" });
8031
+ *
8032
+ * const trending = await client.youtube.trending.get({ gl: "US", type: "music" });
8033
+ * const shorts = await client.youtube.trending.shorts({ gl: "US" });
8034
+ * const tagged = await client.youtube.trending.hashtag("minecraft");
8035
+ * const home = await client.youtube.trending.home();
8036
+ * ```
8037
+ */
8038
+ declare class TrendingClient {
8039
+ private readonly client;
8040
+ constructor(client: BaseClient);
8041
+ /**
8042
+ * Get a page of the trending feed.
8043
+ *
8044
+ * @param options - Optional feed type, continuation token, and region.
8045
+ * @returns A page of trending items with a continuation token.
8046
+ */
8047
+ get(options?: YoutubeTrendingParams): Promise<TrendingResponse>;
8048
+ /**
8049
+ * Get a page of trending Shorts.
8050
+ *
8051
+ * @param options - Optional continuation token and region.
8052
+ * @returns A page of trending Shorts with a continuation token.
8053
+ */
8054
+ shorts(options?: YoutubeTrendingShortsParams): Promise<TrendingResponse>;
8055
+ /**
8056
+ * Get a page of videos under a hashtag.
8057
+ *
8058
+ * @param tag - The hashtag (with or without a leading `#`).
8059
+ * @param options - Optional continuation token and region.
8060
+ * @returns A page of hashtag results with a continuation token.
8061
+ */
8062
+ hashtag(tag: string, options?: YoutubeHashtagParams): Promise<HashtagResponse>;
8063
+ /**
8064
+ * Get a page of the guest home / recommendations feed (best-effort).
8065
+ *
8066
+ * @param options - Optional continuation token and region.
8067
+ * @returns A page of home-feed results with a continuation token.
8068
+ */
8069
+ home(options?: YoutubeHomeParams): Promise<HomeResponse>;
8070
+ }
8071
+
8072
+ /**
8073
+ * YouTube Music API client.
8074
+ *
8075
+ * Provides a method for searching YouTube Music (WEB_REMIX client).
8076
+ */
8077
+
8078
+ /**
8079
+ * Client for YouTube Music endpoints.
8080
+ *
8081
+ * @example
8082
+ * ```typescript
8083
+ * const client = new ScrapeBadger({ apiKey: "key" });
8084
+ *
8085
+ * const results = await client.youtube.music.search({ query: "daft punk" });
8086
+ * for (const r of results.results) {
8087
+ * console.log(r.title);
8088
+ * }
8089
+ * ```
8090
+ */
8091
+ declare class MusicClient {
8092
+ private readonly client;
8093
+ constructor(client: BaseClient);
8094
+ /**
8095
+ * Search YouTube Music (songs / albums / artists / playlists).
8096
+ *
8097
+ * @param params - The required query plus optional continuation and region.
8098
+ * @returns A page of search results with a continuation token.
8099
+ */
8100
+ search(params: YoutubeMusicSearchParams): Promise<SearchResponse>;
8101
+ }
8102
+
8103
+ /**
8104
+ * YouTube Reference Data API client.
8105
+ *
8106
+ * Provides methods for the static categories, languages, regions, and the
8107
+ * geo-targeted scraper market list (all zero-credit).
8108
+ */
8109
+
8110
+ /**
8111
+ * Client for YouTube reference data endpoints.
8112
+ *
8113
+ * @example
8114
+ * ```typescript
8115
+ * const client = new ScrapeBadger({ apiKey: "key" });
8116
+ *
8117
+ * const categories = await client.youtube.reference.categories({ gl: "US" });
8118
+ * const languages = await client.youtube.reference.languages();
8119
+ * const regions = await client.youtube.reference.regions();
8120
+ * const markets = await client.youtube.reference.markets();
8121
+ * ```
8122
+ */
8123
+ declare class ReferenceClient {
8124
+ private readonly client;
8125
+ constructor(client: BaseClient);
8126
+ /**
8127
+ * List YouTube video categories (Data-API parity).
8128
+ *
8129
+ * @param options - Optional content region (default: "US").
8130
+ * @returns The categories for the region.
8131
+ */
8132
+ categories(options?: YoutubeCategoriesParams): Promise<CategoriesResponse>;
8133
+ /**
8134
+ * List supported UI languages (hl codes).
8135
+ *
8136
+ * @returns The supported UI languages.
8137
+ */
8138
+ languages(): Promise<LanguagesResponse>;
8139
+ /**
8140
+ * List supported content regions (gl codes).
8141
+ *
8142
+ * @returns The supported content regions.
8143
+ */
8144
+ regions(): Promise<RegionsResponse>;
8145
+ /**
8146
+ * List the regions the scraper explicitly geo-targets (proxy-pinned).
8147
+ *
8148
+ * @returns The supported scraper markets.
8149
+ */
8150
+ markets(): Promise<MarketsResponse>;
8151
+ }
8152
+
8153
+ /**
8154
+ * YouTube API client.
8155
+ *
8156
+ * Provides access to all YouTube API endpoints through specialized sub-clients.
8157
+ */
8158
+
8159
+ /**
8160
+ * YouTube API client with access to all YouTube endpoints.
8161
+ *
8162
+ * Provides sub-clients for different resource types:
8163
+ * - `search` - Full-matrix search and keyword autocomplete
8164
+ * - `videos` - Detail, related, comments, replies, transcript, captions, streams, live chat, batch, oEmbed
8165
+ * - `channels` - Detail, tab feeds, about, subscriber count, in-channel search, resolve
8166
+ * - `playlists` - Playlist detail, items pagination, mixes
8167
+ * - `community` - Community post detail and post comments
8168
+ * - `shorts` - Single Short detail and Shorts by sound
8169
+ * - `trending` - Trending feed, trending shorts, hashtag feed, home feed
8170
+ * - `music` - YouTube Music search
8171
+ * - `reference` - Reference data (categories, languages, regions, markets)
8172
+ *
8173
+ * All list endpoints paginate via an opaque `continuation` token (no page
8174
+ * numbers). Region is controlled by `gl` (content region) + `hl` (UI language).
8175
+ *
8176
+ * @example
8177
+ * ```typescript
8178
+ * const client = new ScrapeBadger({ apiKey: "key" });
8179
+ *
8180
+ * // Search
8181
+ * const results = await client.youtube.search.search({ query: "lofi beats" });
8182
+ *
8183
+ * // Video detail
8184
+ * const video = await client.youtube.videos.get("dQw4w9WgXcQ");
8185
+ *
8186
+ * // Channel detail (accepts a UC id, @handle, or custom URL)
8187
+ * const channel = await client.youtube.channels.get("@MrBeast");
8188
+ *
8189
+ * // Playlist items
8190
+ * const playlist = await client.youtube.playlists.get("PL1234567890");
8191
+ *
8192
+ * // Trending
8193
+ * const trending = await client.youtube.trending.get({ gl: "US" });
8194
+ *
8195
+ * // Reference data
8196
+ * const markets = await client.youtube.reference.markets();
8197
+ * ```
8198
+ */
8199
+ declare class YoutubeClient {
8200
+ /** Client for full-matrix search and keyword autocomplete */
8201
+ readonly search: SearchClient;
8202
+ /** Client for video detail, comments, transcript, captions, streams, live chat, batch, and oEmbed */
8203
+ readonly videos: VideosClient;
8204
+ /** Client for channel detail, tab feeds, about, subscriber count, search, and resolve */
8205
+ readonly channels: ChannelsClient;
8206
+ /** Client for playlist detail, items pagination, and mixes */
8207
+ readonly playlists: PlaylistsClient;
8208
+ /** Client for community post detail and post comments */
8209
+ readonly community: CommunityClient;
8210
+ /** Client for single-Short detail and Shorts by sound */
8211
+ readonly shorts: ShortsClient;
8212
+ /** Client for the trending feed, trending shorts, hashtag feed, and home feed */
8213
+ readonly trending: TrendingClient;
8214
+ /** Client for YouTube Music search */
8215
+ readonly music: MusicClient;
8216
+ /** Client for reference data (categories, languages, regions, markets) */
8217
+ readonly reference: ReferenceClient;
8218
+ /**
8219
+ * Create a new YouTube client.
8220
+ *
8221
+ * @param client - The base HTTP client for making requests.
8222
+ */
8223
+ constructor(client: BaseClient);
8224
+ }
8225
+
5987
8226
  /**
5988
8227
  * Main ScrapeBadger client.
5989
8228
  *
@@ -6040,6 +8279,10 @@ declare class ScrapeBadger {
6040
8279
  readonly shopee: ShopeeClient;
6041
8280
  /** TikTok scraper API client — 26 endpoints */
6042
8281
  readonly tiktok: TikTokClient;
8282
+ /** eBay scraper API client — 12 endpoints across 18 markets */
8283
+ readonly ebay: EbayClient;
8284
+ /** YouTube scraper API client — 39 endpoints */
8285
+ readonly youtube: YoutubeClient;
6043
8286
  /**
6044
8287
  * Create a new ScrapeBadger client.
6045
8288
  *
@@ -6068,4 +8311,4 @@ declare class ScrapeBadger {
6068
8311
  constructor(config?: Partial<ScrapeBadgerConfig>);
6069
8312
  }
6070
8313
 
6071
- export { type AiListItem, type AiModeResponse, type AiModeSearchParams, type AiReference, type AiTableRow, type AiTextBlock, type AmazonAutocompleteParams, type AutocompleteResponse as AmazonAutocompleteResponse, type AutocompleteSuggestion as AmazonAutocompleteSuggestion, type Bestseller as AmazonBestseller, type BestsellersRankEntry as AmazonBestsellersRankEntry, type BestsellersResponse as AmazonBestsellersResponse, type Buybox as AmazonBuybox, type CategoriesResponse as AmazonCategoriesResponse, type CategoryInfo as AmazonCategoryInfo, type AmazonCategoryParams, type CategoryResponse 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 as AmazonMarketInfo, type MarketsResponse$1 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 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$2 as AmazonReferenceClient, type RelatedProduct as AmazonRelatedProduct, type Review as AmazonReview, type ReviewProfile as AmazonReviewProfile, type AmazonReviewsParams, type ReviewsResponse as AmazonReviewsResponse, SearchClient$2 as AmazonSearchClient, type AmazonSearchParams, type SearchResponse as AmazonSearchResponse, type SearchResult$1 as AmazonSearchResult, type Seller as AmazonSeller, type SellerFeedbackEntry as AmazonSellerFeedbackEntry, type SellerFeedbackResponse as AmazonSellerFeedbackResponse, type SellerFeedbackSummary as AmazonSellerFeedbackSummary, type AmazonSellerListParams, type AmazonSellerParams, type SellerProductsResponse as AmazonSellerProductsResponse, type SellerProfileResponse as AmazonSellerProfileResponse, SellersClient as AmazonSellersClient, type AutocompleteParams, type DetectOptions, type DetectResult, type DomainPostsResponse, 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$4 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$3 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 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$1 as ShopeeReferenceClient, type ShopeeReview, type ReviewReply as ShopeeReviewReply, type ReviewSummary as ShopeeReviewSummary, ReviewsClient as ShopeeReviewsClient, type ShopeeReviewsParams, type ReviewsResult as ShopeeReviewsResult, SearchClient$1 as ShopeeSearchClient, type ShopeeSearchParams, type SearchResult 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 as TikTokReferenceClient, type RegionInfo as TikTokRegionInfo, type RegionsResponse as TikTokRegionsResponse, type TikTokRelatedParams, SearchClient 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 as VintedItemDetailResponse, type VintedItemSummary, ItemsClient as VintedItemsClient, type VintedMarket, type MarketsResponse$2 as VintedMarketsResponse, type VintedPagination, type VintedPhoto, type VintedPrice, ReferenceClient$3 as VintedReferenceClient, SearchClient$5 as VintedSearchClient, type VintedSearchParams, type SearchResponse$1 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 };
8314
+ 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 };