@@ -24,6 +24,18 @@ def google_search(query, pages_per_query: 1, uule: '', language: 'en', region: n
2424 } ) . parsed_response [ 'data' ]
2525 end
2626
27+ def google_search_news ( query , pages_per_query : 1 , uule : '' , tbs : '' , language : 'en' , region : nil , async_request : false )
28+ response = self . class . get ( '/google-search-news' , query : {
29+ query : query ,
30+ pagesPerQuery : pages_per_query ,
31+ uule : uule ,
32+ tbs : tbs ,
33+ language : language ,
34+ region : region ,
35+ async : async_request
36+ } ) . parsed_response [ 'data' ]
37+ end
38+
2739 def google_maps_search ( query , limit : 20 , drop_duplicates : false , language : 'en' , region : nil , skip : 0 )
2840 response = self . class . get ( "/maps/search-v2" , 'query' : {
2941 query : query ,
@@ -36,6 +48,34 @@ def google_maps_search(query, limit: 20, drop_duplicates: false, language: 'en',
3648 } ) . parsed_response [ 'data' ]
3749 end
3850
51+ def google_maps_search_v3 ( query , limit : 20 , language : 'en' , region : nil , skip : 0 , drop_duplicates : false , enrichment : nil , async_request : true )
52+ response = self . class . get ( '/maps/search-v3' , query : {
53+ query : query ,
54+ language : language ,
55+ region : region ,
56+ organizationsPerQueryLimit : limit ,
57+ skipPlaces : skip ,
58+ dropDuplicates : drop_duplicates ,
59+ enrichment : enrichment ? Array ( enrichment ) : nil ,
60+ async : async_request
61+ } ) . parsed_response [ 'data' ]
62+ end
63+
64+ def google_maps_directions ( origin : '' , destination : '' , departure_time : nil , finish_time : nil , interval : nil , travel_mode : 'best' , language : 'en' , region : nil , fields : nil , async_request : true )
65+ response = self . class . get ( '/maps/directions' , query : {
66+ origin : Array ( origin ) ,
67+ destination : Array ( destination ) ,
68+ departure_time : departure_time ,
69+ finish_time : finish_time ,
70+ interval : interval ,
71+ travel_mode : travel_mode ,
72+ language : language ,
73+ region : region ,
74+ async : async_request ,
75+ fields : fields ? Array ( fields ) : nil
76+ } ) . parsed_response [ 'data' ]
77+ end
78+
3979 def google_maps_reviews ( query , reviews_limit : 10 , limit : 1 , sort : 'most_relevant' , skip : 0 , start : 0 , cutoff : 0 , cutoff_rating : 0 , ignore_empty : false , language : 'en' , region : nil , reviews_query : nil )
4080 response = self . class . get ( "/maps/reviews-v3" , 'query' : {
4181 query : query ,
@@ -54,6 +94,34 @@ def google_maps_reviews(query, reviews_limit: 10, limit: 1, sort: 'most_relevant
5494 } ) . parsed_response [ 'data' ]
5595 end
5696
97+ def get_google_maps_photos ( query , options = { } )
98+ response = self . class . get ( '/maps/photos-v3' , query : {
99+ query : query ,
100+ photosLimit : options [ :photosLimit ] || 100 ,
101+ limit : options [ :limit ] || 1 ,
102+ tag : options [ :tag ] || 'all' ,
103+ language : options [ :language ] || 'en' ,
104+ region : options [ :region ] ,
105+ fields : options [ :fields ] ,
106+ async : options . key? ( :async ) ? options [ :async ] : true ,
107+ ui : options [ :ui ] || false ,
108+ webhook : options [ :webhook ]
109+ } ) . parsed_response [ 'data' ]
110+ end
111+
112+ def google_play_reviews ( query , reviews_limit : 100 , sort : 'most_relevant' , cutoff : nil , rating : nil , language : 'en' , fields : nil , async_request : false )
113+ response = self . class . get ( '/google-play/reviews' , query : {
114+ query : query ,
115+ limit : reviews_limit ,
116+ sort : sort ,
117+ cutoff : cutoff ,
118+ rating : rating ,
119+ language : language ,
120+ async : async_request ,
121+ fields : fields ? Array ( fields ) : nil
122+ } ) . parsed_response [ 'data' ]
123+ end
124+
57125 def emails_and_contacts ( query )
58126 response = self . class . get ( "/emails-and-contacts" , 'query' : {
59127 query : query ,
@@ -67,5 +135,191 @@ def phones_enricher(query)
67135 async : false ,
68136 } ) . parsed_response [ 'data' ]
69137 end
138+
139+ def amazon_products ( query , limit : 24 , domain : 'amazon.com' , postal_code : '11201' , fields : nil , async_request : false )
140+ response = self . class . get ( '/amazon/products-v2' , query : {
141+ query : query ,
142+ limit : limit ,
143+ domain : domain ,
144+ postal_code : postal_code ,
145+ async : async_request ,
146+ fields : fields ? Array ( fields ) : nil
147+ } ) . parsed_response [ 'data' ]
148+ end
149+
150+ def amazon_reviews ( query , limit : 10 , sort : 'helpful' , filter_by_reviewer : 'all_reviews' , filter_by_star : 'all_stars' , domain : nil , fields : nil , async_request : false )
151+ response = self . class . get ( '/amazon/reviews' , query : {
152+ query : query ,
153+ limit : limit ,
154+ sort : sort ,
155+ filterByReviewer : filter_by_reviewer ,
156+ filterByStar : filter_by_star ,
157+ domain : domain ,
158+ async : async_request ,
159+ fields : fields ? Array ( fields ) : nil
160+ } ) . parsed_response [ 'data' ]
161+ end
162+
163+ def yelp_search ( query , limit : 100 , async_request : false )
164+ response = self . class . get ( '/yelp-search' , query : {
165+ query : query ,
166+ limit : limit ,
167+ async : async_request
168+ } ) . parsed_response [ 'data' ]
169+ end
170+
171+ def yelp_reviews ( query , limit : 100 , cursor : '' , sort : 'relevance_desc' , cutoff : '' , fields : '' , async_request : false )
172+ response = self . class . get ( '/yelp/reviews' , query : {
173+ query : query ,
174+ limit : limit ,
175+ cursor : cursor ,
176+ sort : sort ,
177+ cutoff : cutoff ,
178+ fields : fields ,
179+ async : async_request
180+ } ) . parsed_response [ 'data' ]
181+ end
182+
183+ def tripadvisor_reviews ( query , limit : 100 , async_request : false )
184+ response = self . class . get ( '/tripadvisor-reviews' , query : {
185+ query : query ,
186+ limit : limit ,
187+ async : async_request
188+ } ) . parsed_response [ 'data' ]
189+ end
190+
191+ def app_store_reviews ( query , limit : 100 , sort : 'mosthelpful' , cutoff : nil , fields : '' , async_request : false )
192+ response = self . class . get ( '/appstore/reviews' , query : {
193+ query : query ,
194+ limit : limit ,
195+ sort : sort ,
196+ cutoff : cutoff ,
197+ fields : fields ,
198+ async : async_request
199+ } ) . parsed_response [ 'data' ]
200+ end
201+
202+ def youtube_comments ( query , per_query : 100 , language : 'en' , region : '' , fields : '' , async_request : false )
203+ response = self . class . get ( '/youtube-comments' , query : {
204+ query : query ,
205+ perQuery : per_query ,
206+ language : language ,
207+ region : region ,
208+ fields : fields ,
209+ async : async_request
210+ } ) . parsed_response [ 'data' ]
211+ end
212+
213+ def g2_reviews ( query , limit : 100 , sort : '' , cutoff : nil , fields : nil , async_request : false )
214+ response = self . class . get ( '/g2/reviews' , query : {
215+ query : query ,
216+ limit : limit ,
217+ sort : sort ,
218+ cutoff : cutoff ,
219+ async : async_request ,
220+ fields : fields ? Array ( fields ) : nil
221+ } ) . parsed_response [ 'data' ]
222+ end
223+
224+ def trustpilot_reviews ( query , limit : 100 , languages : 'default' , sort : '' , cutoff : nil , fields : '' , async_request : false )
225+ response = self . class . get ( '/trustpilot/reviews' , query : {
226+ query : query ,
227+ limit : limit ,
228+ languages : languages ,
229+ sort : sort ,
230+ cutoff : cutoff ,
231+ fields : fields ,
232+ async : async_request
233+ } ) . parsed_response [ 'data' ]
234+ end
235+
236+ def glassdoor_reviews ( query , limit : 100 , sort : 'DATE' , cutoff : nil , async_request : false )
237+ response = self . class . get ( '/glassdoor/reviews' , query : {
238+ query : query ,
239+ limit : limit ,
240+ sort : sort ,
241+ cutoff : cutoff ,
242+ async : async_request
243+ } ) . parsed_response [ 'data' ]
244+ end
245+
246+ def capterra_reviews ( query , limit : 100 , sort : '' , cutoff : nil , language : 'en' , region : nil , fields : nil , async_request : false )
247+ response = self . class . get ( '/capterra-reviews' , query : {
248+ query : query ,
249+ limit : limit ,
250+ sort : sort ,
251+ cutoff : cutoff ,
252+ language : language ,
253+ region : region ,
254+ async : async_request ,
255+ fields : fields ? Array ( fields ) : nil
256+ } ) . parsed_response [ 'data' ]
257+ end
258+
259+ def geocoding ( query , async_request : false )
260+ response = self . class . get ( '/geocoding' , query : {
261+ query : query ,
262+ async : async_request
263+ } ) . parsed_response [ 'data' ]
264+ end
265+
266+ def reverse_geocoding ( query , async_request : false )
267+ response = self . class . get ( '/reverse-geocoding' , query : {
268+ query : query ,
269+ async : async_request
270+ } ) . parsed_response [ 'data' ]
271+ end
272+
273+ def phone_identity_finder ( query , async_request : false )
274+ response = self . class . get ( '/whitepages-phones' , query : {
275+ query : query . is_a? ( Array ) ? query : [ query ] ,
276+ async : async_request
277+ } ) . parsed_response [ 'data' ]
278+ end
279+
280+ def address_scraper ( query , async_request : false )
281+ response = self . class . get ( '/whitepages-addresses' , query : {
282+ query : query . is_a? ( Array ) ? query : [ query ] ,
283+ async : async_request
284+ } ) . parsed_response [ 'data' ]
285+ end
286+
287+ def company_insights ( query , fields : '' , async_request : false , enrichments : [ ] )
288+ response = self . class . get ( '/company-insights' , query : {
289+ query : query . is_a? ( Array ) ? query : [ query ] ,
290+ fields : fields ,
291+ enrichments : enrichments . is_a? ( Array ) ? enrichments : [ enrichments ] ,
292+ async : async_request
293+ } ) . parsed_response [ 'data' ]
294+ end
295+
296+ def validate_emails ( query , async_request : false )
297+ response = self . class . get ( '/email-validator' , query : {
298+ query : query . is_a? ( Array ) ? query : [ query ] ,
299+ async : async_request
300+ } ) . parsed_response [ 'data' ]
301+ end
302+
303+ def trustpilot ( query , enrichment : [ ] , fields : '' , async_request : false )
304+ enrichment_array = enrichment ? ( enrichment . is_a? ( Array ) ? enrichment : [ enrichment ] ) : [ ]
305+ response = self . class . get ( '/trustpilot' , query : {
306+ query : query . is_a? ( Array ) ? query : [ query ] ,
307+ enrichment : enrichment_array ,
308+ fields : fields ,
309+ async : async_request
310+ } ) . parsed_response [ 'data' ]
311+ end
312+
313+ def trustpilot_search ( query , limit : 100 , skip : 0 , enrichment : [ ] , fields : '' , async_request : false )
314+ enrichment_array = enrichment . is_a? ( Array ) ? enrichment : [ enrichment ]
315+ response = self . class . get ( '/trustpilot' , query : {
316+ query : query . is_a? ( Array ) ? query : [ query ] ,
317+ limit : limit ,
318+ skip : skip ,
319+ enrichment : enrichment_array ,
320+ fields : fields ,
321+ async : async_request
322+ } ) . parsed_response [ 'data' ]
323+ end
70324 end
71325end
0 commit comments