scrapeunblocker 0.10.0 → 0.11.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ffe8b5253c990d2b8f3754b32da58cd5a74150513c5592606dcc70c24d98e6c
4
- data.tar.gz: a086e3553aeb1fd48bd57884a2315adfbe92b55763277298db932365b42c44bf
3
+ metadata.gz: 506dfab9e7e8c63f8b2808a9f7cdf8b113a509fe94b1841c2e8970a33e2bc451
4
+ data.tar.gz: b1bc717e7851b88651cf6960cabfb8d9298589d0494040be702a1c9ce5d953e4
5
5
  SHA512:
6
- metadata.gz: 2c0efc8818178442559f1d4ee6ab1e1fe16938e5f5f3c4371eae0506a6ec5d498df37345e726d26293807be62783051bf5824510cb23b3099fa6eb44cdb54b44
7
- data.tar.gz: 15d718a1db74279f32f17bfbfda2034987f411e61514c15c122567115edcabb3849dcbeae4ed1fbe9e94e1c913ac6997eea1c638ba2c645d93ef618ea234562e
6
+ metadata.gz: 5f1901a2940ae350e8603fe8cb4776ecdb433173340010ec8c320ef063c6f4d906ebd135ca36359a3d708b2722826f1db77d56d785724ff7c5a7bbddef01db4b
7
+ data.tar.gz: 0dce31734e4c853bae21c43581880ff84251990ba1ea8a8023002b4705d669206141b10ec8dea45db4fe825a384334a3d7cbe5b07d3feeba0bb5ef50c7b49f94
data/CHANGELOG.md CHANGED
@@ -1,8 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.11.0 (2026-10-13)
4
+
5
+ - Removed four plugin methods added in 0.10.0: `youtube_comments`, `telegram_channel`, `quora_question` and `quora_profile`. Those plugins are no longer offered through the SDKs; `plugin(path, params)` still reaches any endpoint your account can use.
6
+
7
+ ## 0.10.1 (2026-10-13)
8
+
9
+ - `tiktok_shop_search` takes its keyword as optional, so a category-only search works (`category` option).
10
+ - `aldi_au_specials` takes `category`: a Special Buys drop date such as `2026-10-14`.
11
+ - `capterra_search` no longer offers `page` and `app_store_reviews` no longer offers `lang`; the API ignored both for those calls.
12
+ - Method docs say "proxy country" where they said "exit-IP country", and drop internal routing notes.
13
+
3
14
  ## 0.10.0 (2026-10-13)
4
15
 
5
- - 104 new plugin methods on `ScrapeUnblocker::Client`, one for every public plugin endpoint: e-commerce (Walmart, Target, Best Buy, Home Depot, Etsy, Temu, SHEIN, Zalando, AliExpress, Alibaba, 1688, TikTok Shop, Amazon Best Sellers and reviews), groceries (Woolworths, Coles, ALDI Australia), travel (Booking.com reviews, Airbnb listings and reviews, Tripadvisor), Google (Trends, Shopping, Jobs, Maps place details), Bing / DuckDuckGo / Yahoo / Brave search and images, real estate (Zillow, Redfin, Rightmove, Idealista, ImmobilienScout24), vehicles (mobile.de, AutoScout24), jobs (Indeed, Glassdoor, Naukri, Wellfound, company career sites), reviews and companies (Trustpilot, G2, Capterra, Product Hunt, Crunchbase), Yelp, Naver Place, Google Play, the App Store, YouTube, Spotify, Telegram, Quora, Similarweb, Ahrefs and Semrush. The README lists them by category; every parameter is on the docs plugin pages.
16
+ - 104 new plugin methods on `ScrapeUnblocker::Client`, one for every public plugin endpoint: e-commerce (Walmart, Target, Best Buy, Home Depot, Etsy, Temu, SHEIN, Zalando, AliExpress, Alibaba, 1688, TikTok Shop, Amazon Best Sellers and reviews), groceries (Woolworths, Coles, ALDI Australia), travel (Booking.com reviews, Airbnb listings and reviews, Tripadvisor), Google (Trends, Shopping, Jobs, Maps place details), Bing / DuckDuckGo / Yahoo / Brave search and images, real estate (Zillow, Redfin, Rightmove, Idealista, ImmobilienScout24), vehicles (mobile.de, AutoScout24), jobs (Indeed, Glassdoor, Naukri, Wellfound, company career sites), reviews and companies (Trustpilot, G2, Capterra, Product Hunt, Crunchbase), Yelp, Naver Place, Google Play, the App Store, YouTube, Spotify, Similarweb, Ahrefs and Semrush. The README lists them by category; every parameter is on the docs plugin pages.
6
17
  - Each method takes the plugin's main input positionally and the rest as keyword options; options left `nil` are not sent, so the API's defaults apply. Methods for one mode of a multi-mode endpoint set the mode themselves (`woolworths_product("888137")`, `spotify_artist(...)`).
