scrapebadger 0.36.0 → 0.37.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.36.0";
6
+ var SDK_VERSION = "0.37.0";
7
7
 
8
8
  // src/internal/exceptions.ts
9
9
  var ScrapeBadgerError = class _ScrapeBadgerError extends Error {
@@ -2472,7 +2472,7 @@ var TwitterClient = class {
2472
2472
  this.stream = new StreamClient(client);
2473
2473
  this.spaces = new SpacesClient(client);
2474
2474
  }
2475
- // --- generated by sdk/codegen/facade — do not edit ---
2475
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
2476
2476
  /** Delete filter rule. Generated from the OpenAPI spec; returns the raw response object. */
2477
2477
  async deleteFilterRule(ruleId, body, params = {}) {
2478
2478
  return this._gen.request(`/v1/twitter/stream/filter-rules/${ruleId}`, {
@@ -2525,6 +2525,7 @@ var TwitterClient = class {
2525
2525
  body
2526
2526
  });
2527
2527
  }
2528
+ // --- END generated by sdk/codegen/facade ---
2528
2529
  };
2529
2530
 
2530
2531
  // src/web/client.ts
@@ -2648,7 +2649,7 @@ var WebClient = class {
2648
2649
  body
2649
2650
  });
2650
2651
  }
2651
- // --- generated by sdk/codegen/facade — do not edit ---
2652
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
2652
2653
  /** Submit batch scraping job. Generated from the OpenAPI spec; returns the raw response object. */
