searchapi-ruby 0.1.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.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +48 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +1064 -0
  5. data/lib/searchapi/client.rb +45 -0
  6. data/lib/searchapi/configuration.rb +15 -0
  7. data/lib/searchapi/error.rb +11 -0
  8. data/lib/searchapi/resource.rb +20 -0
  9. data/lib/searchapi/resources/airbnb.rb +17 -0
  10. data/lib/searchapi/resources/amazon_search.rb +17 -0
  11. data/lib/searchapi/resources/apple_app_store.rb +17 -0
  12. data/lib/searchapi/resources/baidu.rb +17 -0
  13. data/lib/searchapi/resources/bing.rb +17 -0
  14. data/lib/searchapi/resources/bing_images.rb +17 -0
  15. data/lib/searchapi/resources/bing_videos.rb +17 -0
  16. data/lib/searchapi/resources/duckduckgo.rb +17 -0
  17. data/lib/searchapi/resources/ebay_search.rb +18 -0
  18. data/lib/searchapi/resources/facebook_business_page.rb +25 -0
  19. data/lib/searchapi/resources/google.rb +17 -0
  20. data/lib/searchapi/resources/google_about_this_domain.rb +17 -0
  21. data/lib/searchapi/resources/google_ads_transparency_center.rb +25 -0
  22. data/lib/searchapi/resources/google_ai_mode.rb +17 -0
  23. data/lib/searchapi/resources/google_ai_overview.rb +17 -0
  24. data/lib/searchapi/resources/google_autocomplete.rb +17 -0
  25. data/lib/searchapi/resources/google_events.rb +17 -0
  26. data/lib/searchapi/resources/google_finance.rb +17 -0
  27. data/lib/searchapi/resources/google_flights.rb +23 -0
  28. data/lib/searchapi/resources/google_forums.rb +17 -0
  29. data/lib/searchapi/resources/google_hotels.rb +17 -0
  30. data/lib/searchapi/resources/google_images.rb +17 -0
  31. data/lib/searchapi/resources/google_jobs.rb +17 -0
  32. data/lib/searchapi/resources/google_lens.rb +17 -0
  33. data/lib/searchapi/resources/google_local.rb +17 -0
  34. data/lib/searchapi/resources/google_maps.rb +30 -0
  35. data/lib/searchapi/resources/google_news.rb +17 -0
  36. data/lib/searchapi/resources/google_patents.rb +17 -0
  37. data/lib/searchapi/resources/google_play_store.rb +33 -0
  38. data/lib/searchapi/resources/google_rank_tracking.rb +17 -0
  39. data/lib/searchapi/resources/google_scholar.rb +21 -0
  40. data/lib/searchapi/resources/google_shopping.rb +17 -0
  41. data/lib/searchapi/resources/google_shorts.rb +17 -0
  42. data/lib/searchapi/resources/google_trends.rb +33 -0
  43. data/lib/searchapi/resources/google_videos.rb +17 -0
  44. data/lib/searchapi/resources/instagram_profile.rb +17 -0
  45. data/lib/searchapi/resources/linkedin_ad_library.rb +17 -0
  46. data/lib/searchapi/resources/meta_ad_library.rb +17 -0
  47. data/lib/searchapi/resources/naver.rb +17 -0
  48. data/lib/searchapi/resources/reddit_ad_library.rb +17 -0
  49. data/lib/searchapi/resources/shein_search.rb +17 -0
  50. data/lib/searchapi/resources/tiktok_ads_library.rb +17 -0
  51. data/lib/searchapi/resources/tiktok_profile.rb +17 -0
  52. data/lib/searchapi/resources/tripadvisor.rb +17 -0
  53. data/lib/searchapi/resources/walmart_search.rb +17 -0
  54. data/lib/searchapi/resources/yahoo.rb +17 -0
  55. data/lib/searchapi/resources/yandex.rb +17 -0
  56. data/lib/searchapi/resources/yandex_reverse_image.rb +17 -0
  57. data/lib/searchapi/resources/youtube.rb +17 -0
  58. data/lib/searchapi/response.rb +25 -0
  59. data/lib/searchapi/version.rb +5 -0
  60. data/lib/searchapi.rb +177 -0
  61. metadata +138 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fd0c3821dfacb78faa8f2768744e84d3943312e1af2dbd5708b034c0bb1de8d3