7
18
  - New `plugin(path, **params)` calls any plugin endpoint by path. Array values are sent as a repeated query parameter.
8
19
 
data/README.md CHANGED
@@ -145,7 +145,7 @@ jobs = su.career_site_jobs("https://jobs.ashbyhq.com/ramp", keyword: "engineer")
145
145
  | Reviews & Companies | `trustpilot_reviews`, `g2_reviews`, `g2_search`, `capterra_reviews`, `capterra_search`, `product_hunt`, `crunchbase_company`, `crunchbase_search` |
146
146
  | Local & Maps | `yelp_search`, `yelp_business`, `yelp_reviews`, `naver_place_search`, `naver_place_details` |
147
147
  | Apps | `google_play_app`, `google_play_search`, `app_store_app`, `app_store_search`, `app_store_reviews` |
148
- | Video, Music & Communities | `youtube_channel`, `youtube_search`, `youtube_comments`, `youtube_transcript`, `spotify_search`, `spotify_artist`, `spotify_album`, `spotify_track`, `spotify_playlist`, `telegram_channel`, `quora_question`, `quora_profile` |
148
+ | Video & Music | `youtube_channel`, `youtube_search`, `youtube_transcript`, `spotify_search`, `spotify_artist`, `spotify_album`, `spotify_track`, `spotify_playlist` |
149
149
  | SEO & Ads | `similarweb_overview`, `ahrefs`, `semrush_overview`, `meta_ad_library` |
150
150
  <!-- plugin-methods:end -->
151
151
 
@@ -151,7 +151,7 @@ module ScrapeUnblocker
151
151
  # originalPrice, priceCny, monthSold, image and url. +channel+ is one of
152
152
  # "1688" (default), "taobao" or "official"; +sort+ is one of "default",
153
153
  # "price_asc", "price_desc" or "best_selling". +page_size+ max is 60.
154
- # Brand keywords return HTTP 422.
154
+ # A brand keyword returns 200 with keywordRejected = true and no products.
155
155
  def oopbuy_search(keyword, channel: "1688", page: 1, page_size: 20, sort: "default", proxy_country: nil)