2653
2654
  async submitBatchScrapingJob(body, params = {}) {
2654
2655
  return this._gen.request("/v1/web/batch", { method: "POST", params, body });
@@ -2669,6 +2670,7 @@ var WebClient = class {
2669
2670
  async pollAnAutoUnblockDiscoveryJob(jobId, params = {}) {
2670
2671
  return this._gen.request(`/v1/web/unblock/${jobId}`, { params });
2671
2672
  }
2673
+ // --- END generated by sdk/codegen/facade ---
2672
2674
  };
2673
2675
 
2674
2676
  // src/vinted/search.ts
@@ -3479,7 +3481,7 @@ var GoogleClient = class {
3479
3481
  this.flights = new FlightsClient(client);
3480
3482
  this.products = new ProductsClient(client);
3481
3483
  }
3482
- // --- generated by sdk/codegen/facade — do not edit ---
3484
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
3483
3485
  /** Google AI Overview (inline SERP block). Generated from the OpenAPI spec; returns the raw response object. */
3484
3486
  async googleAiOverviewInlineSerpBlock(params = {}) {
3485
3487
  return this._gen.request("/v1/google/ai-overview", { params });
@@ -3488,6 +3490,55 @@ var GoogleClient = class {
3488
3490
  async googleFlightsCalendarCheapestFarePerDate(params = {}) {
3489
3491
  return this._gen.request("/v1/google/flights/calendar", { params });
3490
3492
  }
3493
+ // --- END generated by sdk/codegen/facade ---
3494
+ };
3495
+
3496
+ // src/google_play/client.ts
3497
+ var GooglePlayClient = class {
3498
+ client;
3499
+ constructor(client) {
3500
+ this.client = client;
3501
+ }
3502
+ /** Get app detail. Generated from the OpenAPI spec; returns the raw response object. */
3503
+ async getAppDetail(appId, params = {}) {
3504
+ return this.client.request(`/v1/google-play/apps/${appId}`, { params });
3505
+ }
3506
+ /** Get app permissions. Generated from the OpenAPI spec; returns the raw response object. */
3507
+ async getAppPermissions(appId, params = {}) {
3508
+ return this.client.request(`/v1/google-play/apps/${appId}/permissions`, { params });
3509
+ }
3510
+ /** Get app reviews. Generated from the OpenAPI spec; returns the raw response object. */
3511
+ async getAppReviews(appId, params = {}) {
3512
+ return this.client.request(`/v1/google-play/apps/${appId}/reviews`, { params });
3513
+ }
3514
+ /** Get similar apps. Generated from the OpenAPI spec; returns the raw response object. */
3515
+ async getSimilarApps(appId, params = {}) {
3516
+ return this.client.request(`/v1/google-play/apps/${appId}/similar`, { params });
3517
+ }
3518
+ /** List categories. Generated from the OpenAPI spec; returns the raw response object. */
3519
+ async listCategories(params = {}) {
3520
+ return this.client.request("/v1/google-play/categories", { params });
3521
+ }
3522
+ /** Browse a category. Generated from the OpenAPI spec; returns the raw response object. */
3523
+ async browseACategory(categoryId, params = {}) {
3524
+ return this.client.request(`/v1/google-play/categories/${categoryId}`, { params });
3525
+ }
3526
+ /** Top charts. Generated from the OpenAPI spec; returns the raw response object. */
3527
+ async topCharts(collection, params = {}) {
3528
+ return this.client.request(`/v1/google-play/collections/${collection}`, { params });
3529
+ }
3530
+ /** Get developer apps. Generated from the OpenAPI spec; returns the raw response object. */
3531
+ async getDeveloperApps(developer, params = {}) {
3532
+ return this.client.request(`/v1/google-play/developers/${developer}`, { params });
3533
+ }
3534
+ /** List markets. Generated from the OpenAPI spec; returns the raw response object. */
3535
+ async listMarkets(params = {}) {
3536
+ return this.client.request("/v1/google-play/markets", { params });
3537
+ }
3538
+ /** Search apps. Generated from the OpenAPI spec; returns the raw response object. */
3539
+ async searchApps(params = {}) {
3540
+ return this.client.request("/v1/google-play/search", { params });
3541
+ }
3491
3542
  };
3492
3543
 
3493
3544
  // src/idealista/client.ts
@@ -4182,11 +4233,48 @@ var ApartmentsClient = class {
4182
4233
  }
4183
4234
  throw new Error("Provide either url, or both slug and propertyId");
4184
4235
  }
4185
- // --- generated by sdk/codegen/facade — do not edit ---
4236
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
4186
4237
  /** Get property detail by slug + id. Generated from the OpenAPI spec; returns the raw response object. */
4187
4238
  async getPropertyDetailBySlugId(slug, propertyId, params = {}) {
4188
4239
  return this.client.request(`/v1/apartments/properties/${slug}/${propertyId}`, { params });
4189
4240
  }
4241
+ // --- END generated by sdk/codegen/facade ---
4242
+ };
4243
+
4244
+ // src/app_store/client.ts
4245
+ var AppStoreClient = class {
4246
+ client;
4247
+ constructor(client) {
4248
+ this.client = client;
4249
+ }
4250
+ /** Get app detail. Generated from the OpenAPI spec; returns the raw response object. */
4251
+ async getAppDetail(appId, params = {}) {
4252
+ return this.client.request(`/v1/app-store/apps/${appId}`, { params });
4253
+ }
4254
+ /** Get app reviews. Generated from the OpenAPI spec; returns the raw response object. */
4255
+ async getAppReviews(appId, params = {}) {
4256
+ return this.client.request(`/v1/app-store/apps/${appId}/reviews`, { params });
4257
+ }
4258
+ /** Top charts. Generated from the OpenAPI spec; returns the raw response object. */
4259
+ async topCharts(params = {}) {
4260
+ return this.client.request("/v1/app-store/charts", { params });
4261
+ }
4262
+ /** Get developer apps. Generated from the OpenAPI spec; returns the raw response object. */
4263
+ async getDeveloperApps(artistId, params = {}) {
4264
+ return this.client.request(`/v1/app-store/developers/${artistId}`, { params });
4265
+ }
4266
+ /** List genres. Generated from the OpenAPI spec; returns the raw response object. */
4267
+ async listGenres(params = {}) {
4268
+ return this.client.request("/v1/app-store/genres", { params });
4269
+ }
4270
+ /** List markets. Generated from the OpenAPI spec; returns the raw response object. */
4271
+ async listMarkets(params = {}) {
4272
+ return this.client.request("/v1/app-store/markets", { params });
4273
+ }
4274
+ /** Search apps. Generated from the OpenAPI spec; returns the raw response object. */
4275
+ async searchApps(params = {}) {
4276
+ return this.client.request("/v1/app-store/search", { params });
4277
+ }
4190
4278
  };
4191
4279
 
4192
4280
  // src/instagram/users.ts
@@ -4544,11 +4632,12 @@ var InstagramClient = class {
4544
4632
  this.locations = new LocationsClient(client);
4545
4633
  this.audio = new AudioClient(client);
4546
4634
  }
4547
- // --- generated by sdk/codegen/facade — do not edit ---
4635
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
4548
4636
  /** Get location. Generated from the OpenAPI spec; returns the raw response object. */
4549
4637
  async getLocation(locationPk, params = {}) {
4550
4638
  return this._gen.request(`/v1/instagram/locations/${locationPk}`, { params });
4551
4639
  }