4
+ data.tar.gz: fdb6dce18bced03bd1474f3b67744037488cf4d441fb69f3a1053b3c997bb200
5
+ SHA512:
6
+ metadata.gz: 780aa7eb133990441127158e0d28dfd52d1b8563e139774fe1fc46921ae5baeb26a0f586ef3e72449fbf402d5b83ed31e8232d1d8aa8486db7f7eef0818579d4
7
+ data.tar.gz: c400ee40edef5d2ce6bdeefdb0f1cf1e983b545c54adec071494108d82abfd8b285b0d98bcb5b9ecb05a3d432b95bcec23b39ad7342a30d5bc5b8520c7f94627
data/CHANGELOG.md ADDED
@@ -0,0 +1,48 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).
6
+
7
+ ## [1.0.0] - 2026-02-21
8
+
9
+ ### Added
10
+
11
+ - **42 new search engine resources** (49 total):
12
+ - Google: Search (SERP), Rank Tracking, Scholar, Shopping, Images, Videos, Trends, Jobs, Events, Finance, Autocomplete, Local, Forums, Shorts, Patents, Lens, AI Mode, AI Overview, About This Domain, Ads Transparency Center, Play Store
13
+ - Other search engines: Bing, Bing Images, Bing Videos, Baidu, Yandex, Yandex Reverse Image, DuckDuckGo, Yahoo, Naver
14
+ - E-commerce: Amazon Search, Walmart Search, eBay Search, Shein Search
15
+ - App stores: Apple App Store
16
+ - Social media: Instagram Profile, TikTok Profile, Facebook Business Page
17
+ - Ad libraries: LinkedIn Ad Library, Reddit Ad Library, Meta Ad Library, TikTok Ads Library
18
+ - **Dynamic resource registry** with `method_missing`-based accessor pattern for clean API
19
+ - **Convenience methods** for Google Trends (`interest_over_time`, `interest_by_region`, `related_queries`, `related_topics`)
20
+ - **Convenience methods** for Google Scholar (`cite`)
21
+ - **Convenience methods** for Google Ads Transparency Center (`by_advertiser`, `by_domain`)
22
+ - **Convenience methods** for Google Play Store (`apps`, `games`, `movies`, `books`)
23
+ - **Convenience methods** for Facebook Business Page (`by_username`, `by_page_id`)
24
+ - CONTRIBUTING.md with development guidelines
25
+ - Comprehensive README with usage examples for all 49 engines
26
+ - Full RSpec test coverage (242 examples)
27
+
28
+ ### Changed
29
+
30
+ - Refactored module-level resource accessors to use a registry pattern instead of individual memoized methods
31
+ - Updated gemspec description to reflect the full scope of supported engines
32
+
33
+ ## [0.1.0] - 2026-02-15
34
+
35
+ ### Added
36
+
37
+ - Initial release
38
+ - Base client with Faraday HTTP, error handling, automatic retries
39
+ - `SearchApi::Configuration` with sensible defaults
40
+ - `SearchApi::Response` wrapper with `success?`, `data`, `credits_remaining`
41
+ - Error hierarchy: `AuthenticationError`, `RateLimitError`, `TimeoutError`, `NotFoundError`, `ServerError`
42
+ - Google Maps: search, place details, directions
43
+ - Google Hotels: search with check-in/check-out dates
44
+ - Google Flights: one-way and round-trip search
45
+ - TripAdvisor: search
46
+ - Airbnb: search with dates
47
+ - YouTube: search
48
+ - Google News: search
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2026 aalvaaro
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.