scrapebadger 0.34.0 → 0.36.0

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.mjs CHANGED
@@ -3,7 +3,7 @@ import { EventEmitter } from 'events';
3
3
  import WebSocket from 'ws';
4
4
 
5
5
  // src/internal/version.ts
6
- var SDK_VERSION = "0.33.1";
6
+ var SDK_VERSION = "0.36.0";
7
7
 
8
8
  // src/internal/exceptions.ts
9
9
  var ScrapeBadgerError = class _ScrapeBadgerError extends Error {
@@ -2439,6 +2439,7 @@ var SpacesClient = class {
2439
2439
 
2440
2440
  // src/twitter/client.ts
2441
2441
  var TwitterClient = class {
2442
+ _gen;
2442
2443
  /** Client for tweet operations */
2443
2444
  tweets;
2444
2445
  /** Client for user operations */
@@ -2461,6 +2462,7 @@ var TwitterClient = class {
2461
2462
  * @param client - The base HTTP client for making requests.
2462
2463
  */
2463
2464
  constructor(client) {
2465
+ this._gen = client;
2464
2466
  this.tweets = new TweetsClient(client);
2465
2467
  this.users = new UsersClient(client);
2466
2468
  this.lists = new ListsClient(client);
@@ -2470,12 +2472,67 @@ var TwitterClient = class {
2470
2472
  this.stream = new StreamClient(client);
2471
2473
  this.spaces = new SpacesClient(client);
2472
2474
  }
2475
+ // --- generated by sdk/codegen/facade — do not edit ---
2476
+ /** Delete filter rule. Generated from the OpenAPI spec; returns the raw response object. */
2477
+ async deleteFilterRule(ruleId, body, params = {}) {
2478
+ return this._gen.request(`/v1/twitter/stream/filter-rules/${ruleId}`, {
2479
+ method: "DELETE",
2480
+ params,
2481
+ body
2482
+ });
2483
+ }
2484
+ /** Update filter rule. Generated from the OpenAPI spec; returns the raw response object. */
2485
+ async updateFilterRule(ruleId, body, params = {}) {
2486
+ return this._gen.request(`/v1/twitter/stream/filter-rules/${ruleId}`, {
2487
+ method: "PATCH",
2488
+ params,
2489
+ body
2490
+ });
2491
+ }
2492
+ /** Delete stream monitor. Generated from the OpenAPI spec; returns the raw response object. */
2493
+ async deleteStreamMonitor(monitorId, body, params = {}) {
2494
+ return this._gen.request(`/v1/twitter/stream/monitors/${monitorId}`, {
2495
+ method: "DELETE",
2496
+ params,
2497
+ body
2498
+ });
2499
+ }
2500
+ /** Update stream monitor. Generated from the OpenAPI spec; returns the raw response object. */
2501
+ async updateStreamMonitor(monitorId, body, params = {}) {
2502
+ return this._gen.request(`/v1/twitter/stream/monitors/${monitorId}`, {
2503
+ method: "PATCH",
2504
+ params,
2505
+ body
2506
+ });
2507
+ }
2508
+ /** List webhooks. Generated from the OpenAPI spec; returns the raw response object. */
2509
+ async listWebhooks(params = {}) {
2510
+ return this._gen.request("/v1/twitter/stream/webhooks", { params });
2511
+ }
2512
+ /** Configure webhook on a monitor. Generated from the OpenAPI spec; returns the raw response object. */
2513
+ async configureWebhookOnAMonitor(body, params = {}) {
2514
+ return this._gen.request("/v1/twitter/stream/webhooks", { method: "POST", params, body });
2515
+ }
2516
+ /** Test webhook delivery. Generated from the OpenAPI spec; returns the raw response object. */
2517
+ async testWebhookDelivery(body, params = {}) {
2518
+ return this._gen.request("/v1/twitter/stream/webhooks/test", { method: "POST", params, body });
2519
+ }
2520
+ /** Remove webhook from monitor. Generated from the OpenAPI spec; returns the raw response object. */
2521
+ async removeWebhookFromMonitor(webhookId, body, params = {}) {
2522
+ return this._gen.request(`/v1/twitter/stream/webhooks/${webhookId}`, {
2523
+ method: "DELETE",
2524
+ params,
2525
+ body
2526
+ });
2527
+ }
2473
2528
  };
2474
2529
 
2475
2530
  // src/web/client.ts
2476
2531
  var WebClient = class {
2532
+ _gen;
2477
2533
  client;
2478
2534
  constructor(client) {
2535
+ this._gen = client;
2479
2536
  this.client = client;
2480
2537
  }
2481
2538
  /**
@@ -2591,6 +2648,27 @@ var WebClient = class {
2591
2648
  body
2592
2649
  });
2593
2650
  }
2651
+ // --- generated by sdk/codegen/facade — do not edit ---
2652
+ /** Submit batch scraping job. Generated from the OpenAPI spec; returns the raw response object. */
2653
+ async submitBatchScrapingJob(body, params = {}) {
2654
+ return this._gen.request("/v1/web/batch", { method: "POST", params, body });
2655
+ }
2656
+ /** Get batch job status. Generated from the OpenAPI spec; returns the raw response object. */
2657
+ async getBatchJobStatus(jobId, params = {}) {
2658
+ return this._gen.request(`/v1/web/batch/${jobId}`, { params });
2659
+ }
2660
+ /** Extract structured data. Generated from the OpenAPI spec; returns the raw response object. */
2661
+ async extractStructuredData(body, params = {}) {
2662
+ return this._gen.request("/v1/web/extract", { method: "POST", params, body });
2663
+ }
2664
+ /** Take a screenshot. Generated from the OpenAPI spec; returns the raw response object. */
2665
+ async takeAScreenshot(body, params = {}) {
2666
+ return this._gen.request("/v1/web/screenshot", { method: "POST", params, body });
2667
+ }
2668
+ /** Poll an auto-unblock discovery job. Generated from the OpenAPI spec; returns the raw response object. */
2669
+ async pollAnAutoUnblockDiscoveryJob(jobId, params = {}) {
2670
+ return this._gen.request(`/v1/web/unblock/${jobId}`, { params });
2671
+ }
2594
2672
  };
2595
2673
 
2596
2674
  // src/vinted/search.ts
@@ -2686,10 +2764,9 @@ var ItemsClient = class {
2686
2764
  * ```
2687
2765
  */
2688
2766
  async get(itemId, options = {}) {
2689
- return this.client.request(
2690
- `/v1/vinted/items/${itemId}`,
2691
- { params: { market: options.market } }
2692
- );
2767
+ return this.client.request(`/v1/vinted/items/${itemId}`, {
2768
+ params: { market: options.market }
2769
+ });
2693
2770
  }
2694
2771
  };
2695
2772
 
@@ -2719,10 +2796,9 @@ var UsersClient2 = class {
2719
2796
  * ```
2720
2797
  */
2721
2798
  async getProfile(userId, options = {}) {
2722
- return this.client.request(
2723
- `/v1/vinted/users/${userId}`,
2724
- { params: { market: options.market } }
2725
- );
2799
+ return this.client.request(`/v1/vinted/users/${userId}`, {
2800
+ params: { market: options.market }
2801
+ });
2726
2802
  }
2727
2803
  /**
2728
2804
  * Get items listed by a user.
@@ -2750,16 +2826,13 @@ var UsersClient2 = class {
2750
2826
  * ```
2751
2827
  */
2752
2828
  async getItems(userId, options = {}) {
2753
- return this.client.request(
2754
- `/v1/vinted/users/${userId}/items`,
2755
- {
2756
- params: {
2757
- market: options.market,
2758
- page: options.page,
2759
- per_page: options.per_page
2760
- }
2829
+ return this.client.request(`/v1/vinted/users/${userId}/items`, {
2830
+ params: {
2831
+ market: options.market,
2832
+ page: options.page,
2833
+ per_page: options.per_page
2761
2834
  }
2762
- );
2835
+ });
2763
2836
  }
2764
2837
  };
2765
2838
 
@@ -3348,6 +3421,7 @@ var VideosClient = class {
3348
3421
 
3349
3422
  // src/google/client.ts
3350
3423
  var GoogleClient = class {
3424
+ _gen;
3351
3425
  /** Google Web Search (SERP) — with optional deferred AI Overview follow-up. */
3352
3426
  search;
3353
3427
  /** Google Maps — places, reviews, photos, posts. */
@@ -3385,6 +3459,7 @@ var GoogleClient = class {
3385
3459
  /** Google Products — immersive product detail. */
3386
3460
  products;
3387
3461
  constructor(client) {
3462
+ this._gen = client;
3388
3463
  this.search = new SearchClient2(client);
3389
3464
  this.maps = new MapsClient(client);
3390
3465
  this.news = new NewsClient(client);
@@ -3404,6 +3479,55 @@ var GoogleClient = class {
3404
3479
  this.flights = new FlightsClient(client);
3405
3480
  this.products = new ProductsClient(client);
3406
3481
  }
3482
+ // --- generated by sdk/codegen/facade — do not edit ---
3483
+ /** Google AI Overview (inline SERP block). Generated from the OpenAPI spec; returns the raw response object. */
3484
+ async googleAiOverviewInlineSerpBlock(params = {}) {
3485
+ return this._gen.request("/v1/google/ai-overview", { params });
3486
+ }
3487
+ /** Google Flights calendar — cheapest fare per date. Generated from the OpenAPI spec; returns the raw response object. */
3488
+ async googleFlightsCalendarCheapestFarePerDate(params = {}) {
3489
+ return this._gen.request("/v1/google/flights/calendar", { params });
3490
+ }
3491
+ };
3492
+
3493
+ // src/idealista/client.ts
3494
+ var IdealistaClient = class {
3495
+ client;
3496
+ constructor(client) {
3497
+ this.client = client;
3498
+ }
3499
+ /** Agency by phone. Generated from the OpenAPI spec; returns the raw response object. */
3500
+ async agencyByPhone(phone, params = {}) {
3501
+ return this.client.request(`/v1/idealista/agency/by-phone/${phone}`, { params });
3502
+ }
3503
+ /** Agency profile + listings. Generated from the OpenAPI spec; returns the raw response object. */
3504
+ async agencyProfileListings(shortName, params = {}) {
3505
+ return this.client.request(`/v1/idealista/agency/${shortName}`, { params });
3506
+ }
3507
+ /** List markets. Generated from the OpenAPI spec; returns the raw response object. */
3508
+ async listMarkets(params = {}) {
3509
+ return this.client.request("/v1/idealista/markets", { params });
3510
+ }
3511
+ /** Get property detail. Generated from the OpenAPI spec; returns the raw response object. */
3512
+ async getPropertyDetail(propertyCode, params = {}) {
3513
+ return this.client.request(`/v1/idealista/properties/${propertyCode}`, { params });
3514
+ }
3515
+ /** Get listing engagement stats. Generated from the OpenAPI spec; returns the raw response object. */
3516
+ async getListingEngagementStats(propertyCode, params = {}) {
3517
+ return this.client.request(`/v1/idealista/properties/${propertyCode}/stats`, { params });
3518
+ }
3519
+ /** Search listings. Generated from the OpenAPI spec; returns the raw response object. */
3520
+ async searchListings(params = {}) {
3521
+ return this.client.request("/v1/idealista/search", { params });
3522
+ }
3523
+ /** Search all (beats result cap). Generated from the OpenAPI spec; returns the raw response object. */
3524
+ async searchAllBeatsResultCap(params = {}) {
3525
+ return this.client.request("/v1/idealista/search/all", { params });
3526
+ }
3527
+ /** Resolve locations. Generated from the OpenAPI spec; returns the raw response object. */
3528
+ async resolveLocations(params = {}) {
3529
+ return this.client.request("/v1/idealista/suggest", { params });
3530
+ }
3407
3531
  };
3408
3532
 
3409
3533
  // src/reddit/search.ts
@@ -3473,16 +3597,13 @@ var SearchClient3 = class {
3473
3597
  * ```
3474
3598
  */
3475
3599
  async subreddits(options) {
3476
- return this.client.request(
3477
- "/v1/reddit/search/subreddits",
3478
- {
3479
- params: {
3480
- query: options.query,
3481
- after: options.after,
3482
- limit: options.limit
3483
- }
3600
+ return this.client.request("/v1/reddit/search/subreddits", {
3601
+ params: {
3602
+ query: options.query,
3603
+ after: options.after,
3604
+ limit: options.limit
3484
3605
  }
3485
- );
3606
+ });
3486
3607
  }
3487
3608
  /**
3488
3609
  * Search Reddit users.
@@ -3507,16 +3628,13 @@ var SearchClient3 = class {
3507
3628
  * ```
3508
3629
  */
3509
3630
  async users(options) {
3510
- return this.client.request(
3511
- "/v1/reddit/search/users",
3512
- {
3513
- params: {
3514
- query: options.query,
3515
- after: options.after,
3516
- limit: options.limit
3517
- }
3631
+ return this.client.request("/v1/reddit/search/users", {
3632
+ params: {
3633
+ query: options.query,
3634
+ after: options.after,
3635
+ limit: options.limit
3518
3636
  }
3519
- );
3637
+ });
3520
3638
  }
3521
3639
  /**
3522
3640
  * Get Reddit posts linking to a specific domain.
@@ -3545,18 +3663,15 @@ var SearchClient3 = class {
3545
3663
  * ```
3546
3664
  */
3547
3665
  async domainPosts(options) {
3548
- return this.client.request(
3549
- "/v1/reddit/search/domain",
3550
- {
3551
- params: {
3552
- domain: options.domain,
3553
- sort: options.sort,
3554
- time: options.time,
3555
- after: options.after,
3556
- limit: options.limit
3557
- }
3666
+ return this.client.request("/v1/reddit/search/domain", {
3667
+ params: {
3668
+ domain: options.domain,
3669
+ sort: options.sort,
3670
+ time: options.time,
3671
+ after: options.after,
3672
+ limit: options.limit
3558
3673
  }
3559
- );
3674
+ });
3560
3675
  }
3561
3676
  };
3562
3677
 
@@ -3620,10 +3735,9 @@ var PostsClient = class {
3620
3735
  * ```
3621
3736
  */
3622
3737
  async get(postId, options = {}) {
3623
- return this.client.request(
3624
- `/v1/reddit/posts/${postId}`,
3625
- { params: { subreddit: options.subreddit } }
3626
- );
3738
+ return this.client.request(`/v1/reddit/posts/${postId}`, {
3739
+ params: { subreddit: options.subreddit }
3740
+ });
3627
3741
  }
3628
3742
  /**
3629
3743
  * Get comments for a Reddit post.
@@ -3651,17 +3765,14 @@ var PostsClient = class {
3651
3765
  * ```
3652
3766
  */
3653
3767
  async comments(postId, options = {}) {
3654
- return this.client.request(
3655
- `/v1/reddit/posts/${postId}/comments`,
3656
- {
3657
- params: {
3658
- subreddit: options.subreddit,
3659
- sort: options.sort,
3660
- depth: options.depth,
3661
- limit: options.limit
3662
- }
3768
+ return this.client.request(`/v1/reddit/posts/${postId}/comments`, {
3769
+ params: {
3770
+ subreddit: options.subreddit,
3771
+ sort: options.sort,
3772
+ depth: options.depth,
3773
+ limit: options.limit
3663
3774
  }
3664
- );
3775
+ });
3665
3776
  }
3666
3777
  /**
3667
3778
  * Get cross-posts and duplicate submissions of a Reddit post.
@@ -3685,15 +3796,12 @@ var PostsClient = class {
3685
3796
  * ```
3686
3797
  */
3687
3798
  async duplicates(postId, options = {}) {
3688
- return this.client.request(
3689
- `/v1/reddit/posts/${postId}/duplicates`,
3690
- {
3691
- params: {
3692
- after: options.after,
3693
- limit: options.limit
3694
- }
3799
+ return this.client.request(`/v1/reddit/posts/${postId}/duplicates`, {
3800
+ params: {
3801
+ after: options.after,
3802
+ limit: options.limit
3695
3803
  }
3696
- );
3804
+ });
3697
3805
  }
3698
3806
  };
3699
3807
 
@@ -3893,9 +4001,7 @@ var UsersClient3 = class {
3893
4001
  * ```
3894
4002
  */
3895
4003
  async get(username) {
3896
- return this.client.request(
3897
- `/v1/reddit/users/${username}`
3898
- );
4004
+ return this.client.request(`/v1/reddit/users/${username}`);
3899
4005
  }
3900
4006
  /**
3901
4007
  * Get posts submitted by a Reddit user.
@@ -3923,17 +4029,14 @@ var UsersClient3 = class {
3923
4029
  * ```
3924
4030
  */
3925
4031
  async posts(username, options = {}) {
3926
- return this.client.request(
3927
- `/v1/reddit/users/${username}/posts`,
3928
- {
3929
- params: {
3930
- sort: options.sort,
3931
- time: options.time,
3932
- after: options.after,
3933
- limit: options.limit
3934
- }
4032
+ return this.client.request(`/v1/reddit/users/${username}/posts`, {
4033
+ params: {
4034
+ sort: options.sort,
4035
+ time: options.time,
4036
+ after: options.after,
4037
+ limit: options.limit
3935
4038
  }
3936
- );
4039
+ });
3937
4040
  }
3938
4041
  /**
3939
4042
  * Get comments made by a Reddit user.
@@ -3960,17 +4063,14 @@ var UsersClient3 = class {
3960
4063
  * ```
3961
4064
  */
3962
4065
  async comments(username, options = {}) {
3963
- return this.client.request(
3964
- `/v1/reddit/users/${username}/comments`,
3965
- {
3966
- params: {
3967
- sort: options.sort,
3968
- time: options.time,
3969
- after: options.after,
3970
- limit: options.limit
3971
- }
4066
+ return this.client.request(`/v1/reddit/users/${username}/comments`, {
4067
+ params: {
4068
+ sort: options.sort,
4069
+ time: options.time,
4070
+ after: options.after,
4071
+ limit: options.limit
3972
4072
  }
3973
- );
4073
+ });
3974
4074
  }
3975
4075
  /**
3976
4076
  * Get subreddits moderated by a Reddit user.
@@ -3989,9 +4089,7 @@ var UsersClient3 = class {
3989
4089
  * ```
3990
4090
  */
3991
4091
  async moderated(username) {
3992
- return this.client.request(
3993
- `/v1/reddit/users/${username}/moderated`
3994
- );
4092
+ return this.client.request(`/v1/reddit/users/${username}/moderated`);
3995
4093
  }
3996
4094
  /**
3997
4095
  * Get trophies awarded to a Reddit user.
@@ -4010,9 +4108,7 @@ var UsersClient3 = class {
4010
4108
  * ```
4011
4109
  */
4012
4110
  async trophies(username) {
4013
- return this.client.request(
4014
- `/v1/reddit/users/${username}/trophies`
4015
- );
4111
+ return this.client.request(`/v1/reddit/users/${username}/trophies`);
4016
4112
  }
4017
4113
  };
4018
4114
 
@@ -4086,6 +4182,11 @@ var ApartmentsClient = class {
4086
4182
  }
4087
4183
  throw new Error("Provide either url, or both slug and propertyId");
4088
4184
  }
4185
+ // --- generated by sdk/codegen/facade — do not edit ---
4186
+ /** Get property detail by slug + id. Generated from the OpenAPI spec; returns the raw response object. */
4187
+ async getPropertyDetailBySlugId(slug, propertyId, params = {}) {
4188
+ return this.client.request(`/v1/apartments/properties/${slug}/${propertyId}`, { params });
4189
+ }
4089
4190
  };
4090
4191
 
4091
4192
  // src/instagram/users.ts
@@ -4103,15 +4204,11 @@ var UsersClient4 = class {
4103
4204
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4104
4205
  */
4105
4206
  async about(username) {
4106
- return this.client.request(
4107
- `/v1/instagram/users/${username}/about`
4108
- );
4207
+ return this.client.request(`/v1/instagram/users/${username}/about`);
4109
4208
  }
4110
4209
  /** Get accounts related/suggested for a user. */
4111
4210
  async related(username) {
4112
- return this.client.request(
4113
- `/v1/instagram/users/${username}/related`
4114
- );
4211
+ return this.client.request(`/v1/instagram/users/${username}/related`);
4115
4212
  }
4116
4213
  /** Get a user's timeline posts. */
4117
4214
  async posts(username, options = {}) {
@@ -4143,9 +4240,7 @@ var UsersClient4 = class {
4143
4240
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4144
4241
  */
4145
4242
  async pinned(username) {
4146
- return this.client.request(
4147
- `/v1/instagram/users/${username}/pinned`
4148
- );
4243
+ return this.client.request(`/v1/instagram/users/${username}/pinned`);
4149
4244
  }
4150
4245
  /**
4151
4246
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
@@ -4158,26 +4253,22 @@ var UsersClient4 = class {
4158
4253
  * @param options.order - Ordering hint (e.g. "default", "date_followed_earliest").
4159
4254
  */
4160
4255
  async followers(username, options = {}) {
4161
- return this.client.request(
4162
- `/v1/instagram/users/${username}/followers`,
4163
- {
4164
- params: {
4165
- amount: options.amount,
4166
- cursor: options.cursor,
4167
- order: options.order
4168
- }
4256
+ return this.client.request(`/v1/instagram/users/${username}/followers`, {
4257
+ params: {
4258
+ amount: options.amount,
4259
+ cursor: options.cursor,
4260
+ order: options.order
4169
4261
  }
4170
- );
4262
+ });
4171
4263
  }
4172
4264
  /**
4173
4265
  * Get the accounts a user follows.
4174
4266
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4175
4267
  */
4176
4268
  async following(username, options = {}) {
4177
- return this.client.request(
4178
- `/v1/instagram/users/${username}/following`,
4179
- { params: { amount: options.amount, cursor: options.cursor } }
4180
- );
4269
+ return this.client.request(`/v1/instagram/users/${username}/following`, {
4270
+ params: { amount: options.amount, cursor: options.cursor }
4271
+ });
4181
4272
  }
4182
4273
  /**
4183
4274
  * Search within a user's followers by name/username.
@@ -4196,18 +4287,14 @@ var UsersClient4 = class {
4196
4287
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4197
4288
  */
4198
4289
  async stories(username) {
4199
- return this.client.request(
4200
- `/v1/instagram/users/${username}/stories`
4201
- );
4290
+ return this.client.request(`/v1/instagram/users/${username}/stories`);
4202
4291
  }
4203
4292
  /**
4204
4293
  * Get a user's story highlights.
4205
4294
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4206
4295
  */
4207
4296
  async highlights(username) {
4208
- return this.client.request(
4209
- `/v1/instagram/users/${username}/highlights`
4210
- );
4297
+ return this.client.request(`/v1/instagram/users/${username}/highlights`);
4211
4298
  }
4212
4299
  async media(path, options) {
4213
4300
  return this.client.request(path, {
@@ -4236,19 +4323,16 @@ var MediaClient = class {
4236
4323
  }
4237
4324
  /** Get top-level comments on a media. */
4238
4325
  async comments(code, options = {}) {
4239
- return this.client.request(
4240
- `/v1/instagram/media/${code}/comments`,
4241
- { params: { amount: options.amount, cursor: options.cursor } }
4242
- );
4326
+ return this.client.request(`/v1/instagram/media/${code}/comments`, {
4327
+ params: { amount: options.amount, cursor: options.cursor }
4328
+ });
4243
4329
  }
4244
4330
  /**
4245
4331
  * Get the users who liked a media.
4246
4332
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4247
4333
  */
4248
4334
  async likers(code) {
4249
- return this.client.request(
4250
- `/v1/instagram/media/${code}/likers`
4251
- );
4335
+ return this.client.request(`/v1/instagram/media/${code}/likers`);
4252
4336
  }
4253
4337
  /**
4254
4338
  * Get replies to a comment.
@@ -4279,47 +4363,42 @@ var SearchClient4 = class {
4279
4363
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4280
4364
  */
4281
4365
  async users(query) {
4282
- return this.client.request(
4283
- "/v1/instagram/search/users",
4284
- { params: { query } }
4285
- );
4366
+ return this.client.request("/v1/instagram/search/users", {
4367
+ params: { query }
4368
+ });
4286
4369
  }
4287
4370
  /** Search hashtags. */
4288
4371
  async hashtags(query) {
4289
- return this.client.request(
4290
- "/v1/instagram/search/hashtags",
4291
- { params: { query } }
4292
- );
4372
+ return this.client.request("/v1/instagram/search/hashtags", {
4373
+ params: { query }
4374
+ });
4293
4375
  }
4294
4376
  /**
4295
4377
  * Search places/locations.
4296
4378
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4297
4379
  */
4298
4380
  async places(query) {
4299
- return this.client.request(
4300
- "/v1/instagram/search/places",
4301
- { params: { query } }
4302
- );
4381
+ return this.client.request("/v1/instagram/search/places", {
4382
+ params: { query }
4383
+ });
4303
4384
  }
4304
4385
  /**
4305
4386
  * Search reels.
4306
4387
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4307
4388
  */
4308
4389
  async reels(query) {
4309
- return this.client.request(
4310
- "/v1/instagram/search/reels",
4311
- { params: { query } }
4312
- );
4390
+ return this.client.request("/v1/instagram/search/reels", {
4391
+ params: { query }
4392
+ });
4313
4393
  }
4314
4394
  /**
4315
4395
  * Search music/audio tracks.
4316
4396
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4317
4397
  */
4318
4398
  async music(query) {
4319
- return this.client.request(
4320
- "/v1/instagram/search/music",
4321
- { params: { query } }
4322
- );
4399
+ return this.client.request("/v1/instagram/search/music", {
4400
+ params: { query }
4401
+ });
4323
4402
  }
4324
4403
  /** Get blended "top" results (users, hashtags, and places). */
4325
4404
  async top(query) {
@@ -4332,10 +4411,9 @@ var SearchClient4 = class {
4332
4411
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4333
4412
  */
4334
4413
  async autocomplete(query) {
4335
- return this.client.request(
4336
- "/v1/instagram/search/autocomplete",
4337
- { params: { query } }
4338
- );
4414
+ return this.client.request("/v1/instagram/search/autocomplete", {
4415
+ params: { query }
4416
+ });
4339
4417
  }
4340
4418
  };
4341
4419
 
@@ -4363,22 +4441,14 @@ var HashtagsClient = class {
4363
4441
  }
4364
4442
  /** Get the most recent media for a hashtag. */
4365
4443
  async recent(tag, options = {}) {
4366
- return mediaFeed(
4367
- this.client,
4368
- `/v1/instagram/hashtags/${tag}/recent`,
4369
- options
4370
- );
4444
+ return mediaFeed(this.client, `/v1/instagram/hashtags/${tag}/recent`, options);
4371
4445
  }
4372
4446
  /**
4373
4447
  * Get reels for a hashtag.
4374
4448
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4375
4449
  */
4376
4450
  async reels(tag, options = {}) {
4377
- return mediaFeed(
4378
- this.client,
4379
- `/v1/instagram/hashtags/${tag}/reels`,
4380
- options
4381
- );
4451
+ return mediaFeed(this.client, `/v1/instagram/hashtags/${tag}/reels`, options);
4382
4452
  }
4383
4453
  };
4384
4454
  var LocationsClient = class {
@@ -4405,21 +4475,16 @@ var LocationsClient = class {
4405
4475
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4406
4476
  */
4407
4477
  async recent(pk, options = {}) {
4408
- return mediaFeed(
4409
- this.client,
4410
- `/v1/instagram/locations/${pk}/recent`,
4411
- options
4412
- );
4478
+ return mediaFeed(this.client, `/v1/instagram/locations/${pk}/recent`, options);
4413
4479
  }
4414
4480
  /**
4415
4481
  * Search locations by name.
4416
4482
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4417
4483
  */
4418
4484
  async search(query) {
4419
- return this.client.request(
4420
- "/v1/instagram/locations/search",
4421
- { params: { query } }
4422
- );
4485
+ return this.client.request("/v1/instagram/locations/search", {
4486
+ params: { query }
4487
+ });
4423
4488
  }
4424
4489
  };
4425
4490
  var AudioClient = class {
@@ -4439,11 +4504,7 @@ var AudioClient = class {
4439
4504
  * @deprecated Temporarily unavailable — authenticated data is temporarily offline.
4440
4505
  */
4441
4506
  async media(audioId, options = {}) {
4442
- return mediaFeed(
4443
- this.client,
4444
- `/v1/instagram/audio/${audioId}/media`,
4445
- options
4446
- );
4507
+ return mediaFeed(this.client, `/v1/instagram/audio/${audioId}/media`, options);
4447
4508
  }
4448
4509
  /**
4449
4510
  * Get currently-trending audio tracks.
@@ -4456,6 +4517,7 @@ var AudioClient = class {
4456
4517
 
4457
4518
  // src/instagram/client.ts
4458
4519
  var InstagramClient = class {
4520
+ _gen;
4459
4521
  /** Client for user operations (profile, posts, followers, stories, highlights) */
4460
4522
  users;
4461
4523
  /** Client for media operations (detail, comments, replies, likers, oEmbed) */
@@ -4474,6 +4536,7 @@ var InstagramClient = class {
4474
4536
  * @param client - The base HTTP client for making requests.
4475
4537
  */
4476
4538
  constructor(client) {
4539
+ this._gen = client;
4477
4540
  this.users = new UsersClient4(client);
4478
4541
  this.media = new MediaClient(client);
4479
4542
  this.search = new SearchClient4(client);
@@ -4481,12 +4544,19 @@ var InstagramClient = class {
4481
4544
  this.locations = new LocationsClient(client);
4482
4545
  this.audio = new AudioClient(client);
4483
4546
  }
4547
+ // --- generated by sdk/codegen/facade — do not edit ---
4548
+ /** Get location. Generated from the OpenAPI spec; returns the raw response object. */
4549
+ async getLocation(locationPk, params = {}) {
4550
+ return this._gen.request(`/v1/instagram/locations/${locationPk}`, { params });
4551
+ }
4484
4552
  };
4485
4553
 
4486
4554
  // src/redfin/client.ts
4487
4555
  var RedfinClient = class {
4556
+ _gen;
4488
4557
  client;
4489
4558
  constructor(client) {
4559
+ this._gen = client;
4490
4560
  this.client = client;
4491
4561
  }
4492
4562
  /**
@@ -4576,6 +4646,23 @@ var RedfinClient = class {
4576
4646
  async listMarkets() {
4577
4647
  return this.client.request("/v1/redfin/markets");
4578
4648
  }
4649
+ // --- generated by sdk/codegen/facade — do not edit ---
4650
+ /** Get property detail. Generated from the OpenAPI spec; returns the raw response object. */
4651
+ async getPropertyDetail(propertyId, params = {}) {
4652
+ return this._gen.request(`/v1/redfin/property/${propertyId}`, { params });
4653
+ }
4654
+ };
4655
+
4656
+ // src/account/client.ts
4657
+ var AccountClient = class {
4658
+ client;
4659
+ constructor(client) {
4660
+ this.client = client;
4661
+ }
4662
+ /** Get account info. Generated from the OpenAPI spec; returns the raw response object. */
4663
+ async getAccountInfo(params = {}) {
4664
+ return this.client.request("/v1/account/me", { params });
4665
+ }
4579
4666
  };
4580
4667
 
4581
4668
  // src/amazon/search.ts
@@ -4636,16 +4723,13 @@ var ProductsClient2 = class {
4636
4723
  * @throws NotFoundError - If the product doesn't exist.
4637
4724
  */
4638
4725
  async get(asin, options = {}) {
4639
- return this.client.request(
4640
- `/v1/amazon/products/${asin}`,
4641
- {
4642
- params: {
4643
- domain: options.domain,
4644
- zip: options.zip,
4645
- language: options.language
4646
- }
4726
+ return this.client.request(`/v1/amazon/products/${asin}`, {
4727
+ params: {
4728
+ domain: options.domain,
4729
+ zip: options.zip,
4730
+ language: options.language
4647
4731
  }
4648
- );
4732
+ });
4649
4733
  }
4650
4734
  /**
4651
4735
  * Get all-seller offers (and the buybox winner) for an ASIN.
@@ -4655,10 +4739,9 @@ var ProductsClient2 = class {
4655
4739
  * @returns Offers response with the buybox winner and full offer list.
4656
4740
  */
4657
4741
  async offers(asin, options = {}) {
4658
- return this.client.request(
4659
- `/v1/amazon/products/${asin}/offers`,
4660
- { params: { domain: options.domain, zip: options.zip } }
4661
- );
4742
+ return this.client.request(`/v1/amazon/products/${asin}/offers`, {
4743
+ params: { domain: options.domain, zip: options.zip }
4744
+ });
4662
4745
  }
4663
4746
  /**
4664
4747
  * Get product reviews for an ASIN.
@@ -4668,19 +4751,16 @@ var ProductsClient2 = class {
4668
4751
  * @returns Reviews response with reviews, aggregate rating, and breakdown.
4669
4752
  */
4670
4753
  async reviews(asin, options = {}) {
4671
- return this.client.request(
4672
- `/v1/amazon/products/${asin}/reviews`,
4673
- {
4674
- params: {
4675
- domain: options.domain,
4676
- page: options.page,
4677
- sort_by: options.sort_by,
4678
- star: options.star,
4679
- verified_only: options.verified_only,
4680
- media_only: options.media_only
4681
- }
4754
+ return this.client.request(`/v1/amazon/products/${asin}/reviews`, {
4755
+ params: {
4756
+ domain: options.domain,
4757
+ page: options.page,
4758
+ sort_by: options.sort_by,
4759
+ star: options.star,
4760
+ verified_only: options.verified_only,
4761
+ media_only: options.media_only
4682
4762
  }
4683
- );
4763
+ });
4684
4764
  }
4685
4765
  };
4686
4766
 
@@ -4768,10 +4848,9 @@ var SellersClient = class {
4768
4848
  * @throws NotFoundError - If the seller doesn't exist.
4769
4849
  */
4770
4850
  async get(sellerId, options = {}) {
4771
- return this.client.request(
4772
- `/v1/amazon/sellers/${sellerId}`,
4773
- { params: { domain: options.domain } }
4774
- );
4851
+ return this.client.request(`/v1/amazon/sellers/${sellerId}`, {
4852
+ params: { domain: options.domain }
4853
+ });
4775
4854
  }
4776
4855
  /**
4777
4856
  * Get a seller's storefront listings.
@@ -4781,10 +4860,9 @@ var SellersClient = class {
4781
4860
  * @returns Seller products response with result rows and pagination.
4782
4861
  */
4783
4862
  async products(sellerId, options = {}) {
4784
- return this.client.request(
4785
- `/v1/amazon/sellers/${sellerId}/products`,
4786
- { params: { domain: options.domain, page: options.page } }
4787
- );
4863
+ return this.client.request(`/v1/amazon/sellers/${sellerId}/products`, {
4864
+ params: { domain: options.domain, page: options.page }
4865
+ });
4788
4866
  }
4789
4867
  /**
4790
4868
  * Get buyer feedback entries for a seller.
@@ -4794,10 +4872,9 @@ var SellersClient = class {
4794
4872
  * @returns Seller feedback response with feedback entries and pagination.
4795
4873
  */
4796
4874
  async feedback(sellerId, options = {}) {
4797
- return this.client.request(
4798
- `/v1/amazon/sellers/${sellerId}/feedback`,
4799
- { params: { domain: options.domain, page: options.page } }
4800
- );
4875
+ return this.client.request(`/v1/amazon/sellers/${sellerId}/feedback`, {
4876
+ params: { domain: options.domain, page: options.page }
4877
+ });
4801
4878
  }
4802
4879
  };
4803
4880
 
@@ -4886,17 +4963,14 @@ var SearchClient6 = class {
4886
4963
  * @throws ValidationError - If the category ID or market is invalid.
4887
4964
  */
4888
4965
  async categoryItems(categoryId, options = {}) {
4889
- return this.client.request(
4890
- `/v1/shopee/category/${categoryId}/items`,
4891
- {
4892
- params: {
4893
- market: options.market,
4894
- limit: options.limit,
4895
- offset: options.offset,
4896
- sort_by: options.sort_by
4897
- }
4966
+ return this.client.request(`/v1/shopee/category/${categoryId}/items`, {
4967
+ params: {
4968
+ market: options.market,
4969
+ limit: options.limit,
4970
+ offset: options.offset,
4971
+ sort_by: options.sort_by
4898
4972
  }
4899
- );
4973
+ });
4900
4974
  }
4901
4975
  };
4902
4976
 
@@ -4918,10 +4992,9 @@ var ProductsClient3 = class {
4918
4992
  * @throws ValidationError - If the market code is invalid.
4919
4993
  */
4920
4994
  async get(shopId, itemId, options = {}) {
4921
- return this.client.request(
4922
- `/v1/shopee/product/${shopId}/${itemId}`,
4923
- { params: { market: options.market } }
4924
- );
4995
+ return this.client.request(`/v1/shopee/product/${shopId}/${itemId}`, {
4996
+ params: { market: options.market }
4997
+ });
4925
4998
  }
4926
4999
  };
4927
5000
 
@@ -4943,18 +5016,15 @@ var ReviewsClient = class {
4943
5016
  * @throws ValidationError - If the parameters are invalid.
4944
5017
  */
4945
5018
  async get(shopId, itemId, options = {}) {
4946
- return this.client.request(
4947
- `/v1/shopee/product/${shopId}/${itemId}/reviews`,
4948
- {
4949
- params: {
4950
- market: options.market,
4951
- limit: options.limit,
4952
- offset: options.offset,
4953
- rating: options.rating,
4954
- filter: options.filter
4955
- }
5019
+ return this.client.request(`/v1/shopee/product/${shopId}/${itemId}/reviews`, {
5020
+ params: {
5021
+ market: options.market,
5022
+ limit: options.limit,
5023
+ offset: options.offset,
5024
+ rating: options.rating,
5025
+ filter: options.filter
4956
5026
  }
4957
- );
5027
+ });
4958
5028
  }
4959
5029
  };
4960
5030
 
@@ -5351,10 +5421,9 @@ var TrendingClient = class {
5351
5421
  * @returns The trending hashtags response.
5352
5422
  */
5353
5423
  async hashtags(options = {}) {
5354
- return this.client.request(
5355
- "/v1/tiktok/trending/hashtags",
5356
- { params: { region: options.region, period: options.period, count: options.count } }
5357
- );
5424
+ return this.client.request("/v1/tiktok/trending/hashtags", {
5425
+ params: { region: options.region, period: options.period, count: options.count }
5426
+ });
5358
5427
  }
5359
5428
  /**
5360
5429
  * Get trending songs/sounds (mobile hot-music feed — ranked by usage).
@@ -5363,10 +5432,9 @@ var TrendingClient = class {
5363
5432
  * @returns The trending songs response.
5364
5433
  */
5365
5434
  async songs(options = {}) {
5366
- return this.client.request(
5367
- "/v1/tiktok/trending/songs",
5368
- { params: { region: options.region, period: options.period, count: options.count } }
5369
- );
5435
+ return this.client.request("/v1/tiktok/trending/songs", {
5436
+ params: { region: options.region, period: options.period, count: options.count }
5437
+ });
5370
5438
  }
5371
5439
  };
5372
5440
 
@@ -5538,10 +5606,9 @@ var ItemsClient2 = class {
5538
5606
  * @throws NotFoundError - If the item doesn't exist.
5539
5607
  */
5540
5608
  async get(itemId, options = {}) {
5541
- return this.client.request(
5542
- `/v1/ebay/items/${itemId}`,
5543
- { params: { domain: options.domain } }
5544
- );
5609
+ return this.client.request(`/v1/ebay/items/${itemId}`, {
5610
+ params: { domain: options.domain }
5611
+ });
5545
5612
  }
5546
5613
  /**
5547
5614
  * Get the catalog product reviews shown on an eBay listing.
@@ -5551,16 +5618,13 @@ var ItemsClient2 = class {
5551
5618
  * @returns Reviews response with reviews, aggregate rating, and histogram.
5552
5619
  */
5553
5620
  async reviews(itemId, options = {}) {
5554
- return this.client.request(
5555
- `/v1/ebay/items/${itemId}/reviews`,
5556
- {
5557
- params: {
5558
- domain: options.domain,
5559
- page: options.page,
5560
- product_id: options.productId
5561
- }
5621
+ return this.client.request(`/v1/ebay/items/${itemId}/reviews`, {
5622
+ params: {
5623
+ domain: options.domain,
5624
+ page: options.page,
5625
+ product_id: options.productId
5562
5626
  }
5563
- );
5627
+ });
5564
5628
  }
5565
5629
  };
5566
5630
 
@@ -5579,10 +5643,9 @@ var SellersClient2 = class {
5579
5643
  * @throws NotFoundError - If the seller doesn't exist.
5580
5644
  */
5581
5645
  async get(username, options = {}) {
5582
- return this.client.request(
5583
- `/v1/ebay/sellers/${username}`,
5584
- { params: { domain: options.domain } }
5585
- );
5646
+ return this.client.request(`/v1/ebay/sellers/${username}`, {
5647
+ params: { domain: options.domain }
5648
+ });
5586
5649
  }
5587
5650
  /**
5588
5651
  * List the active listings of a single eBay seller.
@@ -5592,17 +5655,14 @@ var SellersClient2 = class {
5592
5655
  * @returns Seller items response with result cards and pagination.
5593
5656
  */
5594
5657
  async items(username, options = {}) {
5595
- return this.client.request(
5596
- `/v1/ebay/sellers/${username}/items`,
5597
- {
5598
- params: {
5599
- domain: options.domain,
5600
- query: options.query,
5601
- page: options.page,
5602
- per_page: options.per_page
5603
- }
5658
+ return this.client.request(`/v1/ebay/sellers/${username}/items`, {
5659
+ params: {
5660
+ domain: options.domain,
5661
+ query: options.query,
5662
+ page: options.page,
5663
+ per_page: options.per_page
5604
5664
  }
5605
- );
5665
+ });
5606
5666
  }
5607
5667
  /**
5608
5668
  * Get a seller's recent feedback comments.
@@ -5612,10 +5672,9 @@ var SellersClient2 = class {
5612
5672
  * @returns Seller feedback response with feedback entries and pagination.
5613
5673
  */
5614
5674
  async feedback(username, options = {}) {
5615
- return this.client.request(
5616
- `/v1/ebay/sellers/${username}/feedback`,
5617
- { params: { domain: options.domain, page: options.page } }
5618
- );
5675
+ return this.client.request(`/v1/ebay/sellers/${username}/feedback`, {
5676
+ params: { domain: options.domain, page: options.page }
5677
+ });
5619
5678
  }
5620
5679
  };
5621
5680
 
@@ -5633,19 +5692,16 @@ var CategoriesClient = class {
5633
5692
  * @returns Category response with result cards, facets, and pagination.
5634
5693
  */
5635
5694
  async browse(categoryId, options = {}) {
5636
- return this.client.request(
5637
- `/v1/ebay/categories/${categoryId}/items`,
5638
- {
5639
- params: {
5640
- domain: options.domain,
5641
- page: options.page,
5642
- per_page: options.per_page,
5643
- sort_by: options.sort_by,
5644
- min_price: options.min_price,
5645
- max_price: options.max_price
5646
- }
5695
+ return this.client.request(`/v1/ebay/categories/${categoryId}/items`, {
5696
+ params: {
5697
+ domain: options.domain,
5698
+ page: options.page,
5699
+ per_page: options.per_page,
5700
+ sort_by: options.sort_by,
5701
+ min_price: options.min_price,
5702
+ max_price: options.max_price
5647
5703
  }
5648
- );
5704
+ });
5649
5705
  }
5650
5706
  /**
5651
5707
  * List eBay's reference top-level category ids.
@@ -5699,6 +5755,102 @@ var EbayClient = class {
5699
5755
  }
5700
5756
  };
5701
5757
 
5758
+ // src/facebook/client.ts
5759
+ var FacebookClient = class {
5760
+ client;
5761
+ constructor(client) {
5762
+ this.client = client;
5763
+ }
5764
+ /** Search the Ad Library. Generated from the OpenAPI spec; returns the raw response object. */
5765
+ async searchTheAdLibrary(params = {}) {
5766
+ return this.client.request("/v1/facebook/ads/search", { params });
5767
+ }
5768
+ /** Get an ad. Generated from the OpenAPI spec; returns the raw response object. */
5769
+ async getAnAd(adArchiveId, params = {}) {
5770
+ return this.client.request(`/v1/facebook/ads/${adArchiveId}`, { params });
5771
+ }
5772
+ /** Get group detail. Generated from the OpenAPI spec; returns the raw response object. */
5773
+ async getGroupDetail(groupId, params = {}) {
5774
+ return this.client.request(`/v1/facebook/groups/${groupId}`, { params });
5775
+ }
5776
+ /** Get group posts. Generated from the OpenAPI spec; returns the raw response object. */
5777
+ async getGroupPosts(groupId, params = {}) {
5778
+ return this.client.request(`/v1/facebook/groups/${groupId}/posts`, { params });
5779
+ }
5780
+ /** List categories. Generated from the OpenAPI spec; returns the raw response object. */
5781
+ async listCategories(params = {}) {
5782
+ return this.client.request("/v1/facebook/marketplace/categories", { params });
5783
+ }
5784
+ /** Browse a Marketplace category. Generated from the OpenAPI spec; returns the raw response object. */
5785
+ async browseAMarketplaceCategory(category, params = {}) {
5786
+ return this.client.request(`/v1/facebook/marketplace/category/${category}`, { params });
5787
+ }
5788
+ /** Get a Marketplace item. Generated from the OpenAPI spec; returns the raw response object. */
5789
+ async getAMarketplaceItem(itemId, params = {}) {
5790
+ return this.client.request(`/v1/facebook/marketplace/item/${itemId}`, { params });
5791
+ }
5792
+ /** List locations. Generated from the OpenAPI spec; returns the raw response object. */
5793
+ async listLocations(params = {}) {
5794
+ return this.client.request("/v1/facebook/marketplace/locations", { params });
5795
+ }
5796
+ /** Search Marketplace. Generated from the OpenAPI spec; returns the raw response object. */
5797
+ async searchMarketplace(params = {}) {
5798
+ return this.client.request("/v1/facebook/marketplace/search", { params });
5799
+ }
5800
+ /** Get page detail. Generated from the OpenAPI spec; returns the raw response object. */
5801
+ async getPageDetail(identifier, params = {}) {
5802
+ return this.client.request(`/v1/facebook/pages/${identifier}`, { params });
5803
+ }
5804
+ /** Get page posts. Generated from the OpenAPI spec; returns the raw response object. */
5805
+ async getPagePosts(identifier, params = {}) {
5806
+ return this.client.request(`/v1/facebook/pages/${identifier}/posts`, { params });
5807
+ }
5808
+ /** Get post detail. Generated from the OpenAPI spec; returns the raw response object. */
5809
+ async getPostDetail(postId, params = {}) {
5810
+ return this.client.request(`/v1/facebook/posts/${postId}`, { params });
5811
+ }
5812
+ /** Get post comments. Generated from the OpenAPI spec; returns the raw response object. */
5813
+ async getPostComments(postId, params = {}) {
5814
+ return this.client.request(`/v1/facebook/posts/${postId}/comments`, { params });
5815
+ }
5816
+ /** Get profile detail. Generated from the OpenAPI spec; returns the raw response object. */
5817
+ async getProfileDetail(identifier, params = {}) {
5818
+ return this.client.request(`/v1/facebook/profiles/${identifier}`, { params });
5819
+ }
5820
+ /** Get profile posts. Generated from the OpenAPI spec; returns the raw response object. */
5821
+ async getProfilePosts(identifier, params = {}) {
5822
+ return this.client.request(`/v1/facebook/profiles/${identifier}/posts`, { params });
5823
+ }
5824
+ /** Search everything. Generated from the OpenAPI spec; returns the raw response object. */
5825
+ async searchEverything(params = {}) {
5826
+ return this.client.request("/v1/facebook/search", { params });
5827
+ }
5828
+ /** Search events. Generated from the OpenAPI spec; returns the raw response object. */
5829
+ async searchEvents(params = {}) {
5830
+ return this.client.request("/v1/facebook/search/events", { params });
5831
+ }
5832
+ /** Search groups. Generated from the OpenAPI spec; returns the raw response object. */
5833
+ async searchGroups(params = {}) {
5834
+ return this.client.request("/v1/facebook/search/groups", { params });
5835
+ }
5836
+ /** Search Pages. Generated from the OpenAPI spec; returns the raw response object. */
5837
+ async searchPages(params = {}) {
5838
+ return this.client.request("/v1/facebook/search/pages", { params });
5839
+ }
5840
+ /** Search people. Generated from the OpenAPI spec; returns the raw response object. */
5841
+ async searchPeople(params = {}) {
5842
+ return this.client.request("/v1/facebook/search/people", { params });
5843
+ }
5844
+ /** Search places. Generated from the OpenAPI spec; returns the raw response object. */
5845
+ async searchPlaces(params = {}) {
5846
+ return this.client.request("/v1/facebook/search/places", { params });
5847
+ }
5848
+ /** Search posts. Generated from the OpenAPI spec; returns the raw response object. */
5849
+ async searchPosts(params = {}) {
5850
+ return this.client.request("/v1/facebook/search/posts", { params });
5851
+ }
5852
+ };
5853
+
5702
5854
  // src/walmart/search.ts
5703
5855
  var SearchClient9 = class {
5704
5856
  constructor(client) {
@@ -5805,10 +5957,9 @@ var ProductsClient4 = class {
5805
5957
  * @remarks 10 reviews per page — Walmart's page size, not adjustable.
5806
5958
  */
5807
5959
  async reviews(itemId, params = {}) {
5808
- return this.client.request(
5809
- `/v1/walmart/products/${itemId}/reviews`,
5810
- { params: { page: params.page, sort: params.sort } }
5811
- );
5960
+ return this.client.request(`/v1/walmart/products/${itemId}/reviews`, {
5961
+ params: { page: params.page, sort: params.sort }
5962
+ });
5812
5963
  }
5813
5964
  };
5814
5965
 
@@ -5842,10 +5993,9 @@ var SellersClient3 = class {
5842
5993
  * @param params - Optional page (1-10) and sort.
5843
5994
  */
5844
5995
  async products(sellerId, query, params = {}) {
5845
- return this.client.request(
5846
- `/v1/walmart/sellers/${sellerId}/products`,
5847
- { params: { query, page: params.page, sort: params.sort } }
5848
- );
5996
+ return this.client.request(`/v1/walmart/sellers/${sellerId}/products`, {
5997
+ params: { query, page: params.page, sort: params.sort }
5998
+ });
5849
5999
  }
5850
6000
  };
5851
6001
 
@@ -6601,10 +6751,9 @@ var VideosClient3 = class {
6601
6751
  * @returns Related results with a continuation token.
6602
6752
  */
6603
6753
  async related(videoId, options = {}) {
6604
- return this.client.request(
6605
- `/v1/youtube/videos/${videoId}/related`,
6606
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6607
- );
6754
+ return this.client.request(`/v1/youtube/videos/${videoId}/related`, {
6755
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
6756
+ });
6608
6757
  }
6609
6758
  /**
6610
6759
  * Get a page of top-level comments for a video.
@@ -6614,17 +6763,14 @@ var VideosClient3 = class {
6614
6763
  * @returns A page of comments with sorting tokens and a continuation token.
6615
6764
  */
6616
6765
  async comments(videoId, options = {}) {
6617
- return this.client.request(
6618
- `/v1/youtube/videos/${videoId}/comments`,
6619
- {
6620
- params: {
6621
- sort_by: options.sort_by,
6622
- continuation: options.continuation,
6623
- gl: options.gl,
6624
- hl: options.hl
6625
- }
6766
+ return this.client.request(`/v1/youtube/videos/${videoId}/comments`, {
6767
+ params: {
6768
+ sort_by: options.sort_by,
6769
+ continuation: options.continuation,
6770
+ gl: options.gl,
6771
+ hl: options.hl
6626
6772
  }
6627
- );
6773
+ });
6628
6774
  }
6629
6775
  /**
6630
6776
  * Get a page of replies to a single comment.
@@ -6648,10 +6794,9 @@ var VideosClient3 = class {
6648
6794
  * @returns The transcript with timed segments and full text.
6649
6795
  */
6650
6796
  async transcript(videoId, options = {}) {
6651
- return this.client.request(
6652
- `/v1/youtube/videos/${videoId}/transcript`,
6653
- { params: { language: options.language, gl: options.gl, hl: options.hl } }
6654
- );
6797
+ return this.client.request(`/v1/youtube/videos/${videoId}/transcript`, {
6798
+ params: { language: options.language, gl: options.gl, hl: options.hl }
6799
+ });
6655
6800
  }
6656
6801
  /**
6657
6802
  * List a video's available caption tracks.
@@ -6661,10 +6806,9 @@ var VideosClient3 = class {
6661
6806
  * @returns The available caption tracks and translation languages.
6662
6807
  */
6663
6808
  async captions(videoId, options = {}) {
6664
- return this.client.request(
6665
- `/v1/youtube/videos/${videoId}/captions`,
6666
- { params: { gl: options.gl, hl: options.hl } }
6667
- );
6809
+ return this.client.request(`/v1/youtube/videos/${videoId}/captions`, {
6810
+ params: { gl: options.gl, hl: options.hl }
6811
+ });
6668
6812
  }
6669
6813
  /**
6670
6814
  * Get a video's stream / format metadata (best-effort; URLs may be PO-token gated).
@@ -6674,10 +6818,9 @@ var VideosClient3 = class {
6674
6818
  * @returns Streaming metadata with muxed and adaptive formats.
6675
6819
  */
6676
6820
  async streams(videoId, options = {}) {
6677
- return this.client.request(
6678
- `/v1/youtube/videos/${videoId}/streams`,
6679
- { params: { gl: options.gl, client: options.client } }
6680
- );
6821
+ return this.client.request(`/v1/youtube/videos/${videoId}/streams`, {
6822
+ params: { gl: options.gl, client: options.client }
6823
+ });
6681
6824
  }
6682
6825
  /**
6683
6826
  * Get a page of live-chat (or chat-replay) messages for a video.
@@ -6687,17 +6830,14 @@ var VideosClient3 = class {
6687
6830
  * @returns A page of live-chat messages with a continuation token.
6688
6831
  */
6689
6832
  async liveChat(videoId, options = {}) {
6690
- return this.client.request(
6691
- `/v1/youtube/videos/${videoId}/live_chat`,
6692
- {
6693
- params: {
6694
- continuation: options.continuation,
6695
- replay: options.replay,
6696
- gl: options.gl,
6697
- hl: options.hl
6698
- }
6833
+ return this.client.request(`/v1/youtube/videos/${videoId}/live_chat`, {
6834
+ params: {
6835
+ continuation: options.continuation,
6836
+ replay: options.replay,
6837
+ gl: options.gl,
6838
+ hl: options.hl
6699
6839
  }
6700
- );
6840
+ });
6701
6841
  }
6702
6842
  /**
6703
6843
  * Fetch detail for up to 50 videos concurrently.
@@ -6744,10 +6884,9 @@ var ChannelsClient = class {
6744
6884
  * @returns A page of video cards with a continuation token.
6745
6885
  */
6746
6886
  async videos(channelId, options = {}) {
6747
- return this.client.request(
6748
- `/v1/youtube/channels/${channelId}/videos`,
6749
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6750
- );
6887
+ return this.client.request(`/v1/youtube/channels/${channelId}/videos`, {
6888
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
6889
+ });
6751
6890
  }
6752
6891
  /**
6753
6892
  * Get a page of a channel's Shorts.
@@ -6757,10 +6896,9 @@ var ChannelsClient = class {
6757
6896
  * @returns A page of Shorts cards with a continuation token.
6758
6897
  */
6759
6898
  async shorts(channelId, options = {}) {
6760
- return this.client.request(
6761
- `/v1/youtube/channels/${channelId}/shorts`,
6762
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6763
- );
6899
+ return this.client.request(`/v1/youtube/channels/${channelId}/shorts`, {
6900
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
6901
+ });
6764
6902
  }
6765
6903
  /**
6766
6904
  * Get a page of a channel's live streams.
@@ -6770,10 +6908,9 @@ var ChannelsClient = class {
6770
6908
  * @returns A page of stream cards with a continuation token.
6771
6909
  */
6772
6910
  async streams(channelId, options = {}) {
6773
- return this.client.request(
6774
- `/v1/youtube/channels/${channelId}/streams`,
6775
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6776
- );
6911
+ return this.client.request(`/v1/youtube/channels/${channelId}/streams`, {
6912
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
6913
+ });
6777
6914
  }
6778
6915
  /**
6779
6916
  * Get a page of a channel's playlists.
@@ -6783,10 +6920,9 @@ var ChannelsClient = class {
6783
6920
  * @returns A page of playlist cards with a continuation token.
6784
6921
  */
6785
6922
  async playlists(channelId, options = {}) {
6786
- return this.client.request(
6787
- `/v1/youtube/channels/${channelId}/playlists`,
6788
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6789
- );
6923
+ return this.client.request(`/v1/youtube/channels/${channelId}/playlists`, {
6924
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
6925
+ });
6790
6926
  }
6791
6927
  /**
6792
6928
  * Get a page of a channel's community posts.
@@ -6796,10 +6932,9 @@ var ChannelsClient = class {
6796
6932
  * @returns A page of community posts with a continuation token.
6797
6933
  */
6798
6934
  async community(channelId, options = {}) {
6799
- return this.client.request(
6800
- `/v1/youtube/channels/${channelId}/community`,
6801
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6802
- );
6935
+ return this.client.request(`/v1/youtube/channels/${channelId}/community`, {
6936
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
6937
+ });
6803
6938
  }
6804
6939
  /**
6805
6940
  * Get a channel's lightweight about payload.
@@ -6809,10 +6944,9 @@ var ChannelsClient = class {
6809
6944
  * @returns The channel about payload.
6810
6945
  */
6811
6946
  async about(channelId, options = {}) {
6812
- return this.client.request(
6813
- `/v1/youtube/channels/${channelId}/about`,
6814
- { params: { gl: options.gl, hl: options.hl } }
6815
- );
6947
+ return this.client.request(`/v1/youtube/channels/${channelId}/about`, {
6948
+ params: { gl: options.gl, hl: options.hl }
6949
+ });
6816
6950
  }
6817
6951
  /**
6818
6952
  * Get a channel's subscriber count (fast).
@@ -6835,17 +6969,14 @@ var ChannelsClient = class {
6835
6969
  * @returns A page of search results scoped to the channel.
6836
6970
  */
6837
6971
  async search(channelId, options) {
6838
- return this.client.request(
6839
- `/v1/youtube/channels/${channelId}/search`,
6840
- {
6841
- params: {
6842
- query: options.query,
6843
- continuation: options.continuation,
6844
- gl: options.gl,
6845
- hl: options.hl
6846
- }
6972
+ return this.client.request(`/v1/youtube/channels/${channelId}/search`, {
6973
+ params: {
6974
+ query: options.query,
6975
+ continuation: options.continuation,
6976
+ gl: options.gl,
6977
+ hl: options.hl
6847
6978
  }
6848
- );
6979
+ });
6849
6980
  }
6850
6981
  /**
6851
6982
  * Resolve a @handle or URL to canonical YouTube ids.
@@ -6887,10 +7018,9 @@ var PlaylistsClient = class {
6887
7018
  * @returns A page of playlist items with a continuation token.
6888
7019
  */
6889
7020
  async items(playlistId, options = {}) {
6890
- return this.client.request(
6891
- `/v1/youtube/playlists/${playlistId}/items`,
6892
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6893
- );
7021
+ return this.client.request(`/v1/youtube/playlists/${playlistId}/items`, {
7022
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
7023
+ });
6894
7024
  }
6895
7025
  /**
6896
7026
  * Resolve an auto-generated mix / radio (RD…) queue.
@@ -6933,10 +7063,9 @@ var CommunityClient = class {
6933
7063
  * @returns A page of comments with a continuation token.
6934
7064
  */
6935
7065
  async comments(postId, options = {}) {
6936
- return this.client.request(
6937
- `/v1/youtube/posts/${postId}/comments`,
6938
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6939
- );
7066
+ return this.client.request(`/v1/youtube/posts/${postId}/comments`, {
7067
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
7068
+ });
6940
7069
  }
6941
7070
  };
6942
7071
 
@@ -6967,10 +7096,9 @@ var ShortsClient2 = class {
6967
7096
  * @returns A page of Shorts cards with a continuation token.
6968
7097
  */
6969
7098
  async bySound(soundId, options = {}) {
6970
- return this.client.request(
6971
- `/v1/youtube/shorts/by_sound/${soundId}`,
6972
- { params: { continuation: options.continuation, gl: options.gl, hl: options.hl } }
6973
- );
7099
+ return this.client.request(`/v1/youtube/shorts/by_sound/${soundId}`, {
7100
+ params: { continuation: options.continuation, gl: options.gl, hl: options.hl }
7101
+ });
6974
7102
  }
6975
7103
  };
6976
7104
 
@@ -7309,10 +7437,9 @@ var AdsClient2 = class {
7309
7437
  * @returns Similar-ads response.
7310
7438
  */
7311
7439
  async similar(listId, options = {}) {
7312
- return this.client.request(
7313
- `/v1/leboncoin/ads/${listId}/similar`,
7314
- { params: { limit: options.limit } }
7315
- );
7440
+ return this.client.request(`/v1/leboncoin/ads/${listId}/similar`, {
7441
+ params: { limit: options.limit }
7442
+ });
7316
7443
  }
7317
7444
  };
7318
7445
 
@@ -7330,9 +7457,7 @@ var SellersClient4 = class {
7330
7457
  * @throws NotFoundError - If the seller doesn't exist.
7331
7458
  */
7332
7459
  async get(userId) {
7333
- return this.client.request(
7334
- `/v1/leboncoin/sellers/${userId}`
7335
- );
7460
+ return this.client.request(`/v1/leboncoin/sellers/${userId}`);
7336
7461
  }
7337
7462
  /**
7338
7463
  * List a Leboncoin seller's active ads.
@@ -7342,10 +7467,9 @@ var SellersClient4 = class {
7342
7467
  * @returns Seller listings response with ads and pagination.
7343
7468
  */
7344
7469
  async listings(userId, options = {}) {
7345
- return this.client.request(
7346
- `/v1/leboncoin/sellers/${userId}/listings`,
7347
- { params: { page: options.page, limit: options.limit } }
7348
- );
7470
+ return this.client.request(`/v1/leboncoin/sellers/${userId}/listings`, {
7471
+ params: { page: options.page, limit: options.limit }
7472
+ });
7349
7473
  }
7350
7474
  };
7351
7475
 
@@ -7378,10 +7502,9 @@ var ReferenceClient13 = class {
7378
7502
  * @returns Departments response.
7379
7503
  */
7380
7504
  async departments(options = {}) {
7381
- return this.client.request(
7382
- "/v1/leboncoin/departments",
7383
- { params: { region_id: options.region_id } }
7384
- );
7505
+ return this.client.request("/v1/leboncoin/departments", {
7506
+ params: { region_id: options.region_id }
7507
+ });
7385
7508
  }
7386
7509
  /**
7387
7510
  * Resolve a place name to Leboncoin location ids (for building filters).
@@ -7390,10 +7513,9 @@ var ReferenceClient13 = class {
7390
7513
  * @returns Location search response with suggestions.
7391
7514
  */
7392
7515
  async locations(query) {
7393
- return this.client.request(
7394
- "/v1/leboncoin/locations/search",
7395
- { params: { q: query } }
7396
- );
7516
+ return this.client.request("/v1/leboncoin/locations/search", {
7517
+ params: { q: query }
7518
+ });
7397
7519
  }
7398
7520
  /**
7399
7521
  * List the supported Leboncoin markets (France is the single market).
@@ -7550,6 +7672,7 @@ var ReferenceClient14 = class {
7550
7672
 
7551
7673
  // src/zillow/client.ts
7552
7674
  var ZillowClient = class {
7675
+ _gen;
7553
7676
  /** Client for property search and location autocomplete */
7554
7677
  search;
7555
7678
  /** Client for full property detail */
@@ -7564,11 +7687,17 @@ var ZillowClient = class {
7564
7687
  * @param client - The base HTTP client for making requests.
7565
7688
  */
7566
7689
  constructor(client) {
7690
+ this._gen = client;
7567
7691
  this.search = new SearchClient17(client);
7568
7692
  this.properties = new PropertiesClient2(client);
7569
7693
  this.agent = new AgentClient(client);
7570
7694
  this.reference = new ReferenceClient14(client);
7571
7695
  }
7696
+ // --- generated by sdk/codegen/facade — do not edit ---
7697
+ /** Get property detail by URL. Generated from the OpenAPI spec; returns the raw response object. */
7698
+ async getPropertyDetailByUrl(params = {}) {
7699
+ return this._gen.request("/v1/zillow/property", { params });
7700
+ }
7572
7701
  };
7573
7702
 
7574
7703
  // src/immobiliare/client.ts
@@ -7833,10 +7962,36 @@ var LoopNetClient = class {
7833
7962
  }
7834
7963
  };
7835
7964
 
7965
+ // src/perplexity/client.ts
7966
+ var PerplexityClient = class {
7967
+ client;
7968
+ constructor(client) {
7969
+ this.client = client;
7970
+ }
7971
+ /** Ask Perplexity a question. Generated from the OpenAPI spec; returns the raw response object. */
7972
+ async askPerplexityAQuestion(params = {}) {
7973
+ return this.client.request("/v1/perplexity/ask", { params });
7974
+ }
7975
+ /** Ask Perplexity a question (POST). Generated from the OpenAPI spec; returns the raw response object. */
7976
+ async askPerplexityAQuestionPost(body, params = {}) {
7977
+ return this.client.request("/v1/perplexity/ask", { method: "POST", params, body });
7978
+ }
7979
+ /** Measure a brand's visibility in a Perplexity answer. Generated from the OpenAPI spec; returns the raw response object. */
7980
+ async measureABrandSVisibilityInAPerplexityAnswer(params = {}) {
7981
+ return this.client.request("/v1/perplexity/brand-visibility", { params });
7982
+ }
7983
+ /** Measure a brand's visibility in a Perplexity answer (POST). Generated from the OpenAPI spec; returns the raw response object. */
7984
+ async measureABrandSVisibilityInAPerplexityAnswerPost(body, params = {}) {
7985
+ return this.client.request("/v1/perplexity/brand-visibility", { method: "POST", params, body });
7986
+ }
7987
+ };
7988
+
7836
7989
  // src/depop/client.ts
7837
7990
  var DepopClient = class {
7991
+ _gen;
7838
7992
  client;
7839
7993
  constructor(client) {
7994
+ this._gen = client;
7840
7995
  this.client = client;
7841
7996
  }
7842
7997
  /**
@@ -7928,6 +8083,11 @@ var DepopClient = class {
7928
8083
  async listMarkets() {
7929
8084
  return this.client.request("/v1/depop/markets");
7930
8085
  }
8086
+ // --- generated by sdk/codegen/facade — do not edit ---
8087
+ /** Get product detail. Generated from the OpenAPI spec; returns the raw response object. */
8088
+ async getProductDetail(productId, params = {}) {
8089
+ return this._gen.request(`/v1/depop/products/${productId}`, { params });
8090
+ }
7931
8091
  };
7932
8092
 
7933
8093
  // src/linkedin/client.ts
@@ -8222,6 +8382,7 @@ var ReferenceClient16 = class {
8222
8382
 
8223
8383
  // src/chatgpt/client.ts
8224
8384
  var ChatGPTClient = class {
8385
+ _gen;
8225
8386
  /** Client for asking ChatGPT a question */
8226
8387
  ask;
8227
8388
  /** Client for AEO/GEO brand-visibility analysis */
@@ -8234,10 +8395,137 @@ var ChatGPTClient = class {
8234
8395
  * @param client - The base HTTP client for making requests.
8235
8396
  */
8236
8397
  constructor(client) {
8398
+ this._gen = client;
8237
8399
  this.ask = new AskClient(client);
8238
8400
  this.brand = new BrandClient(client);
8239
8401
  this.reference = new ReferenceClient16(client);
8240
8402
  }
8403
+ // --- generated by sdk/codegen/facade — do not edit ---
8404
+ /** Ask ChatGPT a question (POST). Generated from the OpenAPI spec; returns the raw response object. */
8405
+ async askChatgptAQuestionPost(body, params = {}) {
8406
+ return this._gen.request("/v1/chatgpt/ask", { method: "POST", params, body });
8407
+ }
8408
+ /** Measure a brand's visibility in a ChatGPT answer (POST). Generated from the OpenAPI spec; returns the raw response object. */
8409
+ async measureABrandSVisibilityInAChatgptAnswerPost(body, params = {}) {
8410
+ return this._gen.request("/v1/chatgpt/brand-visibility", { method: "POST", params, body });
8411
+ }
8412
+ };
8413
+
8414
+ // src/gemini/ask.ts
8415
+ var AskClient2 = class {
8416
+ client;
8417
+ constructor(client) {
8418
+ this.client = client;
8419
+ }
8420
+ /**
8421
+ * Ask Gemini a question and get the answer with its sources.
8422
+ *
8423
+ * @param params - Ask parameters.
8424
+ * @param params.prompt - The prompt to send (max 4096 characters).
8425
+ * @param params.country - ISO-3166 alpha-2 egress country (default: "US").
8426
+ * @param params.web_search - "auto", "force", or "off" (default: "auto").
8427
+ * @returns The answer, its citations, and the full retrieved search set.
8428
+ *
8429
+ * @example
8430
+ * ```typescript
8431
+ * const result = await client.gemini.ask.ask({
8432
+ * prompt: "what is the best CRM for a 10-person startup?",
8433
+ * country: "GB",
8434
+ * web_search: "force",
8435
+ * });
8436
+ * console.log(result.web_search_triggered, result.model);
8437
+ * for (const source of result.search_results) {
8438
+ * console.log(`${source.cited ? "*" : " "} ${source.url}`);
8439
+ * }
8440
+ * ```
8441
+ */
8442
+ async ask(params) {
8443
+ return this.client.request("/v1/gemini/ask", {
8444
+ params: {
8445
+ prompt: params.prompt,
8446
+ country: params.country,
8447
+ web_search: params.web_search
8448
+ }
8449
+ });
8450
+ }
8451
+ };
8452
+
8453
+ // src/gemini/brand.ts
8454
+ var BrandClient2 = class {
8455
+ client;
8456
+ constructor(client) {
8457
+ this.client = client;
8458
+ }
8459
+ /**
8460
+ * Analyse how a brand shows up in Gemini's answer to a prompt.
8461
+ *
8462
+ * @param params - Brand-visibility parameters.
8463
+ * @param params.prompt - The prompt to send (max 4096 characters).
8464
+ * @param params.brand - The brand name to look for in the answer.
8465
+ * @param params.domain - The brand's domain, used to detect brand citations.
8466
+ * @param params.aliases - Other spellings that should count as mentions.
8467
+ * @param params.competitors - Competitors to measure share of voice against.
8468
+ * @param params.country - ISO-3166 alpha-2 egress country (default: "US").
8469
+ * @param params.web_search - "auto", "force", or "off" (default: "force").
8470
+ * @returns The brand analysis plus the answer and its citations.
8471
+ *
8472
+ * @example
8473
+ * ```typescript
8474
+ * const result = await client.gemini.brand.visibility({
8475
+ * prompt: "which proxy provider should I use?",
8476
+ * brand: "ScrapeBadger",
8477
+ * domain: "scrapebadger.com",
8478
+ * aliases: ["Scrape Badger"],
8479
+ * competitors: ["Bright Data", "Oxylabs"],
8480
+ * country: "DE",
8481
+ * });
8482
+ * console.log(`position score: ${result.position_score}`);
8483
+ * for (const competitor of result.competitors) {
8484
+ * console.log(`${competitor.name}: ${competitor.mention_count}`);
8485
+ * }
8486
+ * ```
8487
+ */
8488
+ async visibility(params) {
8489
+ return this.client.request("/v1/gemini/brand-visibility", {
8490
+ params: {
8491
+ prompt: params.prompt,
8492
+ brand: params.brand,
8493
+ domain: params.domain,
8494
+ aliases: params.aliases?.length ? params.aliases.join(",") : void 0,
8495
+ competitors: params.competitors?.length ? params.competitors.join(",") : void 0,
8496
+ country: params.country,
8497
+ web_search: params.web_search
8498
+ }
8499
+ });
8500
+ }
8501
+ };
8502
+
8503
+ // src/gemini/client.ts
8504
+ var GeminiClient = class {
8505
+ _gen;
8506
+ /** Client for asking Gemini a question */
8507
+ ask;
8508
+ /** Client for AEO/GEO brand-visibility analysis */
8509
+ brand;
8510
+ /**
8511
+ * Create a new Gemini client.
8512
+ *
8513
+ * @param client - The base HTTP client for making requests.
8514
+ */
8515
+ constructor(client) {
8516
+ this._gen = client;
8517
+ this.ask = new AskClient2(client);
8518
+ this.brand = new BrandClient2(client);
8519
+ }
8520
+ // --- generated by sdk/codegen/facade — do not edit ---
8521
+ /** Ask Gemini a question (POST). Generated from the OpenAPI spec; returns the raw response object. */
8522
+ async askGeminiAQuestionPost(body, params = {}) {
8523
+ return this._gen.request("/v1/gemini/ask", { method: "POST", params, body });
8524
+ }
8525
+ /** Measure a brand's visibility in a Gemini answer (POST). Generated from the OpenAPI spec; returns the raw response object. */
8526
+ async measureABrandSVisibilityInAGeminiAnswerPost(body, params = {}) {
8527
+ return this._gen.request("/v1/gemini/brand-visibility", { method: "POST", params, body });
8528
+ }
8241
8529
  };
8242
8530
 
8243
8531
  // src/client.ts
@@ -8251,6 +8539,8 @@ var ScrapeBadger = class {
8251
8539
  vinted;
8252
8540
  /** Google Scraper API client — 19 Google product APIs */
8253
8541
  google;
8542
+ /** Idealista API client. (Generated from the OpenAPI spec.) */
8543
+ idealista;
8254
8544
  /** Reddit scraper API client */
8255
8545
  reddit;
8256
8546
  /** Apartments.com scraper API client — search + property with unit-level pricing (US) */
@@ -8260,6 +8550,8 @@ var ScrapeBadger = class {
8260
8550
  /** Redfin scraper API client — search, property, agent, autocomplete, markets (redfin.com, US) */
8261
8551
  redfin;
8262
8552
  /** Amazon scraper API client — 14 endpoints */
8553
+ /** Account API client. (Generated from the OpenAPI spec.) */
8554
+ account;
8263
8555
  amazon;
8264
8556
  /** Shopee scraper API client — 6 endpoints across 11 markets */
8265
8557
  shopee;
@@ -8267,6 +8559,8 @@ var ScrapeBadger = class {
8267
8559
  tiktok;
8268
8560
  /** eBay scraper API client — 12 endpoints across 18 markets */
8269
8561
  ebay;
8562
+ /** Facebook API client. (Generated from the OpenAPI spec.) */
8563
+ facebook;
8270
8564
  /** Walmart scraper API client — 11 endpoints (walmart.com, US-only) */
8271
8565
  walmart;
8272
8566
  /** DuckDuckGo scraper API client — search, images, news, videos, autocomplete, instant, regions */
@@ -8291,12 +8585,16 @@ var ScrapeBadger = class {
8291
8585
  immobiliare;
8292
8586
  /** LoopNet scraper API client — commercial real estate across US/CA/UK/FR/ES (search, listing, broker, markets, property types) */
8293
8587
  loopnet;
8588
+ /** Perplexity API client. (Generated from the OpenAPI spec.) */
8589
+ perplexity;
8294
8590
  /** Depop scraper API client — search, product, user, user products, markets (www.depop.com, 10 markets) */
8295
8591
  depop;
8296
8592
  /** LinkedIn scraper API client — 11 no-auth endpoints (jobs, company, school, profile, post, article, learning, geo) */
8297
8593
  linkedin;
8298
8594
  /** ChatGPT scraper API client — ask, brand visibility, models (the real chatgpt.com, anonymous) */
8299
8595
  chatgpt;
8596
+ /** Gemini scraper API client — ask, brand visibility (the real gemini.google.com, anonymous) */
8597
+ gemini;
8300
8598
  /**
8301
8599
  * Create a new ScrapeBadger client.
8302
8600
  *
@@ -8335,14 +8633,17 @@ var ScrapeBadger = class {
8335
8633
  this.web = new WebClient(this.baseClient);
8336
8634
  this.vinted = new VintedClient(this.baseClient);
8337
8635
  this.google = new GoogleClient(this.baseClient);
8636
+ this.idealista = new IdealistaClient(this.baseClient);
8338
8637
  this.reddit = new RedditClient(this.baseClient);
8339
8638
  this.apartments = new ApartmentsClient(this.baseClient);
8340
8639
  this.instagram = new InstagramClient(this.baseClient);
8341
8640
  this.redfin = new RedfinClient(this.baseClient);
8641
+ this.account = new AccountClient(this.baseClient);
8342
8642
  this.amazon = new AmazonClient(this.baseClient);
8343
8643
  this.shopee = new ShopeeClient(this.baseClient);
8344
8644
  this.tiktok = new TikTokClient(this.baseClient);
8345
8645
  this.ebay = new EbayClient(this.baseClient);
8646
+ this.facebook = new FacebookClient(this.baseClient);
8346
8647
  this.walmart = new WalmartClient(this.baseClient);
8347
8648
  this.duckduckgo = new DuckDuckGoClient(this.baseClient);
8348
8649
  this.bing = new BingClient(this.baseClient);
@@ -8355,12 +8656,14 @@ var ScrapeBadger = class {
8355
8656
  this.zillow = new ZillowClient(this.baseClient);
8356
8657
  this.immobiliare = new ImmobiliareClient(this.baseClient);
8357
8658
  this.loopnet = new LoopNetClient(this.baseClient);
8659
+ this.perplexity = new PerplexityClient(this.baseClient);
8358
8660
  this.depop = new DepopClient(this.baseClient);
8359
8661
  this.linkedin = new LinkedInClient(this.baseClient);
8360
8662
  this.chatgpt = new ChatGPTClient(this.baseClient);
8663
+ this.gemini = new GeminiClient(this.baseClient);
8361
8664
  }
8362
8665
  };
8363
8666
 
8364
- export { AccountRestrictedError, AmazonClient, ListingsClient as AmazonListingsClient, ProductsClient2 as AmazonProductsClient, ReferenceClient2 as AmazonReferenceClient, SearchClient5 as AmazonSearchClient, SellersClient as AmazonSellersClient, ApartmentsClient, AuthenticationError, BaiduClient, BingClient, MediaClient3 as BingMediaClient, NewsClient2 as BingNewsClient, ReferenceClient8 as BingReferenceClient, SearchClient11 as BingSearchClient, AskClient as ChatGPTAskClient, BrandClient as ChatGPTBrandClient, ChatGPTClient, ReferenceClient16 as ChatGPTReferenceClient, CommunitiesClient, ConflictError, DepopClient, DuckDuckGoClient, MediaClient2 as DuckDuckGoMediaClient, ReferenceClient7 as DuckDuckGoReferenceClient, SearchClient10 as DuckDuckGoSearchClient, CategoriesClient as EbayCategoriesClient, EbayClient, ItemsClient2 as EbayItemsClient, ReferenceClient5 as EbayReferenceClient, SearchClient8 as EbaySearchClient, SellersClient2 as EbaySellersClient, GeoClient, 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 as GoogleProductsClient, ScholarClient as GoogleScholarClient, SearchClient2 as GoogleSearchClient, ShoppingClient as GoogleShoppingClient, ShortsClient as GoogleShortsClient, TrendsClient2 as GoogleTrendsClient, VideosClient as GoogleVideosClient, ImmobiliareClient, AudioClient as InstagramAudioClient, InstagramClient, HashtagsClient as InstagramHashtagsClient, LocationsClient as InstagramLocationsClient, MediaClient as InstagramMediaClient, SearchClient4 as InstagramSearchClient, UsersClient4 as InstagramUsersClient, InsufficientCreditsError, AdsClient2 as LeboncoinAdsClient, LeboncoinClient, ReferenceClient13 as LeboncoinReferenceClient, SearchClient16 as LeboncoinSearchClient, SellersClient4 as LeboncoinSellersClient, LinkedInClient, ListsClient, BrokersClient as LoopNetBrokersClient, LoopNetClient, ListingsClient2 as LoopNetListingsClient, ReferenceClient15 as LoopNetReferenceClient, SearchClient18 as LoopNetSearchClient, NotFoundError, RateLimitError, RealtorClient, PropertiesClient as RealtorPropertiesClient, ReferenceClient12 as RealtorReferenceClient, SearchClient15 as RealtorSearchClient, RedditClient, PostsClient as RedditPostsClient, SearchClient3 as RedditSearchClient, SubredditsClient as RedditSubredditsClient, UsersClient3 as RedditUsersClient, RedfinClient, ScrapeBadger, ScrapeBadgerError, ServerError, ShopeeClient, ProductsClient3 as ShopeeProductsClient, ReferenceClient3 as ShopeeReferenceClient, ReviewsClient as ShopeeReviewsClient, SearchClient6 as ShopeeSearchClient, SpacesClient, StreamClient, AdsClient as TikTokAdsClient, TikTokClient, HashtagsClient2 as TikTokHashtagsClient, MusicClient as TikTokMusicClient, ReferenceClient4 as TikTokReferenceClient, SearchClient7 as TikTokSearchClient, TrendingClient as TikTokTrendingClient, UsersClient5 as TikTokUsersClient, VideosClient2 as TikTokVideosClient, TimeoutError, TrendsClient, TweetsClient, TwitterClient, UsersClient, ValidationError, VintedClient, ItemsClient as VintedItemsClient, ReferenceClient as VintedReferenceClient, SearchClient as VintedSearchClient, UsersClient2 as VintedUsersClient, WalmartClient, ProductsClient4 as WalmartProductsClient, ReferenceClient6 as WalmartReferenceClient, SearchClient9 as WalmartSearchClient, SellersClient3 as WalmartSellersClient, StoresClient as WalmartStoresClient, WebClient, WebSocketStreamError, YahooClient, MediaClient4 as YahooMediaClient, NewsClient3 as YahooNewsClient, ReferenceClient9 as YahooReferenceClient, SearchClient12 as YahooSearchClient, YandexClient, ImagesClient2 as YandexImagesClient, ReferenceClient10 as YandexReferenceClient, SearchClient13 as YandexSearchClient, ChannelsClient as YoutubeChannelsClient, YoutubeClient, CommunityClient as YoutubeCommunityClient, MusicClient2 as YoutubeMusicClient, PlaylistsClient as YoutubePlaylistsClient, ReferenceClient11 as YoutubeReferenceClient, SearchClient14 as YoutubeSearchClient, ShortsClient2 as YoutubeShortsClient, TrendingClient2 as YoutubeTrendingClient, VideosClient3 as YoutubeVideosClient, AgentClient as ZillowAgentClient, ZillowClient, PropertiesClient2 as ZillowPropertiesClient, ReferenceClient14 as ZillowReferenceClient, SearchClient17 as ZillowSearchClient, collectAll, verifyWebhookSignature };
8667
+ export { AccountRestrictedError, AmazonClient, ListingsClient as AmazonListingsClient, ProductsClient2 as AmazonProductsClient, ReferenceClient2 as AmazonReferenceClient, SearchClient5 as AmazonSearchClient, SellersClient as AmazonSellersClient, ApartmentsClient, AuthenticationError, BaiduClient, BingClient, MediaClient3 as BingMediaClient, NewsClient2 as BingNewsClient, ReferenceClient8 as BingReferenceClient, SearchClient11 as BingSearchClient, AskClient as ChatGPTAskClient, BrandClient as ChatGPTBrandClient, ChatGPTClient, ReferenceClient16 as ChatGPTReferenceClient, CommunitiesClient, ConflictError, DepopClient, DuckDuckGoClient, MediaClient2 as DuckDuckGoMediaClient, ReferenceClient7 as DuckDuckGoReferenceClient, SearchClient10 as DuckDuckGoSearchClient, CategoriesClient as EbayCategoriesClient, EbayClient, ItemsClient2 as EbayItemsClient, ReferenceClient5 as EbayReferenceClient, SearchClient8 as EbaySearchClient, SellersClient2 as EbaySellersClient, AskClient2 as GeminiAskClient, BrandClient2 as GeminiBrandClient, GeminiClient, GeoClient, 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 as GoogleProductsClient, ScholarClient as GoogleScholarClient, SearchClient2 as GoogleSearchClient, ShoppingClient as GoogleShoppingClient, ShortsClient as GoogleShortsClient, TrendsClient2 as GoogleTrendsClient, VideosClient as GoogleVideosClient, ImmobiliareClient, AudioClient as InstagramAudioClient, InstagramClient, HashtagsClient as InstagramHashtagsClient, LocationsClient as InstagramLocationsClient, MediaClient as InstagramMediaClient, SearchClient4 as InstagramSearchClient, UsersClient4 as InstagramUsersClient, InsufficientCreditsError, AdsClient2 as LeboncoinAdsClient, LeboncoinClient, ReferenceClient13 as LeboncoinReferenceClient, SearchClient16 as LeboncoinSearchClient, SellersClient4 as LeboncoinSellersClient, LinkedInClient, ListsClient, BrokersClient as LoopNetBrokersClient, LoopNetClient, ListingsClient2 as LoopNetListingsClient, ReferenceClient15 as LoopNetReferenceClient, SearchClient18 as LoopNetSearchClient, NotFoundError, RateLimitError, RealtorClient, PropertiesClient as RealtorPropertiesClient, ReferenceClient12 as RealtorReferenceClient, SearchClient15 as RealtorSearchClient, RedditClient, PostsClient as RedditPostsClient, SearchClient3 as RedditSearchClient, SubredditsClient as RedditSubredditsClient, UsersClient3 as RedditUsersClient, RedfinClient, ScrapeBadger, ScrapeBadgerError, ServerError, ShopeeClient, ProductsClient3 as ShopeeProductsClient, ReferenceClient3 as ShopeeReferenceClient, ReviewsClient as ShopeeReviewsClient, SearchClient6 as ShopeeSearchClient, SpacesClient, StreamClient, AdsClient as TikTokAdsClient, TikTokClient, HashtagsClient2 as TikTokHashtagsClient, MusicClient as TikTokMusicClient, ReferenceClient4 as TikTokReferenceClient, SearchClient7 as TikTokSearchClient, TrendingClient as TikTokTrendingClient, UsersClient5 as TikTokUsersClient, VideosClient2 as TikTokVideosClient, TimeoutError, TrendsClient, TweetsClient, TwitterClient, UsersClient, ValidationError, VintedClient, ItemsClient as VintedItemsClient, ReferenceClient as VintedReferenceClient, SearchClient as VintedSearchClient, UsersClient2 as VintedUsersClient, WalmartClient, ProductsClient4 as WalmartProductsClient, ReferenceClient6 as WalmartReferenceClient, SearchClient9 as WalmartSearchClient, SellersClient3 as WalmartSellersClient, StoresClient as WalmartStoresClient, WebClient, WebSocketStreamError, YahooClient, MediaClient4 as YahooMediaClient, NewsClient3 as YahooNewsClient, ReferenceClient9 as YahooReferenceClient, SearchClient12 as YahooSearchClient, YandexClient, ImagesClient2 as YandexImagesClient, ReferenceClient10 as YandexReferenceClient, SearchClient13 as YandexSearchClient, ChannelsClient as YoutubeChannelsClient, YoutubeClient, CommunityClient as YoutubeCommunityClient, MusicClient2 as YoutubeMusicClient, PlaylistsClient as YoutubePlaylistsClient, ReferenceClient11 as YoutubeReferenceClient, SearchClient14 as YoutubeSearchClient, ShortsClient2 as YoutubeShortsClient, TrendingClient2 as YoutubeTrendingClient, VideosClient3 as YoutubeVideosClient, AgentClient as ZillowAgentClient, ZillowClient, PropertiesClient2 as ZillowPropertiesClient, ReferenceClient14 as ZillowReferenceClient, SearchClient17 as ZillowSearchClient, collectAll, verifyWebhookSignature };
8365
8668
  //# sourceMappingURL=index.mjs.map
8366
8669
  //# sourceMappingURL=index.mjs.map