4640
+ // --- END generated by sdk/codegen/facade ---
4552
4641
  };
4553
4642
 
4554
4643
  // src/redfin/client.ts
@@ -4646,11 +4735,12 @@ var RedfinClient = class {
4646
4735
  async listMarkets() {
4647
4736
  return this.client.request("/v1/redfin/markets");
4648
4737
  }
4649
- // --- generated by sdk/codegen/facade — do not edit ---
4738
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
4650
4739
  /** Get property detail. Generated from the OpenAPI spec; returns the raw response object. */
4651
4740
  async getPropertyDetail(propertyId, params = {}) {
4652
4741
  return this._gen.request(`/v1/redfin/property/${propertyId}`, { params });
4653
4742
  }
4743
+ // --- END generated by sdk/codegen/facade ---
4654
4744
  };
4655
4745
 
4656
4746
  // src/account/client.ts
@@ -4665,6 +4755,38 @@ var AccountClient = class {
4665
4755
  }
4666
4756
  };
4667
4757
 
4758
+ // src/airbnb/client.ts
4759
+ var AirbnbClient = class {
4760
+ client;
4761
+ constructor(client) {
4762
+ this.client = client;
4763
+ }
4764
+ /** Search experiences. Generated from the OpenAPI spec; returns the raw response object. */
4765
+ async searchExperiences(params = {}) {
4766
+ return this.client.request("/v1/airbnb/experiences", { params });
4767
+ }
4768
+ /** Get experience detail. Generated from the OpenAPI spec; returns the raw response object. */
4769
+ async getExperienceDetail(experienceId, params = {}) {
4770
+ return this.client.request(`/v1/airbnb/experiences/${experienceId}`, { params });
4771
+ }
4772
+ /** Get listing detail. Generated from the OpenAPI spec; returns the raw response object. */
4773
+ async getListingDetail(roomId, params = {}) {
4774
+ return this.client.request(`/v1/airbnb/listings/${roomId}`, { params });
4775
+ }
4776
+ /** Get availability calendar. Generated from the OpenAPI spec; returns the raw response object. */
4777
+ async getAvailabilityCalendar(roomId, params = {}) {
4778
+ return this.client.request(`/v1/airbnb/listings/${roomId}/calendar`, { params });
4779
+ }
4780
+ /** Get listing reviews. Generated from the OpenAPI spec; returns the raw response object. */
4781
+ async getListingReviews(roomId, params = {}) {
4782
+ return this.client.request(`/v1/airbnb/listings/${roomId}/reviews`, { params });
4783
+ }
4784
+ /** Search stays. Generated from the OpenAPI spec; returns the raw response object. */
4785
+ async searchStays(params = {}) {
4786
+ return this.client.request("/v1/airbnb/search", { params });
4787
+ }
4788
+ };
4789
+
4668
4790
  // src/amazon/search.ts
4669
4791
  var SearchClient5 = class {
4670
4792
  client;
@@ -5464,6 +5586,37 @@ var AdsClient = class {
5464
5586
  }
5465
5587
  });
5466
5588
  }
5589
+ /**
5590
+ * Look up advertiser business ids by name.
5591
+ *
5592
+ * Feed the returned `id` into {@link search} as `advertiser_id` to list all of an
5593
+ * advertiser's ads. Matching is on the legal entity name, so a brand may appear under
5594
+ * several legal entities.
5595
+ *
5596
+ * @param params - `query` (required), plus optional `region` and `count`.
5597
+ * @returns Matching advertisers, each with a business `id`.
5598
+ */
5599
+ async searchAdvertisers(params) {
5600
+ return this.client.request("/v1/tiktok/ads/advertisers", {
5601
+ params: {
5602
+ query: params.query,
5603
+ region: params.region,
5604
+ count: params.count
5605
+ }
5606
+ });
5607
+ }
5608
+ /**
5609
+ * Get a single ad's advertiser, creatives, and full targeting/impression breakdown.
5610
+ *
5611
+ * @param adId - Ad id from a {@link search} result.
5612
+ * @param params - Optional `region` (EU-only, default "DE").
5613
+ * @returns The ad, its advertiser, and per-region age/gender impression targeting.
5614
+ */
5615
+ async getDetail(adId, params = {}) {
5616
+ return this.client.request(`/v1/tiktok/ads/${adId}`, {
5617
+ params: { region: params.region }
5618
+ });
5619
+ }
5467
5620
  };
5468
5621
 
5469
5622
  // src/tiktok/reference.ts