156
156
  post_json("/goods/oopbuy-search",
157
157
  keyword: keyword, channel: channel, page: page,
@@ -192,7 +192,7 @@ module ScrapeUnblocker
192
192
  # availability, rating, review count, seller, feature bullets, categories
193
193
  # and images. Prices come back in the marketplace's own currency:
194
194
  # +proxy_country+ defaults to the marketplace's home country
195
- # (amazon.com -> US), pinning the exit over the ISP pool. Pass either
195
+ # (amazon.com -> US). Pass either
196
196
  # +asin+ (with +marketplace+) or a full product +url+.
197
197
  def amazon_product(asin: nil, url: nil, marketplace: "amazon.com", proxy_country: nil)
198
198
  post_json("/marketplace/amazon-product",
@@ -554,7 +554,7 @@ module ScrapeUnblocker
554
554
  # @param max_results [Integer] Products to return (1-30). One page is read: a keyword lists
555
555
  # up to 30 products, a category about 15. API default: 30.
556
556
  # Calls POST /social/tiktok-shop-search.
557
- def tiktok_shop_search(q, category: nil, max_results: nil)
557
+ def tiktok_shop_search(q = nil, category: nil, max_results: nil)
558
558
  post_json("/social/tiktok-shop-search", {
559
559
  q: q,
560
560
  category: category,
@@ -1080,6 +1080,11 @@ module ScrapeUnblocker
1080
1080
  # prices in AUD (ALDI Australia does not sell groceries online). Listings collect up to
1081
1081
  # `max_results` from `page` on, billed one unit per page.
1082
1082
  #
1083
+ # @param category [String] mode=category: a category link
1084
+ # (https://www.aldi.com.au/products/dairy-eggs-fridge/milk/k/1111111160) or its key
1085
+ # ('1111111160'; '1588161425841179' = Lower Prices). mode=specials: the Special Buys drop -
1086
+ # its date ('2026-10-14') or link (https://www.aldi.com.au/special-buys/2026-10-14); blank =
1087
+ # the current drop.
1083
1088
  # @param theme [String] mode=specials: one theme of the drop, e.g. 'Gardening' (see
1084
1089
  # `promotions[].themes`).
1085
1090
  # @param sort [String] Listing order: relevance, price_asc, price_desc, name_asc, name_desc.
@@ -1091,9 +1096,10 @@ module ScrapeUnblocker
1091
1096
  # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'AU',
1092
1097
  # 'US'). Leave blank: ALDI answers every country, so the load spreads over all exits.
1093
1098
  # Calls POST /groceries/aldi-au.
1094
- def aldi_au_specials(theme: nil, sort: nil, page: nil, max_results: nil, proxy_country: nil)
1099
+ def aldi_au_specials(category: nil, theme: nil, sort: nil, page: nil, max_results: nil, proxy_country: nil)
1095
1100
  post_json("/groceries/aldi-au", {
1096
1101
  mode: "specials",
1102
+ category: category,
1097
1103
  theme: theme,
1098
1104
  sort: sort,
1099
1105
  page: page,
@@ -2757,20 +2763,16 @@ module ScrapeUnblocker
2757
2763
  # avoids it. Billed one unit per page fetched (`pagesFetched`).
2758
2764
  #
2759
2765
  # @param query [String] Product name or keyword to search for (mode=search), e.g. 'crm'.
2760
- # @param page [Integer] 1-based review page to start from: 25 reviews per page, at most 100
2761
- # (Capterra's limit per product). Use the `nextPage` of a previous response to continue. API
2762
- # default: 1.
2763
2766
  # @param max_results [Integer] How many reviews to collect across pages (1-500, default 25);
2764
2767
  # each page fetched is one billed unit. With mode=search, how many products (1-20, default
2765
2768
  # 20; one page).
2766
2769
  # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
2767
2770
  # 'DE'). Leave blank for the country chosen for the site.
2768
2771
  # Calls POST /reviews/capterra.
2769
- def capterra_search(query, page: nil, max_results: nil, proxy_country: nil)
2772
+ def capterra_search(query, max_results: nil, proxy_country: nil)
2770
2773
  post_json("/reviews/capterra", {
2771
2774
  mode: "search",
2772
2775
  query: query,
2773
- page: page,
2774
2776
  max_results: max_results,
2775
2777
  proxy_country: proxy_country,
2776
2778
  })
@@ -3227,8 +3229,6 @@ module ScrapeUnblocker
3227
3229
  # ('net.whatsapp.WhatsApp').
3228
3230
  # @param country [String] App Store country (ISO-2), e.g. 'us', 'gb', 'de'. Prices, ratings
3229
3231
  # and reviews are per country. Default: the country in an app URL, else 'us'.
3230
- # @param lang [String] Listing language for mode=app / mode=search, e.g. 'fr' or 'fr-CA'
3231
- # (for countries whose store has several languages). Default: the store's own.
3232
3232
  # @param max_results [Integer] mode=search: apps to return (1-200). mode=reviews: reviews to
3233
3233
  # collect (1-500); Apple serves 50 per page and at most 10 pages per country, each page
3234
3234
  # billed as one request. API default: 50.
@@ -3240,12 +3240,11 @@ module ScrapeUnblocker
3240
3240
  # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
3241
3241
  # 'DE'). Leave blank to let the API pick.
3242
3242
  # Calls POST /apps/app-store.
3243
- def app_store_reviews(app_id, country: nil, lang: nil, max_results: nil, sort: nil, page: nil, proxy_country: nil)
3243
+ def app_store_reviews(app_id, country: nil, max_results: nil, sort: nil, page: nil, proxy_country: nil)
3244
3244
  post_json("/apps/app-store", {
3245
3245
  mode: "reviews",
3246
3246
  app_id: app_id,
3247
3247
  country: country,
3248
- lang: lang,
3249
3248
  max_results: max_results,
3250
3249
  sort: sort,
3251
3250
  page: page,
@@ -3303,30 +3302,6 @@ module ScrapeUnblocker
3303
3302
  })
3304
3303
  end
3305
3304
 
3306
- # Scrape a YouTube video's comments.
3307
- #
3308
- # Returns a YouTube video's comments as JSON. For each comment: `commentId`, `author`,
3309
- # `authorChannelId`, `authorThumbnail`, `text`, `likeCount`, `publishedTimeText`,
3310
- # `replyCount`, and the `isPinned`, `isHearted`, `isAuthorVerified` and `isUploader` flags,
3311
- # plus the video `title` and total `commentCount`. Sort by `top` or `newest` and collect up
3312
- # to `max_results` across pages.
3313
- #
3314
- # @param video [String] Video id (dQw4w9WgXcQ) or any YouTube video URL.
3315
- # @param sort [String] Comment order: top, newest. API default: top.
3316
- # @param max_results [Integer] How many comments to collect across pages (~20 per page). API
3317
- # default: 20.
3318
- # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
3319
- # 'DE') for the watch page. Defaults to US.
3320
- # Calls POST /content/youtube-comments.
3321
- def youtube_comments(video, sort: nil, max_results: nil, proxy_country: nil)
3322
- post_json("/content/youtube-comments", {
3323
- video: video,
3324
- sort: sort,
3325
- max_results: max_results,
3326
- proxy_country: proxy_country,
3327
- })
3328
- end
3329
-
3330
3305
  # Get a YouTube video transcript.
3331
3306
  #
3332
3307
  # Returns a YouTube video's captions as JSON: timestamped `segments` (`start`, `dur`,
@@ -3567,146 +3542,6 @@ module ScrapeUnblocker
3567
3542
  })
3568
3543
  end
3569
3544
 
3570
- # Scrape a public Telegram channel: info and posts.
3571
- #
3572
- # Reads a public Telegram channel's web preview. Returns `channel` (`username`, `title`,
3573
- # `description`, `avatar`, `verified`, `subscribers` and the other `counters`) and `posts`,
3574
- # newest first: `id`, `url`, `date` (ISO-8601 UTC), `text` (plain), `textHtml`, `views`,
3575
- # `author` (signature), `edited`, `forwardedFrom`, `replyTo`, `media` (photo / video /
3576
- # animation / round_video / voice / audio / document / sticker, with CDN `url`, `thumbnail`,
3577
- # `duration`), `poll`, `linkPreview`, `reactions` (a custom-emoji reaction has its
3578
- # `customEmojiId`, plus the standard `emoji` and `image` Telegram falls back to when the
3579
- # page shows that emoji anywhere), `buttons`, `links`, `hashtags` (the tags Telegram links;
3580
- # a bare '#7' is text) and `mentions`. One page (about 20 posts) by default; `max_posts` (up
3581
- # to 500) pages back through history; `before`, `after` and `since` bound the range, `q`
3582
- # searches inside the channel and `post_id` returns one post. `nextBefore` continues a
3583
- # capped answer. Only channels have a public preview: users, bots, groups and private
3584
- # channels answer 404. Billed one request per page fetched (`pagesFetched`).
3585
- #
3586
- # @param channel [String] Public channel: username ('durov'), '@durov', or a t.me link
3587
- # ('https://t.me/durov', 'https://t.me/s/durov'). A post link ('https://t.me/durov/400')
3588
- # returns that one post.
3589
- # @param max_posts [Integer] Posts to collect, newest first (1-500), paging back through the
3590
- # channel's history; each page fetched is billed as one request. Omit it for one page,
3591
- # billed once: the newest posts (a page has 20 message slots and an album fills one per
3592
- # photo, so it can hold fewer posts).
3593
- # @param before [Integer] Only posts with an id below this one. Pass `nextBefore` of a
3594
- # previous response to continue where it stopped.
3595
- # @param after [Integer] Stop at this post id: only posts with a higher id are returned.
3596
- # @param since [String] Stop at this date: only posts published on or after it (YYYY-MM-DD
3597
- # or an ISO-8601 datetime, UTC when no offset is given).
3598
- # @param q [String] Search inside the channel: only posts matching this text.
3599
- # @param post_id [Integer] Return only this post (a post id of the channel).
3600
- # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
3601
- # 'DE'). Leave blank to let the API pick.
3602
- # Calls POST /social/telegram-channel.
3603
- def telegram_channel(channel, max_posts: nil, before: nil, after: nil, since: nil, q: nil, post_id: nil, proxy_country: nil)
3604
- post_json("/social/telegram-channel", {
3605
- channel: channel,
3606
- max_posts: max_posts,
3607
- before: before,
3608
- after: after,
3609
- since: since,
3610
- q: q,
3611
- post_id: post_id,
3612
- proxy_country: proxy_country,
3613
- })
3614
- end
3615
-
3616
- # Scrape Quora questions, answers and profiles.
3617
- #
3618
- # Given a Quora `question` (URL or slug), returns the `question` (`qid`, `title`, `url`,
3619
- # `answerCount`, `allRelatedCount`, `followerCount`, `commentCount`, `topics`) and its
3620
- # `answers`: `id`, `url`, `relation` (`answer`, `merged` for an answer to a question Quora
3621
- # merged into this one, `related` with `include_related=true`), the answered `question`,
3622
- # `author` (`name`, `uid`, `profileUrl`, `imageUrl`, `credential`, `isVerified`,
3623
- # `isAnonymous`), the full `text` with `images` and `links`, `upvotes`, `views`, `shares`,
3624
- # `comments`, `createdAt`, `updatedAt` and `isAiGenerated`; plus `relatedQuestions`. Answers
3625
- # are in Quora's own order, up to `max_answers` (10 per page after the first few), unique
3626
- # within a call. `nextCursor` as `cursor` continues, best-effort: Quora re-ranks the list on
3627
- # every visit, so a continuation can repeat or skip answers of earlier calls (dedupe by
3628
- # `id`); for a complete list ask for a larger `max_answers` in one call (up to 300).
3629
- # `mode=profile&profile=` returns a public `profile` (`name`, `headline`, `description`,
3630
- # follower / following / answer / question / post counts, `contentViews`, `credentials`,
3631
- # `knowsAbout`, `spaces`, `topWriterYears`, `joinedAt`) with its newest `answers`. No login:
3632
- # only what Quora shows an anonymous visitor - Quora's search is not available that way, and
3633
- # Quora lists only a profile's newest few dozen answers to logged-out visitors
3634
- # (`pagingStopped`: `quora_logged_out_limit`). `pagingStopped` otherwise names why paging
3635
- # ended early (`blocked`, `time`, `unavailable`). Billed one unit per page fetched
3636
- # (`pagesFetched`); a `cursor` continuation bills only its GraphQL pages.
3637
- #
3638
- # @param question [String] Quora question URL (https://www.quora.com/What-is-the-best-way-
3639
- # to-learn-programming), an answer URL on it, or the question slug (What-is-the-best-way-to-
3640
- # learn-programming). Language editions such as es.quora.com are accepted as URLs. Required
3641
- # with mode=question.
3642
- # @param max_answers [Integer] Answers to return: 1-300 with mode=question (default 20),
3643
- # 0-200 with mode=profile (default 10; 0 = profile only). Answers come 10 per page after the
3644
- # first few; each page is one billed unit.
3645
- # @param include_related [Boolean] mode=question: also return the answers Quora shows from
3646
- # related questions (its 'All related' view, `relation`='related'). By default only answers
3647
- # to this question and to questions merged into it. API default: false.
3648
- # @param cursor [String] Continue after a previous call: pass its `nextCursor`. Best-effort:
3649
- # each call is a new Quora visit and Quora re-ranks the list per visit, so a continuation
3650
- # can repeat or skip answers of earlier calls - dedupe by answer `id`. For a complete list
3651
- # ask for a larger `max_answers` in one call (up to 300).
3652
- # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
3653
- # 'DE'). Leave blank for the countries chosen for the site.
3654
- # Calls POST /social/quora.
3655
- def quora_question(question, max_answers: nil, include_related: nil, cursor: nil, proxy_country: nil)
3656
- post_json("/social/quora", {
3657
- mode: "question",
3658
- question: question,
3659
- max_answers: max_answers,
3660
- include_related: include_related,
3661
- cursor: cursor,
3662
- proxy_country: proxy_country,
3663
- })
3664
- end
3665
-
3666
- # Scrape Quora questions, answers and profiles.
3667
- #
3668
- # Given a Quora `question` (URL or slug), returns the `question` (`qid`, `title`, `url`,
3669
- # `answerCount`, `allRelatedCount`, `followerCount`, `commentCount`, `topics`) and its
3670
- # `answers`: `id`, `url`, `relation` (`answer`, `merged` for an answer to a question Quora
3671
- # merged into this one, `related` with `include_related=true`), the answered `question`,
3672
- # `author` (`name`, `uid`, `profileUrl`, `imageUrl`, `credential`, `isVerified`,
3673
- # `isAnonymous`), the full `text` with `images` and `links`, `upvotes`, `views`, `shares`,
3674
- # `comments`, `createdAt`, `updatedAt` and `isAiGenerated`; plus `relatedQuestions`. Answers
3675
- # are in Quora's own order, up to `max_answers` (10 per page after the first few), unique
3676
- # within a call. `nextCursor` as `cursor` continues, best-effort: Quora re-ranks the list on
3677
- # every visit, so a continuation can repeat or skip answers of earlier calls (dedupe by
3678
- # `id`); for a complete list ask for a larger `max_answers` in one call (up to 300).
3679
- # `mode=profile&profile=` returns a public `profile` (`name`, `headline`, `description`,
3680
- # follower / following / answer / question / post counts, `contentViews`, `credentials`,
3681
- # `knowsAbout`, `spaces`, `topWriterYears`, `joinedAt`) with its newest `answers`. No login:
3682
- # only what Quora shows an anonymous visitor - Quora's search is not available that way, and
3683
- # Quora lists only a profile's newest few dozen answers to logged-out visitors
3684
- # (`pagingStopped`: `quora_logged_out_limit`). `pagingStopped` otherwise names why paging
3685
- # ended early (`blocked`, `time`, `unavailable`). Billed one unit per page fetched
3686
- # (`pagesFetched`); a `cursor` continuation bills only its GraphQL pages.
3687
- #
3688
- # @param profile [String] Quora profile URL (https://www.quora.com/profile/Adam-DAngelo) or
3689
- # profile slug (Adam-DAngelo). Required with mode=profile.
3690
- # @param max_answers [Integer] Answers to return: 1-300 with mode=question (default 20),
3691
- # 0-200 with mode=profile (default 10; 0 = profile only). Answers come 10 per page after the
3692
- # first few; each page is one billed unit.
3693
- # @param cursor [String] Continue after a previous call: pass its `nextCursor`. Best-effort:
3694
- # each call is a new Quora visit and Quora re-ranks the list per visit, so a continuation
3695
- # can repeat or skip answers of earlier calls - dedupe by answer `id`. For a complete list
3696
- # ask for a larger `max_answers` in one call (up to 300).
3697
- # @param proxy_country [String] Proxy country the request is sent from (ISO-2, e.g. 'US',
3698
- # 'DE'). Leave blank for the countries chosen for the site.
3699
- # Calls POST /social/quora.
3700
- def quora_profile(profile, max_answers: nil, cursor: nil, proxy_country: nil)
3701
- post_json("/social/quora", {
3702
- mode: "profile",
3703
- profile: profile,
3704
- max_answers: max_answers,
3705
- cursor: cursor,
3706
- proxy_country: proxy_country,
3707
- })
3708
- end
3709
-
3710
3545
  # Get a website's Similarweb traffic overview.
3711
3546
  #
3712
3547
  # Returns Similarweb's public traffic overview for `domain` as JSON: `globalRank`,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ScrapeUnblocker
4
- VERSION = "0.10.0"
4
+ VERSION = "0.11.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrapeunblocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ScrapeUnblocker