@@ -5492,6 +5645,7 @@ var ReferenceClient4 = class {
5492
5645
 
5493
5646
  // src/tiktok/client.ts
5494
5647
  var TikTokClient = class {
5648
+ _gen;
5495
5649
  /** Client for profiles, videos, followers, following, liked, reposts */
5496
5650
  users;
5497
5651
  /** Client for video detail, comments, replies, related, transcript, oEmbed */
@@ -5514,6 +5668,7 @@ var TikTokClient = class {
5514
5668
  * @param client - The base HTTP client for making requests.
5515
5669
  */
5516
5670
  constructor(client) {
5671
+ this._gen = client;
5517
5672
  this.users = new UsersClient5(client);
5518
5673
  this.videos = new VideosClient2(client);
5519
5674
  this.search = new SearchClient7(client);
@@ -5523,6 +5678,16 @@ var TikTokClient = class {
5523
5678
  this.ads = new AdsClient(client);
5524
5679
  this.reference = new ReferenceClient4(client);
5525
5680
  }
5681
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
5682
+ /** Search TikTok advertisers. Generated from the OpenAPI spec; returns the raw response object. */
5683
+ async searchTiktokAdvertisers(params = {}) {
5684
+ return this._gen.request("/v1/tiktok/ads/advertisers", { params });
5685
+ }
5686
+ /** Get TikTok ad detail. Generated from the OpenAPI spec; returns the raw response object. */
5687
+ async getTiktokAdDetail(adId, params = {}) {
5688
+ return this._gen.request(`/v1/tiktok/ads/${adId}`, { params });
5689
+ }
5690
+ // --- END generated by sdk/codegen/facade ---
5526
5691
  };
5527
5692
 
5528
5693
  // src/ebay/search.ts
@@ -5761,6 +5926,14 @@ var FacebookClient = class {
5761
5926
  constructor(client) {
5762
5927
  this.client = client;
5763
5928
  }
5929
+ /** Search advertiser pages. Generated from the OpenAPI spec; returns the raw response object. */
5930
+ async searchAdvertiserPages(params = {}) {
5931
+ return this.client.request("/v1/facebook/ads/pages/search", { params });
5932
+ }
5933
+ /** Get advertiser page info. Generated from the OpenAPI spec; returns the raw response object. */
5934
+ async getAdvertiserPageInfo(pageId, params = {}) {
5935
+ return this.client.request(`/v1/facebook/ads/pages/${pageId}`, { params });
5936
+ }
5764
5937
  /** Search the Ad Library. Generated from the OpenAPI spec; returns the raw response object. */
5765
5938
  async searchTheAdLibrary(params = {}) {
5766
5939
  return this.client.request("/v1/facebook/ads/search", { params });
@@ -7693,11 +7866,12 @@ var ZillowClient = class {
7693
7866
  this.agent = new AgentClient(client);
7694
7867
  this.reference = new ReferenceClient14(client);
7695
7868
  }
7696
- // --- generated by sdk/codegen/facade — do not edit ---
7869
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
7697
7870
  /** Get property detail by URL. Generated from the OpenAPI spec; returns the raw response object. */
7698
7871
  async getPropertyDetailByUrl(params = {}) {
7699
7872
  return this._gen.request("/v1/zillow/property", { params });
7700
7873
  }
7874
+ // --- END generated by sdk/codegen/facade ---
7701
7875
  };
7702
7876
 
7703
7877
  // src/immobiliare/client.ts
@@ -8083,11 +8257,12 @@ var DepopClient = class {
8083
8257
  async listMarkets() {
8084
8258
  return this.client.request("/v1/depop/markets");
8085
8259
  }
8086
- // --- generated by sdk/codegen/facade — do not edit ---
8260
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
8087
8261
  /** Get product detail. Generated from the OpenAPI spec; returns the raw response object. */
8088
8262
  async getProductDetail(productId, params = {}) {
8089
8263
  return this._gen.request(`/v1/depop/products/${productId}`, { params });
8090
8264
  }
8265
+ // --- END generated by sdk/codegen/facade ---
8091
8266
  };
8092
8267
 
8093
8268
  // src/linkedin/client.ts
@@ -8400,7 +8575,7 @@ var ChatGPTClient = class {
8400
8575
  this.brand = new BrandClient(client);
8401
8576
  this.reference = new ReferenceClient16(client);
8402
8577
  }
8403
- // --- generated by sdk/codegen/facade — do not edit ---
8578
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
8404
8579
  /** Ask ChatGPT a question (POST). Generated from the OpenAPI spec; returns the raw response object. */
8405
8580
  async askChatgptAQuestionPost(body, params = {}) {
8406
8581
  return this._gen.request("/v1/chatgpt/ask", { method: "POST", params, body });
@@ -8409,6 +8584,7 @@ var ChatGPTClient = class {
8409
8584
  async measureABrandSVisibilityInAChatgptAnswerPost(body, params = {}) {
8410
8585
  return this._gen.request("/v1/chatgpt/brand-visibility", { method: "POST", params, body });
8411
8586
  }
8587
+ // --- END generated by sdk/codegen/facade ---
8412
8588
  };
8413
8589
 
8414
8590
  // src/gemini/ask.ts
@@ -8517,7 +8693,7 @@ var GeminiClient = class {
8517
8693
  this.ask = new AskClient2(client);
8518
8694
  this.brand = new BrandClient2(client);
8519
8695
  }
8520
- // --- generated by sdk/codegen/facade — do not edit ---
8696
+ // --- BEGIN generated by sdk/codegen/facade — do not edit ---
8521
8697
  /** Ask Gemini a question (POST). Generated from the OpenAPI spec; returns the raw response object. */
8522
8698
  async askGeminiAQuestionPost(body, params = {}) {
8523
8699
  return this._gen.request("/v1/gemini/ask", { method: "POST", params, body });
@@ -8526,6 +8702,7 @@ var GeminiClient = class {
8526
8702
  async measureABrandSVisibilityInAGeminiAnswerPost(body, params = {}) {
8527
8703
  return this._gen.request("/v1/gemini/brand-visibility", { method: "POST", params, body });
8528
8704
  }
8705
+ // --- END generated by sdk/codegen/facade ---
8529
8706
  };
8530
8707
 
8531
8708
  // src/client.ts
@@ -8539,12 +8716,16 @@ var ScrapeBadger = class {
8539
8716
  vinted;
8540
8717
  /** Google Scraper API client — 19 Google product APIs */
8541
8718
  google;
8719
+ /** Google_Play API client. (Generated from the OpenAPI spec.) */
8720
+ google_play;
8542
8721
  /** Idealista API client. (Generated from the OpenAPI spec.) */
8543
8722
  idealista;
8544
8723
  /** Reddit scraper API client */
8545
8724
  reddit;
8546
8725
  /** Apartments.com scraper API client — search + property with unit-level pricing (US) */
8547
8726
  apartments;
8727
+ /** App_Store API client. (Generated from the OpenAPI spec.) */
8728
+ app_store;
8548
8729
  /** Instagram scraper API client — users, media, search, hashtags, locations, audio */
8549
8730
  instagram;
8550
8731
  /** Redfin scraper API client — search, property, agent, autocomplete, markets (redfin.com, US) */
@@ -8552,6 +8733,8 @@ var ScrapeBadger = class {
8552
8733
  /** Amazon scraper API client — 14 endpoints */
8553
8734
  /** Account API client. (Generated from the OpenAPI spec.) */
8554
8735
  account;
8736
+ /** Airbnb API client. (Generated from the OpenAPI spec.) */
8737
+ airbnb;
8555
8738
  amazon;
8556
8739
  /** Shopee scraper API client — 6 endpoints across 11 markets */
8557
8740
  shopee;
@@ -8633,12 +8816,15 @@ var ScrapeBadger = class {
8633
8816
  this.web = new WebClient(this.baseClient);
8634
8817
  this.vinted = new VintedClient(this.baseClient);
8635
8818
  this.google = new GoogleClient(this.baseClient);
8819
+ this.google_play = new GooglePlayClient(this.baseClient);
8636
8820
  this.idealista = new IdealistaClient(this.baseClient);
8637
8821
  this.reddit = new RedditClient(this.baseClient);
8638
8822
  this.apartments = new ApartmentsClient(this.baseClient);
8823
+ this.app_store = new AppStoreClient(this.baseClient);
8639
8824
  this.instagram = new InstagramClient(this.baseClient);
8640
8825
  this.redfin = new RedfinClient(this.baseClient);
8641
8826
  this.account = new AccountClient(this.baseClient);
8827
+ this.airbnb = new AirbnbClient(this.baseClient);
8642
8828
  this.amazon = new AmazonClient(this.baseClient);
8643
8829
  this.shopee = new ShopeeClient(this.baseClient);
8644
8830
  this.tiktok = new TikTokClient(this.baseClient);