@keystrokehq/serpapi 0.0.16 → 0.1.2
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/README.md +14 -2
- package/dist/action.cjs +21 -0
- package/dist/action.cjs.map +1 -0
- package/dist/action.mjs +21 -0
- package/dist/action.mjs.map +1 -0
- package/dist/actions/baidu-search.cjs +41 -0
- package/dist/actions/baidu-search.cjs.map +1 -0
- package/dist/actions/baidu-search.d.cts +49 -0
- package/dist/actions/baidu-search.d.cts.map +1 -0
- package/dist/actions/baidu-search.d.mts +49 -0
- package/dist/actions/baidu-search.d.mts.map +1 -0
- package/dist/actions/baidu-search.mjs +38 -0
- package/dist/actions/baidu-search.mjs.map +1 -0
- package/dist/actions/bing-maps.cjs +135 -0
- package/dist/actions/bing-maps.cjs.map +1 -0
- package/dist/actions/bing-maps.d.cts +128 -0
- package/dist/actions/bing-maps.d.cts.map +1 -0
- package/dist/actions/bing-maps.d.mts +128 -0
- package/dist/actions/bing-maps.d.mts.map +1 -0
- package/dist/actions/bing-maps.mjs +134 -0
- package/dist/actions/bing-maps.mjs.map +1 -0
- package/dist/actions/bing-search.cjs +32 -0
- package/dist/actions/bing-search.cjs.map +1 -0
- package/dist/actions/bing-search.d.cts +34 -0
- package/dist/actions/bing-search.d.cts.map +1 -0
- package/dist/actions/bing-search.d.mts +34 -0
- package/dist/actions/bing-search.d.mts.map +1 -0
- package/dist/actions/bing-search.mjs +29 -0
- package/dist/actions/bing-search.mjs.map +1 -0
- package/dist/actions/duck-duck-go-light-search.cjs +72 -0
- package/dist/actions/duck-duck-go-light-search.cjs.map +1 -0
- package/dist/actions/duck-duck-go-light-search.d.cts +70 -0
- package/dist/actions/duck-duck-go-light-search.d.cts.map +1 -0
- package/dist/actions/duck-duck-go-light-search.d.mts +70 -0
- package/dist/actions/duck-duck-go-light-search.d.mts.map +1 -0
- package/dist/actions/duck-duck-go-light-search.mjs +71 -0
- package/dist/actions/duck-duck-go-light-search.mjs.map +1 -0
- package/dist/actions/duck-duck-go-maps.cjs +93 -0
- package/dist/actions/duck-duck-go-maps.cjs.map +1 -0
- package/dist/actions/duck-duck-go-maps.d.cts +84 -0
- package/dist/actions/duck-duck-go-maps.d.cts.map +1 -0
- package/dist/actions/duck-duck-go-maps.d.mts +84 -0
- package/dist/actions/duck-duck-go-maps.d.mts.map +1 -0
- package/dist/actions/duck-duck-go-maps.mjs +92 -0
- package/dist/actions/duck-duck-go-maps.mjs.map +1 -0
- package/dist/actions/duck-duck-go-search.cjs +116 -0
- package/dist/actions/duck-duck-go-search.cjs.map +1 -0
- package/dist/actions/duck-duck-go-search.d.cts +107 -0
- package/dist/actions/duck-duck-go-search.d.cts.map +1 -0
- package/dist/actions/duck-duck-go-search.d.mts +107 -0
- package/dist/actions/duck-duck-go-search.d.mts.map +1 -0
- package/dist/actions/duck-duck-go-search.mjs +115 -0
- package/dist/actions/duck-duck-go-search.mjs.map +1 -0
- package/dist/actions/ebay-search.cjs +108 -0
- package/dist/actions/ebay-search.cjs.map +1 -0
- package/dist/actions/ebay-search.d.cts +105 -0
- package/dist/actions/ebay-search.d.cts.map +1 -0
- package/dist/actions/ebay-search.d.mts +105 -0
- package/dist/actions/ebay-search.d.mts.map +1 -0
- package/dist/actions/ebay-search.mjs +107 -0
- package/dist/actions/ebay-search.mjs.map +1 -0
- package/dist/actions/event-search.cjs +83 -0
- package/dist/actions/event-search.cjs.map +1 -0
- package/dist/actions/event-search.d.cts +71 -0
- package/dist/actions/event-search.d.cts.map +1 -0
- package/dist/actions/event-search.d.mts +71 -0
- package/dist/actions/event-search.d.mts.map +1 -0
- package/dist/actions/event-search.mjs +82 -0
- package/dist/actions/event-search.mjs.map +1 -0
- package/dist/actions/finance-search.cjs +193 -0
- package/dist/actions/finance-search.cjs.map +1 -0
- package/dist/actions/finance-search.d.cts +254 -0
- package/dist/actions/finance-search.d.cts.map +1 -0
- package/dist/actions/finance-search.d.mts +254 -0
- package/dist/actions/finance-search.d.mts.map +1 -0
- package/dist/actions/finance-search.mjs +192 -0
- package/dist/actions/finance-search.mjs.map +1 -0
- package/dist/actions/get-available-location-options-for-google-searches.cjs +31 -0
- package/dist/actions/get-available-location-options-for-google-searches.cjs.map +1 -0
- package/dist/actions/get-available-location-options-for-google-searches.d.cts +28 -0
- package/dist/actions/get-available-location-options-for-google-searches.d.cts.map +1 -0
- package/dist/actions/get-available-location-options-for-google-searches.d.mts +28 -0
- package/dist/actions/get-available-location-options-for-google-searches.d.mts.map +1 -0
- package/dist/actions/get-available-location-options-for-google-searches.mjs +30 -0
- package/dist/actions/get-available-location-options-for-google-searches.mjs.map +1 -0
- package/dist/actions/get-facebook-profile.cjs +108 -0
- package/dist/actions/get-facebook-profile.cjs.map +1 -0
- package/dist/actions/get-facebook-profile.d.cts +94 -0
- package/dist/actions/get-facebook-profile.d.cts.map +1 -0
- package/dist/actions/get-facebook-profile.d.mts +94 -0
- package/dist/actions/get-facebook-profile.d.mts.map +1 -0
- package/dist/actions/get-facebook-profile.mjs +107 -0
- package/dist/actions/get-facebook-profile.mjs.map +1 -0
- package/dist/actions/get-google-about-this-result.cjs +115 -0
- package/dist/actions/get-google-about-this-result.cjs.map +1 -0
- package/dist/actions/get-google-about-this-result.d.cts +102 -0
- package/dist/actions/get-google-about-this-result.d.cts.map +1 -0
- package/dist/actions/get-google-about-this-result.d.mts +102 -0
- package/dist/actions/get-google-about-this-result.d.mts.map +1 -0
- package/dist/actions/get-google-about-this-result.mjs +114 -0
- package/dist/actions/get-google-about-this-result.mjs.map +1 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.cjs +51 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.cjs.map +1 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.d.cts +48 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.d.cts.map +1 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.d.mts +48 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.d.mts.map +1 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.mjs +50 -0
- package/dist/actions/get-google-hotels-autocomplete-suggestions.mjs.map +1 -0
- package/dist/actions/get-google-images-related-content.cjs +64 -0
- package/dist/actions/get-google-images-related-content.cjs.map +1 -0
- package/dist/actions/get-google-images-related-content.d.cts +61 -0
- package/dist/actions/get-google-images-related-content.d.cts.map +1 -0
- package/dist/actions/get-google-images-related-content.d.mts +61 -0
- package/dist/actions/get-google-images-related-content.d.mts.map +1 -0
- package/dist/actions/get-google-images-related-content.mjs +63 -0
- package/dist/actions/get-google-images-related-content.mjs.map +1 -0
- package/dist/actions/get-google-patent-details.cjs +107 -0
- package/dist/actions/get-google-patent-details.cjs.map +1 -0
- package/dist/actions/get-google-patent-details.d.cts +100 -0
- package/dist/actions/get-google-patent-details.d.cts.map +1 -0
- package/dist/actions/get-google-patent-details.d.mts +100 -0
- package/dist/actions/get-google-patent-details.d.mts.map +1 -0
- package/dist/actions/get-google-patent-details.mjs +106 -0
- package/dist/actions/get-google-patent-details.mjs.map +1 -0
- package/dist/actions/get-search-archive.cjs +85 -0
- package/dist/actions/get-search-archive.cjs.map +1 -0
- package/dist/actions/get-search-archive.d.cts +73 -0
- package/dist/actions/get-search-archive.d.cts.map +1 -0
- package/dist/actions/get-search-archive.d.mts +73 -0
- package/dist/actions/get-search-archive.d.mts.map +1 -0
- package/dist/actions/get-search-archive.mjs +84 -0
- package/dist/actions/get-search-archive.mjs.map +1 -0
- package/dist/actions/google-domains-list.cjs +24 -0
- package/dist/actions/google-domains-list.cjs.map +1 -0
- package/dist/actions/google-domains-list.d.cts +18 -0
- package/dist/actions/google-domains-list.d.cts.map +1 -0
- package/dist/actions/google-domains-list.d.mts +18 -0
- package/dist/actions/google-domains-list.d.mts.map +1 -0
- package/dist/actions/google-domains-list.mjs +23 -0
- package/dist/actions/google-domains-list.mjs.map +1 -0
- package/dist/actions/google-forums-search.cjs +132 -0
- package/dist/actions/google-forums-search.cjs.map +1 -0
- package/dist/actions/google-forums-search.d.cts +129 -0
- package/dist/actions/google-forums-search.d.cts.map +1 -0
- package/dist/actions/google-forums-search.d.mts +129 -0
- package/dist/actions/google-forums-search.d.mts.map +1 -0
- package/dist/actions/google-forums-search.mjs +131 -0
- package/dist/actions/google-forums-search.mjs.map +1 -0
- package/dist/actions/google-jobs-search.cjs +107 -0
- package/dist/actions/google-jobs-search.cjs.map +1 -0
- package/dist/actions/google-jobs-search.d.cts +110 -0
- package/dist/actions/google-jobs-search.d.cts.map +1 -0
- package/dist/actions/google-jobs-search.d.mts +110 -0
- package/dist/actions/google-jobs-search.d.mts.map +1 -0
- package/dist/actions/google-jobs-search.mjs +106 -0
- package/dist/actions/google-jobs-search.mjs.map +1 -0
- package/dist/actions/google-lens-search.cjs +75 -0
- package/dist/actions/google-lens-search.cjs.map +1 -0
- package/dist/actions/google-lens-search.d.cts +69 -0
- package/dist/actions/google-lens-search.d.cts.map +1 -0
- package/dist/actions/google-lens-search.d.mts +69 -0
- package/dist/actions/google-lens-search.d.mts.map +1 -0
- package/dist/actions/google-lens-search.mjs +74 -0
- package/dist/actions/google-lens-search.mjs.map +1 -0
- package/dist/actions/google-light-search.cjs +92 -0
- package/dist/actions/google-light-search.cjs.map +1 -0
- package/dist/actions/google-light-search.d.cts +97 -0
- package/dist/actions/google-light-search.d.cts.map +1 -0
- package/dist/actions/google-light-search.d.mts +97 -0
- package/dist/actions/google-light-search.d.mts.map +1 -0
- package/dist/actions/google-light-search.mjs +91 -0
- package/dist/actions/google-light-search.mjs.map +1 -0
- package/dist/actions/google-maps-posts.cjs +62 -0
- package/dist/actions/google-maps-posts.cjs.map +1 -0
- package/dist/actions/google-maps-posts.d.cts +55 -0
- package/dist/actions/google-maps-posts.d.cts.map +1 -0
- package/dist/actions/google-maps-posts.d.mts +55 -0
- package/dist/actions/google-maps-posts.d.mts.map +1 -0
- package/dist/actions/google-maps-posts.mjs +61 -0
- package/dist/actions/google-maps-posts.mjs.map +1 -0
- package/dist/actions/google-maps-search.cjs +135 -0
- package/dist/actions/google-maps-search.cjs.map +1 -0
- package/dist/actions/google-maps-search.d.cts +128 -0
- package/dist/actions/google-maps-search.d.cts.map +1 -0
- package/dist/actions/google-maps-search.d.mts +128 -0
- package/dist/actions/google-maps-search.d.mts.map +1 -0
- package/dist/actions/google-maps-search.mjs +134 -0
- package/dist/actions/google-maps-search.mjs.map +1 -0
- package/dist/actions/google-play-product.cjs +184 -0
- package/dist/actions/google-play-product.cjs.map +1 -0
- package/dist/actions/google-play-product.d.cts +169 -0
- package/dist/actions/google-play-product.d.cts.map +1 -0
- package/dist/actions/google-play-product.d.mts +169 -0
- package/dist/actions/google-play-product.d.mts.map +1 -0
- package/dist/actions/google-play-product.mjs +183 -0
- package/dist/actions/google-play-product.mjs.map +1 -0
- package/dist/actions/google-scholar-author.cjs +90 -0
- package/dist/actions/google-scholar-author.cjs.map +1 -0
- package/dist/actions/google-scholar-author.d.cts +88 -0
- package/dist/actions/google-scholar-author.d.cts.map +1 -0
- package/dist/actions/google-scholar-author.d.mts +88 -0
- package/dist/actions/google-scholar-author.d.mts.map +1 -0
- package/dist/actions/google-scholar-author.mjs +89 -0
- package/dist/actions/google-scholar-author.mjs.map +1 -0
- package/dist/actions/google-scholar-cite.cjs +44 -0
- package/dist/actions/google-scholar-cite.cjs.map +1 -0
- package/dist/actions/google-scholar-cite.d.cts +38 -0
- package/dist/actions/google-scholar-cite.d.cts.map +1 -0
- package/dist/actions/google-scholar-cite.d.mts +38 -0
- package/dist/actions/google-scholar-cite.d.mts.map +1 -0
- package/dist/actions/google-scholar-cite.mjs +43 -0
- package/dist/actions/google-scholar-cite.mjs.map +1 -0
- package/dist/actions/google-videos-light.cjs +71 -0
- package/dist/actions/google-videos-light.cjs.map +1 -0
- package/dist/actions/google-videos-light.d.cts +85 -0
- package/dist/actions/google-videos-light.d.cts.map +1 -0
- package/dist/actions/google-videos-light.d.mts +85 -0
- package/dist/actions/google-videos-light.d.mts.map +1 -0
- package/dist/actions/google-videos-light.mjs +70 -0
- package/dist/actions/google-videos-light.mjs.map +1 -0
- package/dist/actions/hotel-search.cjs +50 -0
- package/dist/actions/hotel-search.cjs.map +1 -0
- package/dist/actions/hotel-search.d.cts +71 -0
- package/dist/actions/hotel-search.d.cts.map +1 -0
- package/dist/actions/hotel-search.d.mts +71 -0
- package/dist/actions/hotel-search.d.mts.map +1 -0
- package/dist/actions/hotel-search.mjs +47 -0
- package/dist/actions/hotel-search.mjs.map +1 -0
- package/dist/actions/image-search.cjs +19 -0
- package/dist/actions/image-search.cjs.map +1 -0
- package/dist/actions/image-search.d.cts +17 -0
- package/dist/actions/image-search.d.cts.map +1 -0
- package/dist/actions/image-search.d.mts +17 -0
- package/dist/actions/image-search.d.mts.map +1 -0
- package/dist/actions/image-search.mjs +16 -0
- package/dist/actions/image-search.mjs.map +1 -0
- package/dist/actions/index.cjs +97 -0
- package/dist/actions/index.d.cts +49 -0
- package/dist/actions/index.d.mts +49 -0
- package/dist/actions/index.mjs +49 -0
- package/dist/actions/naver-search.cjs +174 -0
- package/dist/actions/naver-search.cjs.map +1 -0
- package/dist/actions/naver-search.d.cts +164 -0
- package/dist/actions/naver-search.d.cts.map +1 -0
- package/dist/actions/naver-search.d.mts +164 -0
- package/dist/actions/naver-search.d.mts.map +1 -0
- package/dist/actions/naver-search.mjs +173 -0
- package/dist/actions/naver-search.mjs.map +1 -0
- package/dist/actions/news-search.cjs +20 -0
- package/dist/actions/news-search.cjs.map +1 -0
- package/dist/actions/news-search.d.cts +19 -0
- package/dist/actions/news-search.d.cts.map +1 -0
- package/dist/actions/news-search.d.mts +19 -0
- package/dist/actions/news-search.d.mts.map +1 -0
- package/dist/actions/news-search.mjs +17 -0
- package/dist/actions/news-search.mjs.map +1 -0
- package/dist/actions/open-table-reviews.cjs +118 -0
- package/dist/actions/open-table-reviews.cjs.map +1 -0
- package/dist/actions/open-table-reviews.d.cts +109 -0
- package/dist/actions/open-table-reviews.d.cts.map +1 -0
- package/dist/actions/open-table-reviews.d.mts +109 -0
- package/dist/actions/open-table-reviews.d.mts.map +1 -0
- package/dist/actions/open-table-reviews.mjs +117 -0
- package/dist/actions/open-table-reviews.mjs.map +1 -0
- package/dist/actions/play-search.cjs +37 -0
- package/dist/actions/play-search.cjs.map +1 -0
- package/dist/actions/play-search.d.cts +45 -0
- package/dist/actions/play-search.d.cts.map +1 -0
- package/dist/actions/play-search.d.mts +45 -0
- package/dist/actions/play-search.d.mts.map +1 -0
- package/dist/actions/play-search.mjs +34 -0
- package/dist/actions/play-search.mjs.map +1 -0
- package/dist/actions/scholar-search.cjs +20 -0
- package/dist/actions/scholar-search.cjs.map +1 -0
- package/dist/actions/scholar-search.d.cts +19 -0
- package/dist/actions/scholar-search.d.cts.map +1 -0
- package/dist/actions/scholar-search.d.mts +19 -0
- package/dist/actions/scholar-search.d.mts.map +1 -0
- package/dist/actions/scholar-search.mjs +17 -0
- package/dist/actions/scholar-search.mjs.map +1 -0
- package/dist/actions/search-apple-app-store.cjs +72 -0
- package/dist/actions/search-apple-app-store.cjs.map +1 -0
- package/dist/actions/search-apple-app-store.d.cts +69 -0
- package/dist/actions/search-apple-app-store.d.cts.map +1 -0
- package/dist/actions/search-apple-app-store.d.mts +69 -0
- package/dist/actions/search-apple-app-store.d.mts.map +1 -0
- package/dist/actions/search-apple-app-store.mjs +71 -0
- package/dist/actions/search-apple-app-store.mjs.map +1 -0
- package/dist/actions/search-google-images-light.cjs +81 -0
- package/dist/actions/search-google-images-light.cjs.map +1 -0
- package/dist/actions/search-google-images-light.d.cts +87 -0
- package/dist/actions/search-google-images-light.d.cts.map +1 -0
- package/dist/actions/search-google-images-light.d.mts +87 -0
- package/dist/actions/search-google-images-light.d.mts.map +1 -0
- package/dist/actions/search-google-images-light.mjs +80 -0
- package/dist/actions/search-google-images-light.mjs.map +1 -0
- package/dist/actions/search-google-local-services.cjs +59 -0
- package/dist/actions/search-google-local-services.cjs.map +1 -0
- package/dist/actions/search-google-local-services.d.cts +63 -0
- package/dist/actions/search-google-local-services.d.cts.map +1 -0
- package/dist/actions/search-google-local-services.d.mts +63 -0
- package/dist/actions/search-google-local-services.d.mts.map +1 -0
- package/dist/actions/search-google-local-services.mjs +58 -0
- package/dist/actions/search-google-local-services.mjs.map +1 -0
- package/dist/actions/search-yelp.cjs +47 -0
- package/dist/actions/search-yelp.cjs.map +1 -0
- package/dist/actions/search-yelp.d.cts +47 -0
- package/dist/actions/search-yelp.d.cts.map +1 -0
- package/dist/actions/search-yelp.d.mts +47 -0
- package/dist/actions/search-yelp.d.mts.map +1 -0
- package/dist/actions/search-yelp.mjs +46 -0
- package/dist/actions/search-yelp.mjs.map +1 -0
- package/dist/actions/search.cjs +22 -0
- package/dist/actions/search.cjs.map +1 -0
- package/dist/actions/search.d.cts +21 -0
- package/dist/actions/search.d.cts.map +1 -0
- package/dist/actions/search.d.mts +21 -0
- package/dist/actions/search.d.mts.map +1 -0
- package/dist/actions/search.mjs +21 -0
- package/dist/actions/search.mjs.map +1 -0
- package/dist/actions/shopping-search.cjs +20 -0
- package/dist/actions/shopping-search.cjs.map +1 -0
- package/dist/actions/shopping-search.d.cts +19 -0
- package/dist/actions/shopping-search.d.cts.map +1 -0
- package/dist/actions/shopping-search.d.mts +19 -0
- package/dist/actions/shopping-search.d.mts.map +1 -0
- package/dist/actions/shopping-search.mjs +17 -0
- package/dist/actions/shopping-search.mjs.map +1 -0
- package/dist/actions/trends-search.cjs +114 -0
- package/dist/actions/trends-search.cjs.map +1 -0
- package/dist/actions/trends-search.d.cts +112 -0
- package/dist/actions/trends-search.d.cts.map +1 -0
- package/dist/actions/trends-search.d.mts +112 -0
- package/dist/actions/trends-search.d.mts.map +1 -0
- package/dist/actions/trends-search.mjs +113 -0
- package/dist/actions/trends-search.mjs.map +1 -0
- package/dist/actions/walmart-product-reviews.cjs +105 -0
- package/dist/actions/walmart-product-reviews.cjs.map +1 -0
- package/dist/actions/walmart-product-reviews.d.cts +115 -0
- package/dist/actions/walmart-product-reviews.d.cts.map +1 -0
- package/dist/actions/walmart-product-reviews.d.mts +115 -0
- package/dist/actions/walmart-product-reviews.d.mts.map +1 -0
- package/dist/actions/walmart-product-reviews.mjs +104 -0
- package/dist/actions/walmart-product-reviews.mjs.map +1 -0
- package/dist/actions/walmart-search.cjs +32 -0
- package/dist/actions/walmart-search.cjs.map +1 -0
- package/dist/actions/walmart-search.d.cts +35 -0
- package/dist/actions/walmart-search.d.cts.map +1 -0
- package/dist/actions/walmart-search.d.mts +35 -0
- package/dist/actions/walmart-search.d.mts.map +1 -0
- package/dist/actions/walmart-search.mjs +29 -0
- package/dist/actions/walmart-search.mjs.map +1 -0
- package/dist/actions/yahoo-search.cjs +42 -0
- package/dist/actions/yahoo-search.cjs.map +1 -0
- package/dist/actions/yahoo-search.d.cts +50 -0
- package/dist/actions/yahoo-search.d.cts.map +1 -0
- package/dist/actions/yahoo-search.d.mts +50 -0
- package/dist/actions/yahoo-search.d.mts.map +1 -0
- package/dist/actions/yahoo-search.mjs +39 -0
- package/dist/actions/yahoo-search.mjs.map +1 -0
- package/dist/actions/yahoo-videos.cjs +94 -0
- package/dist/actions/yahoo-videos.cjs.map +1 -0
- package/dist/actions/yahoo-videos.d.cts +93 -0
- package/dist/actions/yahoo-videos.d.cts.map +1 -0
- package/dist/actions/yahoo-videos.d.mts +93 -0
- package/dist/actions/yahoo-videos.d.mts.map +1 -0
- package/dist/actions/yahoo-videos.mjs +93 -0
- package/dist/actions/yahoo-videos.mjs.map +1 -0
- package/dist/actions/yandex-images-search.cjs +97 -0
- package/dist/actions/yandex-images-search.cjs.map +1 -0
- package/dist/actions/yandex-images-search.d.cts +103 -0
- package/dist/actions/yandex-images-search.d.cts.map +1 -0
- package/dist/actions/yandex-images-search.d.mts +103 -0
- package/dist/actions/yandex-images-search.d.mts.map +1 -0
- package/dist/actions/yandex-images-search.mjs +96 -0
- package/dist/actions/yandex-images-search.mjs.map +1 -0
- package/dist/actions/yandex-search.cjs +30 -0
- package/dist/actions/yandex-search.cjs.map +1 -0
- package/dist/actions/yandex-search.d.cts +30 -0
- package/dist/actions/yandex-search.d.cts.map +1 -0
- package/dist/actions/yandex-search.d.mts +30 -0
- package/dist/actions/yandex-search.d.mts.map +1 -0
- package/dist/actions/yandex-search.mjs +27 -0
- package/dist/actions/yandex-search.mjs.map +1 -0
- package/dist/actions/you-tube-search.cjs +38 -0
- package/dist/actions/you-tube-search.cjs.map +1 -0
- package/dist/actions/you-tube-search.d.cts +40 -0
- package/dist/actions/you-tube-search.d.cts.map +1 -0
- package/dist/actions/you-tube-search.d.mts +40 -0
- package/dist/actions/you-tube-search.d.mts.map +1 -0
- package/dist/actions/you-tube-search.mjs +35 -0
- package/dist/actions/you-tube-search.mjs.map +1 -0
- package/dist/app.cjs +9 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +5 -0
- package/dist/app.d.cts.map +1 -0
- package/dist/app.d.mts +5 -0
- package/dist/app.d.mts.map +1 -0
- package/dist/app.mjs +10 -0
- package/dist/app.mjs.map +1 -0
- package/dist/catalog.cjs +21 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.cts +22 -0
- package/dist/catalog.d.cts.map +1 -0
- package/dist/catalog.d.mts +22 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +21 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/execute.cjs +18 -0
- package/dist/execute.cjs.map +1 -0
- package/dist/execute.mjs +18 -0
- package/dist/execute.mjs.map +1 -0
- package/dist/index.cjs +102 -0
- package/dist/index.d.cts +51 -0
- package/dist/index.d.mts +51 -3
- package/dist/index.mjs +52 -4
- package/package.json +31 -55
- package/LICENSE +0 -21
- package/dist/credential-sets/index.d.mts +0 -2
- package/dist/credential-sets/index.mjs +0 -3
- package/dist/operations/index.d.mts +0 -2
- package/dist/operations/index.mjs +0 -3
- package/dist/schemas/index.d.mts +0 -1
- package/dist/schemas/index.mjs +0 -1
- package/dist/serpapi.credential-set-5iG6pd3Y.d.mts +0 -14
- package/dist/serpapi.credential-set-CuEBudaA.mjs +0 -15
- package/dist/youtube-video-transcript.operation-BoQHn90s.mjs +0 -2763
- package/dist/youtube-video-transcript.operation-IqJOT2iH.d.mts +0 -1988
|
@@ -1,2763 +0,0 @@
|
|
|
1
|
-
import { t as serpApiCredentialSet } from "./serpapi.credential-set-CuEBudaA.mjs";
|
|
2
|
-
import { Operation } from "@keystrokehq/core";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { getAccount, getJson, getJsonBySearchId, getLocations } from "serpapi";
|
|
5
|
-
|
|
6
|
-
//#region src/utils/client.ts
|
|
7
|
-
async function serpApiSearch(credentials, engine, params) {
|
|
8
|
-
return await getJson({
|
|
9
|
-
engine,
|
|
10
|
-
api_key: credentials.SERPAPI_API_KEY,
|
|
11
|
-
...params
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
async function serpApiGetAccount(credentials) {
|
|
15
|
-
return await getAccount({ api_key: credentials.SERPAPI_API_KEY });
|
|
16
|
-
}
|
|
17
|
-
async function serpApiGetLocations(params = {}) {
|
|
18
|
-
return await getLocations(params);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
//#region src/operations/account.operation.ts
|
|
23
|
-
const serpApiAccountOperation = new Operation({
|
|
24
|
-
id: "serpapi.account",
|
|
25
|
-
name: "SerpApi Account",
|
|
26
|
-
description: "Get SerpApi account information",
|
|
27
|
-
credentialSets: [serpApiCredentialSet],
|
|
28
|
-
input: z.object({}),
|
|
29
|
-
output: z.object({
|
|
30
|
-
account_id: z.string().optional(),
|
|
31
|
-
account_email: z.string().optional(),
|
|
32
|
-
plan_name: z.string().optional(),
|
|
33
|
-
searches_per_month: z.number().optional(),
|
|
34
|
-
total_searches_left: z.number().optional()
|
|
35
|
-
}).passthrough(),
|
|
36
|
-
run: async (_input, context) => {
|
|
37
|
-
return await serpApiGetAccount(context.credentials.serpapi);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
//#region src/operations/amazon-product.operation.ts
|
|
43
|
-
const amazonProductOperation = new Operation({
|
|
44
|
-
id: "serpapi.amazon-product",
|
|
45
|
-
name: "Amazon Product",
|
|
46
|
-
description: "Get Amazon product details via SerpApi",
|
|
47
|
-
credentialSets: [serpApiCredentialSet],
|
|
48
|
-
input: z.object({
|
|
49
|
-
product_id: z.string(),
|
|
50
|
-
amazon_domain: z.string().optional(),
|
|
51
|
-
offers_page_token: z.string().optional()
|
|
52
|
-
}),
|
|
53
|
-
output: z.object({
|
|
54
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
55
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
56
|
-
product_results: z.record(z.string(), z.unknown()).optional(),
|
|
57
|
-
about_item: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
58
|
-
bought_together: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
59
|
-
compare_with_similar: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
60
|
-
product_description: z.string().optional(),
|
|
61
|
-
product_details: z.record(z.string(), z.unknown()).optional()
|
|
62
|
-
}).passthrough(),
|
|
63
|
-
run: async (input, context) => {
|
|
64
|
-
return await serpApiSearch(context.credentials.serpapi, "amazon_product", input);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
//#endregion
|
|
69
|
-
//#region src/operations/amazon-search.operation.ts
|
|
70
|
-
const amazonSearchOperation = new Operation({
|
|
71
|
-
id: "serpapi.amazon-search",
|
|
72
|
-
name: "Amazon Search",
|
|
73
|
-
description: "Search Amazon via SerpApi",
|
|
74
|
-
credentialSets: [serpApiCredentialSet],
|
|
75
|
-
input: z.object({
|
|
76
|
-
k: z.string(),
|
|
77
|
-
amazon_domain: z.string().optional(),
|
|
78
|
-
department_id: z.string().optional(),
|
|
79
|
-
sort_by: z.string().optional(),
|
|
80
|
-
price_low: z.number().optional(),
|
|
81
|
-
price_high: z.number().optional(),
|
|
82
|
-
page: z.number().optional(),
|
|
83
|
-
star_rating: z.string().optional(),
|
|
84
|
-
delivery: z.string().optional(),
|
|
85
|
-
condition: z.string().optional(),
|
|
86
|
-
brand: z.string().optional(),
|
|
87
|
-
prime: z.boolean().optional()
|
|
88
|
-
}),
|
|
89
|
-
output: z.object({
|
|
90
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
91
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
92
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
93
|
-
featured_products: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
94
|
-
product_ads: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
95
|
-
filters: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
96
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
97
|
-
}).passthrough(),
|
|
98
|
-
run: async (input, context) => {
|
|
99
|
-
return await serpApiSearch(context.credentials.serpapi, "amazon", input);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
//#endregion
|
|
104
|
-
//#region src/operations/apple-app-store.operation.ts
|
|
105
|
-
const appleAppStoreOperation = new Operation({
|
|
106
|
-
id: "serpapi.apple-app-store",
|
|
107
|
-
name: "Apple App Store Search",
|
|
108
|
-
description: "Search the Apple App Store via SerpApi",
|
|
109
|
-
credentialSets: [serpApiCredentialSet],
|
|
110
|
-
input: z.object({
|
|
111
|
-
term: z.string(),
|
|
112
|
-
country: z.string().optional(),
|
|
113
|
-
lang: z.string().optional(),
|
|
114
|
-
num: z.number().optional(),
|
|
115
|
-
page: z.number().optional()
|
|
116
|
-
}),
|
|
117
|
-
output: z.object({
|
|
118
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
119
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
120
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
121
|
-
}).passthrough(),
|
|
122
|
-
run: async (input, context) => {
|
|
123
|
-
return await serpApiSearch(context.credentials.serpapi, "apple_app_store", input);
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
//#endregion
|
|
128
|
-
//#region src/operations/apple-product.operation.ts
|
|
129
|
-
const appleProductOperation = new Operation({
|
|
130
|
-
id: "serpapi.apple-product",
|
|
131
|
-
name: "Apple Product",
|
|
132
|
-
description: "Get Apple product details via SerpApi",
|
|
133
|
-
credentialSets: [serpApiCredentialSet],
|
|
134
|
-
input: z.object({
|
|
135
|
-
product_id: z.string(),
|
|
136
|
-
country: z.string().optional(),
|
|
137
|
-
lang: z.string().optional()
|
|
138
|
-
}),
|
|
139
|
-
output: z.object({
|
|
140
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
141
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
142
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
143
|
-
}).passthrough(),
|
|
144
|
-
run: async (input, context) => {
|
|
145
|
-
return await serpApiSearch(context.credentials.serpapi, "apple_product", input);
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
//#endregion
|
|
150
|
-
//#region src/operations/apple-reviews.operation.ts
|
|
151
|
-
const appleReviewsOperation = new Operation({
|
|
152
|
-
id: "serpapi.apple-reviews",
|
|
153
|
-
name: "Apple Reviews",
|
|
154
|
-
description: "Get Apple product reviews via SerpApi",
|
|
155
|
-
credentialSets: [serpApiCredentialSet],
|
|
156
|
-
input: z.object({
|
|
157
|
-
product_id: z.string(),
|
|
158
|
-
country: z.string().optional(),
|
|
159
|
-
lang: z.string().optional(),
|
|
160
|
-
sort: z.string().optional(),
|
|
161
|
-
page: z.number().optional()
|
|
162
|
-
}),
|
|
163
|
-
output: z.object({
|
|
164
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
165
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
166
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
167
|
-
}).passthrough(),
|
|
168
|
-
run: async (input, context) => {
|
|
169
|
-
return await serpApiSearch(context.credentials.serpapi, "apple_reviews", input);
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
//#endregion
|
|
174
|
-
//#region src/operations/baidu-search.operation.ts
|
|
175
|
-
const baiduSearchOperation = new Operation({
|
|
176
|
-
id: "serpapi.baidu-search",
|
|
177
|
-
name: "Baidu Search",
|
|
178
|
-
description: "Search Baidu via SerpApi",
|
|
179
|
-
credentialSets: [serpApiCredentialSet],
|
|
180
|
-
input: z.object({
|
|
181
|
-
q: z.string(),
|
|
182
|
-
ct: z.string().optional(),
|
|
183
|
-
rn: z.number().optional(),
|
|
184
|
-
pn: z.number().optional()
|
|
185
|
-
}),
|
|
186
|
-
output: z.object({
|
|
187
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
188
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
189
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
190
|
-
ads_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
191
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
192
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
193
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
194
|
-
}).passthrough(),
|
|
195
|
-
run: async (input, context) => {
|
|
196
|
-
return await serpApiSearch(context.credentials.serpapi, "baidu", input);
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
//#endregion
|
|
201
|
-
//#region src/operations/bing-copilot.operation.ts
|
|
202
|
-
const bingCopilotOperation = new Operation({
|
|
203
|
-
id: "serpapi.bing-copilot",
|
|
204
|
-
name: "Bing Copilot",
|
|
205
|
-
description: "Search Bing Copilot via SerpApi",
|
|
206
|
-
credentialSets: [serpApiCredentialSet],
|
|
207
|
-
input: z.object({
|
|
208
|
-
q: z.string(),
|
|
209
|
-
cc: z.string().optional(),
|
|
210
|
-
mkt: z.string().optional(),
|
|
211
|
-
device: z.string().optional()
|
|
212
|
-
}),
|
|
213
|
-
output: z.object({
|
|
214
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
215
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
216
|
-
copilot_response: z.record(z.string(), z.unknown()).optional()
|
|
217
|
-
}).passthrough(),
|
|
218
|
-
run: async (input, context) => {
|
|
219
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_copilot", input);
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
//#endregion
|
|
224
|
-
//#region src/operations/bing-images.operation.ts
|
|
225
|
-
const bingImagesOperation = new Operation({
|
|
226
|
-
id: "serpapi.bing-images",
|
|
227
|
-
name: "Bing Images Search",
|
|
228
|
-
description: "Search Bing Images via SerpApi",
|
|
229
|
-
credentialSets: [serpApiCredentialSet],
|
|
230
|
-
input: z.object({
|
|
231
|
-
q: z.string(),
|
|
232
|
-
cc: z.string().optional(),
|
|
233
|
-
mkt: z.string().optional(),
|
|
234
|
-
first: z.number().optional(),
|
|
235
|
-
count: z.number().optional(),
|
|
236
|
-
safeSearch: z.string().optional(),
|
|
237
|
-
device: z.string().optional()
|
|
238
|
-
}),
|
|
239
|
-
output: z.object({
|
|
240
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
241
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
242
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
243
|
-
}).passthrough(),
|
|
244
|
-
run: async (input, context) => {
|
|
245
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_images", input);
|
|
246
|
-
}
|
|
247
|
-
});
|
|
248
|
-
|
|
249
|
-
//#endregion
|
|
250
|
-
//#region src/operations/bing-maps.operation.ts
|
|
251
|
-
const bingMapsOperation = new Operation({
|
|
252
|
-
id: "serpapi.bing-maps",
|
|
253
|
-
name: "Bing Maps Search",
|
|
254
|
-
description: "Search Bing Maps via SerpApi",
|
|
255
|
-
credentialSets: [serpApiCredentialSet],
|
|
256
|
-
input: z.object({
|
|
257
|
-
q: z.string(),
|
|
258
|
-
cc: z.string().optional(),
|
|
259
|
-
mkt: z.string().optional(),
|
|
260
|
-
device: z.string().optional()
|
|
261
|
-
}),
|
|
262
|
-
output: z.object({
|
|
263
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
264
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
265
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
266
|
-
}).passthrough(),
|
|
267
|
-
run: async (input, context) => {
|
|
268
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_maps", input);
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
//#endregion
|
|
273
|
-
//#region src/operations/bing-news.operation.ts
|
|
274
|
-
const bingNewsOperation = new Operation({
|
|
275
|
-
id: "serpapi.bing-news",
|
|
276
|
-
name: "Bing News Search",
|
|
277
|
-
description: "Search Bing News via SerpApi",
|
|
278
|
-
credentialSets: [serpApiCredentialSet],
|
|
279
|
-
input: z.object({
|
|
280
|
-
q: z.string(),
|
|
281
|
-
cc: z.string().optional(),
|
|
282
|
-
mkt: z.string().optional(),
|
|
283
|
-
first: z.number().optional(),
|
|
284
|
-
count: z.number().optional(),
|
|
285
|
-
freshness: z.string().optional(),
|
|
286
|
-
device: z.string().optional()
|
|
287
|
-
}),
|
|
288
|
-
output: z.object({
|
|
289
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
290
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
291
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
292
|
-
}).passthrough(),
|
|
293
|
-
run: async (input, context) => {
|
|
294
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_news", input);
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
|
|
298
|
-
//#endregion
|
|
299
|
-
//#region src/operations/bing-reverse-image.operation.ts
|
|
300
|
-
const bingReverseImageOperation = new Operation({
|
|
301
|
-
id: "serpapi.bing-reverse-image",
|
|
302
|
-
name: "Bing Reverse Image Search",
|
|
303
|
-
description: "Search Bing Reverse Image via SerpApi",
|
|
304
|
-
credentialSets: [serpApiCredentialSet],
|
|
305
|
-
input: z.object({
|
|
306
|
-
image_url: z.string(),
|
|
307
|
-
cc: z.string().optional(),
|
|
308
|
-
mkt: z.string().optional()
|
|
309
|
-
}),
|
|
310
|
-
output: z.object({
|
|
311
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
312
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
313
|
-
visual_matches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
314
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
315
|
-
}).passthrough(),
|
|
316
|
-
run: async (input, context) => {
|
|
317
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_reverse_image", input);
|
|
318
|
-
}
|
|
319
|
-
});
|
|
320
|
-
|
|
321
|
-
//#endregion
|
|
322
|
-
//#region src/operations/bing-search.operation.ts
|
|
323
|
-
const bingSearchOperation = new Operation({
|
|
324
|
-
id: "serpapi.bing-search",
|
|
325
|
-
name: "Bing Search",
|
|
326
|
-
description: "Search Bing via SerpApi",
|
|
327
|
-
credentialSets: [serpApiCredentialSet],
|
|
328
|
-
input: z.object({
|
|
329
|
-
q: z.string(),
|
|
330
|
-
location: z.string().optional(),
|
|
331
|
-
cc: z.string().optional(),
|
|
332
|
-
mkt: z.string().optional(),
|
|
333
|
-
first: z.number().optional(),
|
|
334
|
-
count: z.number().optional(),
|
|
335
|
-
safeSearch: z.enum([
|
|
336
|
-
"off",
|
|
337
|
-
"moderate",
|
|
338
|
-
"strict"
|
|
339
|
-
]).optional(),
|
|
340
|
-
device: z.string().optional()
|
|
341
|
-
}),
|
|
342
|
-
output: z.object({
|
|
343
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
344
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
345
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
346
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
347
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
348
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
349
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
350
|
-
}).passthrough(),
|
|
351
|
-
run: async (input, context) => {
|
|
352
|
-
return await serpApiSearch(context.credentials.serpapi, "bing", input);
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
|
|
356
|
-
//#endregion
|
|
357
|
-
//#region src/operations/bing-shopping.operation.ts
|
|
358
|
-
const bingShoppingOperation = new Operation({
|
|
359
|
-
id: "serpapi.bing-shopping",
|
|
360
|
-
name: "Bing Shopping Search",
|
|
361
|
-
description: "Search Bing Shopping via SerpApi",
|
|
362
|
-
credentialSets: [serpApiCredentialSet],
|
|
363
|
-
input: z.object({
|
|
364
|
-
q: z.string(),
|
|
365
|
-
cc: z.string().optional(),
|
|
366
|
-
mkt: z.string().optional(),
|
|
367
|
-
first: z.number().optional(),
|
|
368
|
-
count: z.number().optional(),
|
|
369
|
-
device: z.string().optional()
|
|
370
|
-
}),
|
|
371
|
-
output: z.object({
|
|
372
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
373
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
374
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
375
|
-
}).passthrough(),
|
|
376
|
-
run: async (input, context) => {
|
|
377
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_shopping", input);
|
|
378
|
-
}
|
|
379
|
-
});
|
|
380
|
-
|
|
381
|
-
//#endregion
|
|
382
|
-
//#region src/operations/bing-videos.operation.ts
|
|
383
|
-
const bingVideosOperation = new Operation({
|
|
384
|
-
id: "serpapi.bing-videos",
|
|
385
|
-
name: "Bing Videos Search",
|
|
386
|
-
description: "Search Bing Videos via SerpApi",
|
|
387
|
-
credentialSets: [serpApiCredentialSet],
|
|
388
|
-
input: z.object({
|
|
389
|
-
q: z.string(),
|
|
390
|
-
cc: z.string().optional(),
|
|
391
|
-
mkt: z.string().optional(),
|
|
392
|
-
first: z.number().optional(),
|
|
393
|
-
count: z.number().optional(),
|
|
394
|
-
device: z.string().optional()
|
|
395
|
-
}),
|
|
396
|
-
output: z.object({
|
|
397
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
398
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
399
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
400
|
-
}).passthrough(),
|
|
401
|
-
run: async (input, context) => {
|
|
402
|
-
return await serpApiSearch(context.credentials.serpapi, "bing_videos", input);
|
|
403
|
-
}
|
|
404
|
-
});
|
|
405
|
-
|
|
406
|
-
//#endregion
|
|
407
|
-
//#region src/operations/brave-ai-mode.operation.ts
|
|
408
|
-
const braveAiModeOperation = new Operation({
|
|
409
|
-
id: "serpapi.brave-ai-mode",
|
|
410
|
-
name: "Brave AI Mode",
|
|
411
|
-
description: "Search Brave AI Mode via SerpApi",
|
|
412
|
-
credentialSets: [serpApiCredentialSet],
|
|
413
|
-
input: z.object({
|
|
414
|
-
q: z.string(),
|
|
415
|
-
device: z.string().optional()
|
|
416
|
-
}),
|
|
417
|
-
output: z.object({
|
|
418
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
419
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
420
|
-
ai_response: z.record(z.string(), z.unknown()).optional()
|
|
421
|
-
}).passthrough(),
|
|
422
|
-
run: async (input, context) => {
|
|
423
|
-
return await serpApiSearch(context.credentials.serpapi, "brave_ai_mode", input);
|
|
424
|
-
}
|
|
425
|
-
});
|
|
426
|
-
|
|
427
|
-
//#endregion
|
|
428
|
-
//#region src/operations/duckduckgo-light.operation.ts
|
|
429
|
-
const duckduckgoLightOperation = new Operation({
|
|
430
|
-
id: "serpapi.duckduckgo-light",
|
|
431
|
-
name: "DuckDuckGo Light Search",
|
|
432
|
-
description: "Search DuckDuckGo Light via SerpApi",
|
|
433
|
-
credentialSets: [serpApiCredentialSet],
|
|
434
|
-
input: z.object({
|
|
435
|
-
q: z.string(),
|
|
436
|
-
kl: z.string().optional(),
|
|
437
|
-
safe: z.string().optional(),
|
|
438
|
-
device: z.string().optional()
|
|
439
|
-
}),
|
|
440
|
-
output: z.object({
|
|
441
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
442
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
443
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
444
|
-
}).passthrough(),
|
|
445
|
-
run: async (input, context) => {
|
|
446
|
-
return await serpApiSearch(context.credentials.serpapi, "duckduckgo_light", input);
|
|
447
|
-
}
|
|
448
|
-
});
|
|
449
|
-
|
|
450
|
-
//#endregion
|
|
451
|
-
//#region src/operations/duckduckgo-maps.operation.ts
|
|
452
|
-
const duckduckgoMapsOperation = new Operation({
|
|
453
|
-
id: "serpapi.duckduckgo-maps",
|
|
454
|
-
name: "DuckDuckGo Maps Search",
|
|
455
|
-
description: "Search DuckDuckGo Maps via SerpApi",
|
|
456
|
-
credentialSets: [serpApiCredentialSet],
|
|
457
|
-
input: z.object({
|
|
458
|
-
q: z.string(),
|
|
459
|
-
kl: z.string().optional()
|
|
460
|
-
}),
|
|
461
|
-
output: z.object({
|
|
462
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
463
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
464
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
465
|
-
}).passthrough(),
|
|
466
|
-
run: async (input, context) => {
|
|
467
|
-
return await serpApiSearch(context.credentials.serpapi, "duckduckgo_maps", input);
|
|
468
|
-
}
|
|
469
|
-
});
|
|
470
|
-
|
|
471
|
-
//#endregion
|
|
472
|
-
//#region src/operations/duckduckgo-news.operation.ts
|
|
473
|
-
const duckduckgoNewsOperation = new Operation({
|
|
474
|
-
id: "serpapi.duckduckgo-news",
|
|
475
|
-
name: "DuckDuckGo News Search",
|
|
476
|
-
description: "Search DuckDuckGo News via SerpApi",
|
|
477
|
-
credentialSets: [serpApiCredentialSet],
|
|
478
|
-
input: z.object({
|
|
479
|
-
q: z.string(),
|
|
480
|
-
kl: z.string().optional(),
|
|
481
|
-
safe: z.string().optional(),
|
|
482
|
-
device: z.string().optional()
|
|
483
|
-
}),
|
|
484
|
-
output: z.object({
|
|
485
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
486
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
487
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
488
|
-
}).passthrough(),
|
|
489
|
-
run: async (input, context) => {
|
|
490
|
-
return await serpApiSearch(context.credentials.serpapi, "duckduckgo_news", input);
|
|
491
|
-
}
|
|
492
|
-
});
|
|
493
|
-
|
|
494
|
-
//#endregion
|
|
495
|
-
//#region src/operations/duckduckgo-search.operation.ts
|
|
496
|
-
const duckduckgoSearchOperation = new Operation({
|
|
497
|
-
id: "serpapi.duckduckgo-search",
|
|
498
|
-
name: "DuckDuckGo Search",
|
|
499
|
-
description: "Search DuckDuckGo via SerpApi",
|
|
500
|
-
credentialSets: [serpApiCredentialSet],
|
|
501
|
-
input: z.object({
|
|
502
|
-
q: z.string(),
|
|
503
|
-
kl: z.string().optional(),
|
|
504
|
-
safe: z.string().optional(),
|
|
505
|
-
device: z.string().optional()
|
|
506
|
-
}),
|
|
507
|
-
output: z.object({
|
|
508
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
509
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
510
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
511
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
512
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
513
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
514
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
515
|
-
}).passthrough(),
|
|
516
|
-
run: async (input, context) => {
|
|
517
|
-
return await serpApiSearch(context.credentials.serpapi, "duckduckgo", input);
|
|
518
|
-
}
|
|
519
|
-
});
|
|
520
|
-
|
|
521
|
-
//#endregion
|
|
522
|
-
//#region src/operations/duckduckgo-search-assist.operation.ts
|
|
523
|
-
const duckduckgoSearchAssistOperation = new Operation({
|
|
524
|
-
id: "serpapi.duckduckgo-search-assist",
|
|
525
|
-
name: "DuckDuckGo Search Assist",
|
|
526
|
-
description: "Get DuckDuckGo search suggestions via SerpApi",
|
|
527
|
-
credentialSets: [serpApiCredentialSet],
|
|
528
|
-
input: z.object({
|
|
529
|
-
q: z.string(),
|
|
530
|
-
kl: z.string().optional()
|
|
531
|
-
}),
|
|
532
|
-
output: z.object({
|
|
533
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
534
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
535
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
536
|
-
}).passthrough(),
|
|
537
|
-
run: async (input, context) => {
|
|
538
|
-
return await serpApiSearch(context.credentials.serpapi, "duckduckgo_search_assist", input);
|
|
539
|
-
}
|
|
540
|
-
});
|
|
541
|
-
|
|
542
|
-
//#endregion
|
|
543
|
-
//#region src/operations/ebay-product.operation.ts
|
|
544
|
-
const ebayProductOperation = new Operation({
|
|
545
|
-
id: "serpapi.ebay-product",
|
|
546
|
-
name: "eBay Product",
|
|
547
|
-
description: "Get eBay product details via SerpApi",
|
|
548
|
-
credentialSets: [serpApiCredentialSet],
|
|
549
|
-
input: z.object({
|
|
550
|
-
product_id: z.string().optional(),
|
|
551
|
-
epid: z.string().optional(),
|
|
552
|
-
ebay_domain: z.string().optional()
|
|
553
|
-
}).refine((data) => data.product_id || data.epid, { message: "At least one of product_id or epid is required" }),
|
|
554
|
-
output: z.object({
|
|
555
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
556
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
557
|
-
product: z.record(z.string(), z.unknown()).optional(),
|
|
558
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
559
|
-
}).passthrough(),
|
|
560
|
-
run: async (input, context) => {
|
|
561
|
-
return await serpApiSearch(context.credentials.serpapi, "ebay_product", input);
|
|
562
|
-
}
|
|
563
|
-
});
|
|
564
|
-
|
|
565
|
-
//#endregion
|
|
566
|
-
//#region src/operations/ebay-search.operation.ts
|
|
567
|
-
const ebaySearchOperation = new Operation({
|
|
568
|
-
id: "serpapi.ebay-search",
|
|
569
|
-
name: "eBay Search",
|
|
570
|
-
description: "Search eBay via SerpApi",
|
|
571
|
-
credentialSets: [serpApiCredentialSet],
|
|
572
|
-
input: z.object({
|
|
573
|
-
_nkw: z.string(),
|
|
574
|
-
ebay_domain: z.string().optional(),
|
|
575
|
-
_sacat: z.string().optional(),
|
|
576
|
-
_udlo: z.number().optional(),
|
|
577
|
-
_udhi: z.number().optional(),
|
|
578
|
-
_sop: z.string().optional(),
|
|
579
|
-
LH_BIN: z.string().optional(),
|
|
580
|
-
LH_Auction: z.string().optional(),
|
|
581
|
-
LH_ItemCondition: z.string().optional(),
|
|
582
|
-
_pgn: z.number().optional()
|
|
583
|
-
}),
|
|
584
|
-
output: z.object({
|
|
585
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
586
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
587
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
588
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
589
|
-
}).passthrough(),
|
|
590
|
-
run: async (input, context) => {
|
|
591
|
-
return await serpApiSearch(context.credentials.serpapi, "ebay", input);
|
|
592
|
-
}
|
|
593
|
-
});
|
|
594
|
-
|
|
595
|
-
//#endregion
|
|
596
|
-
//#region src/operations/facebook-profile.operation.ts
|
|
597
|
-
const facebookProfileOperation = new Operation({
|
|
598
|
-
id: "serpapi.facebook-profile",
|
|
599
|
-
name: "Facebook Profile",
|
|
600
|
-
description: "Get Facebook profile data via SerpApi",
|
|
601
|
-
credentialSets: [serpApiCredentialSet],
|
|
602
|
-
input: z.object({ page_id: z.string() }),
|
|
603
|
-
output: z.object({
|
|
604
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
605
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
606
|
-
profile: z.record(z.string(), z.unknown()).optional()
|
|
607
|
-
}).passthrough(),
|
|
608
|
-
run: async (input, context) => {
|
|
609
|
-
return await serpApiSearch(context.credentials.serpapi, "facebook_profile", input);
|
|
610
|
-
}
|
|
611
|
-
});
|
|
612
|
-
|
|
613
|
-
//#endregion
|
|
614
|
-
//#region src/operations/google-ads-transparency.operation.ts
|
|
615
|
-
const googleAdsTransparencyOperation = new Operation({
|
|
616
|
-
id: "serpapi.google-ads-transparency",
|
|
617
|
-
name: "Google Ads Transparency Center",
|
|
618
|
-
description: "Search Google Ads Transparency Center via SerpApi",
|
|
619
|
-
credentialSets: [serpApiCredentialSet],
|
|
620
|
-
input: z.object({
|
|
621
|
-
advertiser_id: z.string().optional(),
|
|
622
|
-
domain: z.string().optional(),
|
|
623
|
-
gl: z.string().optional(),
|
|
624
|
-
hl: z.string().optional(),
|
|
625
|
-
device: z.string().optional()
|
|
626
|
-
}),
|
|
627
|
-
output: z.object({
|
|
628
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
629
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
630
|
-
ads: z.array(z.record(z.string(), z.unknown())).optional()
|
|
631
|
-
}).passthrough(),
|
|
632
|
-
run: async (input, context) => {
|
|
633
|
-
return await serpApiSearch(context.credentials.serpapi, "google_ads_transparency_center", input);
|
|
634
|
-
}
|
|
635
|
-
});
|
|
636
|
-
|
|
637
|
-
//#endregion
|
|
638
|
-
//#region src/operations/google-ai-mode.operation.ts
|
|
639
|
-
const googleAiModeOperation = new Operation({
|
|
640
|
-
id: "serpapi.google-ai-mode",
|
|
641
|
-
name: "Google AI Mode",
|
|
642
|
-
description: "Search Google AI Mode via SerpApi",
|
|
643
|
-
credentialSets: [serpApiCredentialSet],
|
|
644
|
-
input: z.object({
|
|
645
|
-
q: z.string(),
|
|
646
|
-
gl: z.string().optional(),
|
|
647
|
-
hl: z.string().optional(),
|
|
648
|
-
device: z.string().optional()
|
|
649
|
-
}),
|
|
650
|
-
output: z.object({
|
|
651
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
652
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
653
|
-
ai_response: z.record(z.string(), z.unknown()).optional()
|
|
654
|
-
}).passthrough(),
|
|
655
|
-
run: async (input, context) => {
|
|
656
|
-
return await serpApiSearch(context.credentials.serpapi, "google_ai_mode", input);
|
|
657
|
-
}
|
|
658
|
-
});
|
|
659
|
-
|
|
660
|
-
//#endregion
|
|
661
|
-
//#region src/operations/google-ai-overview.operation.ts
|
|
662
|
-
const googleAiOverviewOperation = new Operation({
|
|
663
|
-
id: "serpapi.google-ai-overview",
|
|
664
|
-
name: "Google AI Overview",
|
|
665
|
-
description: "Search Google AI Overview via SerpApi",
|
|
666
|
-
credentialSets: [serpApiCredentialSet],
|
|
667
|
-
input: z.object({
|
|
668
|
-
q: z.string(),
|
|
669
|
-
gl: z.string().optional(),
|
|
670
|
-
hl: z.string().optional(),
|
|
671
|
-
device: z.string().optional()
|
|
672
|
-
}),
|
|
673
|
-
output: z.object({
|
|
674
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
675
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
676
|
-
ai_overview: z.record(z.string(), z.unknown()).optional()
|
|
677
|
-
}).passthrough(),
|
|
678
|
-
run: async (input, context) => {
|
|
679
|
-
return await serpApiSearch(context.credentials.serpapi, "google_ai_overview", input);
|
|
680
|
-
}
|
|
681
|
-
});
|
|
682
|
-
|
|
683
|
-
//#endregion
|
|
684
|
-
//#region src/operations/google-autocomplete.operation.ts
|
|
685
|
-
const googleAutocompleteOperation = new Operation({
|
|
686
|
-
id: "serpapi.google-autocomplete",
|
|
687
|
-
name: "Google Autocomplete",
|
|
688
|
-
description: "Search Google Autocomplete via SerpApi",
|
|
689
|
-
credentialSets: [serpApiCredentialSet],
|
|
690
|
-
input: z.object({
|
|
691
|
-
q: z.string(),
|
|
692
|
-
gl: z.string().optional(),
|
|
693
|
-
hl: z.string().optional(),
|
|
694
|
-
device: z.string().optional()
|
|
695
|
-
}),
|
|
696
|
-
output: z.object({
|
|
697
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
698
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
699
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
700
|
-
}).passthrough(),
|
|
701
|
-
run: async (input, context) => {
|
|
702
|
-
return await serpApiSearch(context.credentials.serpapi, "google_autocomplete", input);
|
|
703
|
-
}
|
|
704
|
-
});
|
|
705
|
-
|
|
706
|
-
//#endregion
|
|
707
|
-
//#region src/operations/google-events.operation.ts
|
|
708
|
-
const googleEventsOperation = new Operation({
|
|
709
|
-
id: "serpapi.google-events",
|
|
710
|
-
name: "Google Events Search",
|
|
711
|
-
description: "Search Google Events via SerpApi",
|
|
712
|
-
credentialSets: [serpApiCredentialSet],
|
|
713
|
-
input: z.object({
|
|
714
|
-
q: z.string(),
|
|
715
|
-
location: z.string().optional(),
|
|
716
|
-
gl: z.string().optional(),
|
|
717
|
-
hl: z.string().optional(),
|
|
718
|
-
device: z.string().optional()
|
|
719
|
-
}),
|
|
720
|
-
output: z.object({
|
|
721
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
722
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
723
|
-
events_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
724
|
-
}).passthrough(),
|
|
725
|
-
run: async (input, context) => {
|
|
726
|
-
return await serpApiSearch(context.credentials.serpapi, "google_events", input);
|
|
727
|
-
}
|
|
728
|
-
});
|
|
729
|
-
|
|
730
|
-
//#endregion
|
|
731
|
-
//#region src/operations/google-finance.operation.ts
|
|
732
|
-
const googleFinanceOperation = new Operation({
|
|
733
|
-
id: "serpapi.google-finance",
|
|
734
|
-
name: "Google Finance Search",
|
|
735
|
-
description: "Search Google Finance via SerpApi",
|
|
736
|
-
credentialSets: [serpApiCredentialSet],
|
|
737
|
-
input: z.object({
|
|
738
|
-
q: z.string(),
|
|
739
|
-
gl: z.string().optional(),
|
|
740
|
-
hl: z.string().optional(),
|
|
741
|
-
device: z.string().optional()
|
|
742
|
-
}),
|
|
743
|
-
output: z.object({
|
|
744
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
745
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
746
|
-
summary: z.record(z.string(), z.unknown()).optional(),
|
|
747
|
-
graph: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
748
|
-
financials: z.record(z.string(), z.unknown()).optional(),
|
|
749
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
750
|
-
}).passthrough(),
|
|
751
|
-
run: async (input, context) => {
|
|
752
|
-
return await serpApiSearch(context.credentials.serpapi, "google_finance", input);
|
|
753
|
-
}
|
|
754
|
-
});
|
|
755
|
-
|
|
756
|
-
//#endregion
|
|
757
|
-
//#region src/operations/google-finance-markets.operation.ts
|
|
758
|
-
const googleFinanceMarketsOperation = new Operation({
|
|
759
|
-
id: "serpapi.google-finance-markets",
|
|
760
|
-
name: "Google Finance Markets",
|
|
761
|
-
description: "Search Google Finance Markets via SerpApi",
|
|
762
|
-
credentialSets: [serpApiCredentialSet],
|
|
763
|
-
input: z.object({
|
|
764
|
-
trend: z.enum([
|
|
765
|
-
"indexes",
|
|
766
|
-
"most-active",
|
|
767
|
-
"gainers",
|
|
768
|
-
"losers",
|
|
769
|
-
"climate-leaders",
|
|
770
|
-
"crypto",
|
|
771
|
-
"currencies"
|
|
772
|
-
]).optional(),
|
|
773
|
-
gl: z.string().optional(),
|
|
774
|
-
hl: z.string().optional(),
|
|
775
|
-
device: z.string().optional()
|
|
776
|
-
}),
|
|
777
|
-
output: z.object({
|
|
778
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
779
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
780
|
-
market_trends: z.array(z.record(z.string(), z.unknown())).optional()
|
|
781
|
-
}).passthrough(),
|
|
782
|
-
run: async (input, context) => {
|
|
783
|
-
return await serpApiSearch(context.credentials.serpapi, "google_finance_markets", input);
|
|
784
|
-
}
|
|
785
|
-
});
|
|
786
|
-
|
|
787
|
-
//#endregion
|
|
788
|
-
//#region src/operations/google-flights.operation.ts
|
|
789
|
-
const googleFlightsOperation = new Operation({
|
|
790
|
-
id: "serpapi.google-flights",
|
|
791
|
-
name: "Google Flights Search",
|
|
792
|
-
description: "Search Google Flights via SerpApi",
|
|
793
|
-
credentialSets: [serpApiCredentialSet],
|
|
794
|
-
input: z.object({
|
|
795
|
-
departure_id: z.string(),
|
|
796
|
-
arrival_id: z.string(),
|
|
797
|
-
outbound_date: z.string(),
|
|
798
|
-
return_date: z.string().optional(),
|
|
799
|
-
type: z.number().optional(),
|
|
800
|
-
travel_class: z.number().optional(),
|
|
801
|
-
adults: z.number().optional(),
|
|
802
|
-
children: z.number().optional(),
|
|
803
|
-
infants_in_seat: z.number().optional(),
|
|
804
|
-
infants_on_lap: z.number().optional(),
|
|
805
|
-
stops: z.number().optional(),
|
|
806
|
-
currency: z.string().optional(),
|
|
807
|
-
hl: z.string().optional(),
|
|
808
|
-
gl: z.string().optional(),
|
|
809
|
-
bags: z.number().optional(),
|
|
810
|
-
max_price: z.number().optional(),
|
|
811
|
-
exclude_airlines: z.string().optional(),
|
|
812
|
-
include_airlines: z.string().optional()
|
|
813
|
-
}),
|
|
814
|
-
output: z.object({
|
|
815
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
816
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
817
|
-
best_flights: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
818
|
-
other_flights: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
819
|
-
airports: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
820
|
-
price_insights: z.record(z.string(), z.unknown()).optional()
|
|
821
|
-
}).passthrough(),
|
|
822
|
-
run: async (input, context) => {
|
|
823
|
-
return await serpApiSearch(context.credentials.serpapi, "google_flights", input);
|
|
824
|
-
}
|
|
825
|
-
});
|
|
826
|
-
|
|
827
|
-
//#endregion
|
|
828
|
-
//#region src/operations/google-flights-autocomplete.operation.ts
|
|
829
|
-
const googleFlightsAutocompleteOperation = new Operation({
|
|
830
|
-
id: "serpapi.google-flights-autocomplete",
|
|
831
|
-
name: "Google Flights Autocomplete",
|
|
832
|
-
description: "Search Google Flights Autocomplete via SerpApi",
|
|
833
|
-
credentialSets: [serpApiCredentialSet],
|
|
834
|
-
input: z.object({
|
|
835
|
-
q: z.string(),
|
|
836
|
-
hl: z.string().optional(),
|
|
837
|
-
gl: z.string().optional()
|
|
838
|
-
}),
|
|
839
|
-
output: z.object({
|
|
840
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
841
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
842
|
-
airports: z.array(z.record(z.string(), z.unknown())).optional()
|
|
843
|
-
}).passthrough(),
|
|
844
|
-
run: async (input, context) => {
|
|
845
|
-
return await serpApiSearch(context.credentials.serpapi, "google_flights_autocomplete", input);
|
|
846
|
-
}
|
|
847
|
-
});
|
|
848
|
-
|
|
849
|
-
//#endregion
|
|
850
|
-
//#region src/operations/google-forums.operation.ts
|
|
851
|
-
const googleForumsOperation = new Operation({
|
|
852
|
-
id: "serpapi.google-forums",
|
|
853
|
-
name: "Google Forums Search",
|
|
854
|
-
description: "Search Google Forums via SerpApi",
|
|
855
|
-
credentialSets: [serpApiCredentialSet],
|
|
856
|
-
input: z.object({
|
|
857
|
-
q: z.string(),
|
|
858
|
-
location: z.string().optional(),
|
|
859
|
-
gl: z.string().optional(),
|
|
860
|
-
hl: z.string().optional(),
|
|
861
|
-
device: z.string().optional()
|
|
862
|
-
}),
|
|
863
|
-
output: z.object({
|
|
864
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
865
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
866
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
867
|
-
}).passthrough(),
|
|
868
|
-
run: async (input, context) => {
|
|
869
|
-
return await serpApiSearch(context.credentials.serpapi, "google_forums", input);
|
|
870
|
-
}
|
|
871
|
-
});
|
|
872
|
-
|
|
873
|
-
//#endregion
|
|
874
|
-
//#region src/operations/google-hotels.operation.ts
|
|
875
|
-
const googleHotelsOperation = new Operation({
|
|
876
|
-
id: "serpapi.google-hotels",
|
|
877
|
-
name: "Google Hotels Search",
|
|
878
|
-
description: "Search Google Hotels via SerpApi",
|
|
879
|
-
credentialSets: [serpApiCredentialSet],
|
|
880
|
-
input: z.object({
|
|
881
|
-
q: z.string(),
|
|
882
|
-
check_in_date: z.string().optional(),
|
|
883
|
-
check_out_date: z.string().optional(),
|
|
884
|
-
adults: z.number().optional(),
|
|
885
|
-
children: z.number().optional(),
|
|
886
|
-
children_ages: z.string().optional(),
|
|
887
|
-
currency: z.string().optional(),
|
|
888
|
-
gl: z.string().optional(),
|
|
889
|
-
hl: z.string().optional(),
|
|
890
|
-
sort_by: z.number().optional(),
|
|
891
|
-
min_price: z.number().optional(),
|
|
892
|
-
max_price: z.number().optional(),
|
|
893
|
-
rating: z.number().optional(),
|
|
894
|
-
amenities: z.string().optional(),
|
|
895
|
-
vacation_rentals: z.boolean().optional(),
|
|
896
|
-
hotel_class: z.number().optional(),
|
|
897
|
-
free_cancellation: z.boolean().optional(),
|
|
898
|
-
property_token: z.string().optional(),
|
|
899
|
-
device: z.string().optional()
|
|
900
|
-
}),
|
|
901
|
-
output: z.object({
|
|
902
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
903
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
904
|
-
properties: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
905
|
-
ads: z.array(z.record(z.string(), z.unknown())).optional()
|
|
906
|
-
}).passthrough(),
|
|
907
|
-
run: async (input, context) => {
|
|
908
|
-
return await serpApiSearch(context.credentials.serpapi, "google_hotels", input);
|
|
909
|
-
}
|
|
910
|
-
});
|
|
911
|
-
|
|
912
|
-
//#endregion
|
|
913
|
-
//#region src/operations/google-hotels-autocomplete.operation.ts
|
|
914
|
-
const googleHotelsAutocompleteOperation = new Operation({
|
|
915
|
-
id: "serpapi.google-hotels-autocomplete",
|
|
916
|
-
name: "Google Hotels Autocomplete",
|
|
917
|
-
description: "Search Google Hotels Autocomplete via SerpApi",
|
|
918
|
-
credentialSets: [serpApiCredentialSet],
|
|
919
|
-
input: z.object({
|
|
920
|
-
q: z.string(),
|
|
921
|
-
gl: z.string().optional(),
|
|
922
|
-
hl: z.string().optional()
|
|
923
|
-
}),
|
|
924
|
-
output: z.object({
|
|
925
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
926
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
927
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
928
|
-
}).passthrough(),
|
|
929
|
-
run: async (input, context) => {
|
|
930
|
-
return await serpApiSearch(context.credentials.serpapi, "google_hotels_autocomplete", input);
|
|
931
|
-
}
|
|
932
|
-
});
|
|
933
|
-
|
|
934
|
-
//#endregion
|
|
935
|
-
//#region src/operations/google-hotels-photos.operation.ts
|
|
936
|
-
const googleHotelsPhotosOperation = new Operation({
|
|
937
|
-
id: "serpapi.google-hotels-photos",
|
|
938
|
-
name: "Google Hotels Photos",
|
|
939
|
-
description: "Get Google Hotels photos via SerpApi",
|
|
940
|
-
credentialSets: [serpApiCredentialSet],
|
|
941
|
-
input: z.object({
|
|
942
|
-
property_token: z.string(),
|
|
943
|
-
gl: z.string().optional(),
|
|
944
|
-
hl: z.string().optional()
|
|
945
|
-
}),
|
|
946
|
-
output: z.object({
|
|
947
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
948
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
949
|
-
photos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
950
|
-
}).passthrough(),
|
|
951
|
-
run: async (input, context) => {
|
|
952
|
-
return await serpApiSearch(context.credentials.serpapi, "google_hotels_photos", input);
|
|
953
|
-
}
|
|
954
|
-
});
|
|
955
|
-
|
|
956
|
-
//#endregion
|
|
957
|
-
//#region src/operations/google-hotels-reviews.operation.ts
|
|
958
|
-
const googleHotelsReviewsOperation = new Operation({
|
|
959
|
-
id: "serpapi.google-hotels-reviews",
|
|
960
|
-
name: "Google Hotels Reviews",
|
|
961
|
-
description: "Get Google Hotels reviews via SerpApi",
|
|
962
|
-
credentialSets: [serpApiCredentialSet],
|
|
963
|
-
input: z.object({
|
|
964
|
-
property_token: z.string(),
|
|
965
|
-
gl: z.string().optional(),
|
|
966
|
-
hl: z.string().optional(),
|
|
967
|
-
sort_by: z.number().optional(),
|
|
968
|
-
next_page_token: z.string().optional()
|
|
969
|
-
}),
|
|
970
|
-
output: z.object({
|
|
971
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
972
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
973
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
974
|
-
rating_distribution: z.record(z.string(), z.unknown()).optional()
|
|
975
|
-
}).passthrough(),
|
|
976
|
-
run: async (input, context) => {
|
|
977
|
-
return await serpApiSearch(context.credentials.serpapi, "google_hotels_reviews", input);
|
|
978
|
-
}
|
|
979
|
-
});
|
|
980
|
-
|
|
981
|
-
//#endregion
|
|
982
|
-
//#region src/operations/google-images.operation.ts
|
|
983
|
-
const googleImagesOperation = new Operation({
|
|
984
|
-
id: "serpapi.google-images",
|
|
985
|
-
name: "Google Images Search",
|
|
986
|
-
description: "Search Google Images via SerpApi",
|
|
987
|
-
credentialSets: [serpApiCredentialSet],
|
|
988
|
-
input: z.object({
|
|
989
|
-
q: z.string(),
|
|
990
|
-
location: z.string().optional(),
|
|
991
|
-
gl: z.string().optional(),
|
|
992
|
-
hl: z.string().optional(),
|
|
993
|
-
tbs: z.string().optional(),
|
|
994
|
-
chips: z.string().optional(),
|
|
995
|
-
ijn: z.number().optional(),
|
|
996
|
-
safe: z.string().optional(),
|
|
997
|
-
device: z.string().optional()
|
|
998
|
-
}),
|
|
999
|
-
output: z.object({
|
|
1000
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1001
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1002
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1003
|
-
suggested_searches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1004
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1005
|
-
}).passthrough(),
|
|
1006
|
-
run: async (input, context) => {
|
|
1007
|
-
return await serpApiSearch(context.credentials.serpapi, "google_images", input);
|
|
1008
|
-
}
|
|
1009
|
-
});
|
|
1010
|
-
|
|
1011
|
-
//#endregion
|
|
1012
|
-
//#region src/operations/google-images-light.operation.ts
|
|
1013
|
-
const googleImagesLightOperation = new Operation({
|
|
1014
|
-
id: "serpapi.google-images-light",
|
|
1015
|
-
name: "Google Images Light Search",
|
|
1016
|
-
description: "Search Google Images Light via SerpApi",
|
|
1017
|
-
credentialSets: [serpApiCredentialSet],
|
|
1018
|
-
input: z.object({
|
|
1019
|
-
q: z.string(),
|
|
1020
|
-
gl: z.string().optional(),
|
|
1021
|
-
hl: z.string().optional(),
|
|
1022
|
-
tbs: z.string().optional(),
|
|
1023
|
-
ijn: z.number().optional(),
|
|
1024
|
-
device: z.string().optional()
|
|
1025
|
-
}),
|
|
1026
|
-
output: z.object({
|
|
1027
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1028
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1029
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1030
|
-
}).passthrough(),
|
|
1031
|
-
run: async (input, context) => {
|
|
1032
|
-
return await serpApiSearch(context.credentials.serpapi, "google_images_light", input);
|
|
1033
|
-
}
|
|
1034
|
-
});
|
|
1035
|
-
|
|
1036
|
-
//#endregion
|
|
1037
|
-
//#region src/operations/google-images-related.operation.ts
|
|
1038
|
-
const googleImagesRelatedOperation = new Operation({
|
|
1039
|
-
id: "serpapi.google-images-related",
|
|
1040
|
-
name: "Google Images Related Content",
|
|
1041
|
-
description: "Search Google Images Related Content via SerpApi",
|
|
1042
|
-
credentialSets: [serpApiCredentialSet],
|
|
1043
|
-
input: z.object({
|
|
1044
|
-
q: z.string(),
|
|
1045
|
-
gl: z.string().optional(),
|
|
1046
|
-
hl: z.string().optional(),
|
|
1047
|
-
device: z.string().optional()
|
|
1048
|
-
}),
|
|
1049
|
-
output: z.object({
|
|
1050
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1051
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1052
|
-
related_content: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1053
|
-
}).passthrough(),
|
|
1054
|
-
run: async (input, context) => {
|
|
1055
|
-
return await serpApiSearch(context.credentials.serpapi, "google_images_related_content", input);
|
|
1056
|
-
}
|
|
1057
|
-
});
|
|
1058
|
-
|
|
1059
|
-
//#endregion
|
|
1060
|
-
//#region src/operations/google-immersive-product.operation.ts
|
|
1061
|
-
const googleImmersiveProductOperation = new Operation({
|
|
1062
|
-
id: "serpapi.google-immersive-product",
|
|
1063
|
-
name: "Google Immersive Product",
|
|
1064
|
-
description: "Get Google Immersive Product details via SerpApi",
|
|
1065
|
-
credentialSets: [serpApiCredentialSet],
|
|
1066
|
-
input: z.object({
|
|
1067
|
-
page_token: z.string(),
|
|
1068
|
-
gl: z.string().optional(),
|
|
1069
|
-
hl: z.string().optional()
|
|
1070
|
-
}),
|
|
1071
|
-
output: z.object({
|
|
1072
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1073
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1074
|
-
product_results: z.record(z.string(), z.unknown()).optional(),
|
|
1075
|
-
sellers: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1076
|
-
}).passthrough(),
|
|
1077
|
-
run: async (input, context) => {
|
|
1078
|
-
return await serpApiSearch(context.credentials.serpapi, "google_immersive_product", input);
|
|
1079
|
-
}
|
|
1080
|
-
});
|
|
1081
|
-
|
|
1082
|
-
//#endregion
|
|
1083
|
-
//#region src/operations/google-jobs.operation.ts
|
|
1084
|
-
const googleJobsOperation = new Operation({
|
|
1085
|
-
id: "serpapi.google-jobs",
|
|
1086
|
-
name: "Google Jobs Search",
|
|
1087
|
-
description: "Search Google Jobs via SerpApi",
|
|
1088
|
-
credentialSets: [serpApiCredentialSet],
|
|
1089
|
-
input: z.object({
|
|
1090
|
-
q: z.string(),
|
|
1091
|
-
location: z.string().optional(),
|
|
1092
|
-
gl: z.string().optional(),
|
|
1093
|
-
hl: z.string().optional(),
|
|
1094
|
-
chips: z.string().optional(),
|
|
1095
|
-
ltype: z.string().optional(),
|
|
1096
|
-
start: z.number().optional(),
|
|
1097
|
-
device: z.string().optional()
|
|
1098
|
-
}),
|
|
1099
|
-
output: z.object({
|
|
1100
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1101
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1102
|
-
jobs_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1103
|
-
chips: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1104
|
-
}).passthrough(),
|
|
1105
|
-
run: async (input, context) => {
|
|
1106
|
-
return await serpApiSearch(context.credentials.serpapi, "google_jobs", input);
|
|
1107
|
-
}
|
|
1108
|
-
});
|
|
1109
|
-
|
|
1110
|
-
//#endregion
|
|
1111
|
-
//#region src/operations/google-jobs-listing.operation.ts
|
|
1112
|
-
const googleJobsListingOperation = new Operation({
|
|
1113
|
-
id: "serpapi.google-jobs-listing",
|
|
1114
|
-
name: "Google Jobs Listing",
|
|
1115
|
-
description: "Get Google Jobs listing details via SerpApi",
|
|
1116
|
-
credentialSets: [serpApiCredentialSet],
|
|
1117
|
-
input: z.object({
|
|
1118
|
-
q: z.string(),
|
|
1119
|
-
gl: z.string().optional(),
|
|
1120
|
-
hl: z.string().optional()
|
|
1121
|
-
}),
|
|
1122
|
-
output: z.object({
|
|
1123
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1124
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1125
|
-
job: z.record(z.string(), z.unknown()).optional()
|
|
1126
|
-
}).passthrough(),
|
|
1127
|
-
run: async (input, context) => {
|
|
1128
|
-
return await serpApiSearch(context.credentials.serpapi, "google_jobs_listing", input);
|
|
1129
|
-
}
|
|
1130
|
-
});
|
|
1131
|
-
|
|
1132
|
-
//#endregion
|
|
1133
|
-
//#region src/operations/google-lens.operation.ts
|
|
1134
|
-
const googleLensOperation = new Operation({
|
|
1135
|
-
id: "serpapi.google-lens",
|
|
1136
|
-
name: "Google Lens Search",
|
|
1137
|
-
description: "Search Google Lens via SerpApi",
|
|
1138
|
-
credentialSets: [serpApiCredentialSet],
|
|
1139
|
-
input: z.object({
|
|
1140
|
-
url: z.string(),
|
|
1141
|
-
hl: z.string().optional(),
|
|
1142
|
-
country: z.string().optional(),
|
|
1143
|
-
device: z.string().optional()
|
|
1144
|
-
}),
|
|
1145
|
-
output: z.object({
|
|
1146
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1147
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1148
|
-
visual_matches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1149
|
-
knowledge_graph: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1150
|
-
text_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1151
|
-
reverse_image_search: z.record(z.string(), z.unknown()).optional()
|
|
1152
|
-
}).passthrough(),
|
|
1153
|
-
run: async (input, context) => {
|
|
1154
|
-
return await serpApiSearch(context.credentials.serpapi, "google_lens", input);
|
|
1155
|
-
}
|
|
1156
|
-
});
|
|
1157
|
-
|
|
1158
|
-
//#endregion
|
|
1159
|
-
//#region src/operations/google-light-search.operation.ts
|
|
1160
|
-
const googleLightSearchOperation = new Operation({
|
|
1161
|
-
id: "serpapi.google-light-search",
|
|
1162
|
-
name: "Google Light Search",
|
|
1163
|
-
description: "Search Google Light via SerpApi",
|
|
1164
|
-
credentialSets: [serpApiCredentialSet],
|
|
1165
|
-
input: z.object({
|
|
1166
|
-
q: z.string(),
|
|
1167
|
-
location: z.string().optional(),
|
|
1168
|
-
gl: z.string().optional(),
|
|
1169
|
-
hl: z.string().optional(),
|
|
1170
|
-
tbs: z.string().optional(),
|
|
1171
|
-
safe: z.string().optional(),
|
|
1172
|
-
start: z.number().optional(),
|
|
1173
|
-
num: z.number().optional(),
|
|
1174
|
-
device: z.string().optional()
|
|
1175
|
-
}),
|
|
1176
|
-
output: z.object({
|
|
1177
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1178
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1179
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1180
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
1181
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
1182
|
-
related_questions: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1183
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1184
|
-
top_stories: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1185
|
-
pagination: z.record(z.string(), z.unknown()).optional()
|
|
1186
|
-
}).passthrough(),
|
|
1187
|
-
run: async (input, context) => {
|
|
1188
|
-
return await serpApiSearch(context.credentials.serpapi, "google_light", input);
|
|
1189
|
-
}
|
|
1190
|
-
});
|
|
1191
|
-
|
|
1192
|
-
//#endregion
|
|
1193
|
-
//#region src/operations/google-local.operation.ts
|
|
1194
|
-
const googleLocalOperation = new Operation({
|
|
1195
|
-
id: "serpapi.google-local",
|
|
1196
|
-
name: "Google Local Search",
|
|
1197
|
-
description: "Search Google Local via SerpApi",
|
|
1198
|
-
credentialSets: [serpApiCredentialSet],
|
|
1199
|
-
input: z.object({
|
|
1200
|
-
q: z.string(),
|
|
1201
|
-
location: z.string().optional(),
|
|
1202
|
-
gl: z.string().optional(),
|
|
1203
|
-
hl: z.string().optional(),
|
|
1204
|
-
ludocid: z.string().optional(),
|
|
1205
|
-
lsig: z.string().optional(),
|
|
1206
|
-
device: z.string().optional()
|
|
1207
|
-
}),
|
|
1208
|
-
output: z.object({
|
|
1209
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1210
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1211
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1212
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1213
|
-
}).passthrough(),
|
|
1214
|
-
run: async (input, context) => {
|
|
1215
|
-
return await serpApiSearch(context.credentials.serpapi, "google_local", input);
|
|
1216
|
-
}
|
|
1217
|
-
});
|
|
1218
|
-
|
|
1219
|
-
//#endregion
|
|
1220
|
-
//#region src/operations/google-local-services.operation.ts
|
|
1221
|
-
const googleLocalServicesOperation = new Operation({
|
|
1222
|
-
id: "serpapi.google-local-services",
|
|
1223
|
-
name: "Google Local Services Search",
|
|
1224
|
-
description: "Search Google Local Services via SerpApi",
|
|
1225
|
-
credentialSets: [serpApiCredentialSet],
|
|
1226
|
-
input: z.object({
|
|
1227
|
-
q: z.string(),
|
|
1228
|
-
place_id: z.string().optional(),
|
|
1229
|
-
data_cid: z.string().optional(),
|
|
1230
|
-
gl: z.string().optional(),
|
|
1231
|
-
hl: z.string().optional(),
|
|
1232
|
-
device: z.string().optional()
|
|
1233
|
-
}),
|
|
1234
|
-
output: z.object({
|
|
1235
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1236
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1237
|
-
local_services_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1238
|
-
}).passthrough(),
|
|
1239
|
-
run: async (input, context) => {
|
|
1240
|
-
return await serpApiSearch(context.credentials.serpapi, "google_local_services", input);
|
|
1241
|
-
}
|
|
1242
|
-
});
|
|
1243
|
-
|
|
1244
|
-
//#endregion
|
|
1245
|
-
//#region src/operations/google-maps.operation.ts
|
|
1246
|
-
const googleMapsOperation = new Operation({
|
|
1247
|
-
id: "serpapi.google-maps",
|
|
1248
|
-
name: "Google Maps Search",
|
|
1249
|
-
description: "Search Google Maps via SerpApi",
|
|
1250
|
-
credentialSets: [serpApiCredentialSet],
|
|
1251
|
-
input: z.object({
|
|
1252
|
-
q: z.string(),
|
|
1253
|
-
ll: z.string().optional(),
|
|
1254
|
-
type: z.string().optional(),
|
|
1255
|
-
data: z.string().optional(),
|
|
1256
|
-
start: z.number().optional(),
|
|
1257
|
-
hl: z.string().optional(),
|
|
1258
|
-
gl: z.string().optional(),
|
|
1259
|
-
device: z.string().optional()
|
|
1260
|
-
}),
|
|
1261
|
-
output: z.object({
|
|
1262
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1263
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1264
|
-
local_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1265
|
-
place_results: z.record(z.string(), z.unknown()).optional()
|
|
1266
|
-
}).passthrough(),
|
|
1267
|
-
run: async (input, context) => {
|
|
1268
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps", input);
|
|
1269
|
-
}
|
|
1270
|
-
});
|
|
1271
|
-
|
|
1272
|
-
//#endregion
|
|
1273
|
-
//#region src/operations/google-maps-autocomplete.operation.ts
|
|
1274
|
-
const googleMapsAutocompleteOperation = new Operation({
|
|
1275
|
-
id: "serpapi.google-maps-autocomplete",
|
|
1276
|
-
name: "Google Maps Autocomplete",
|
|
1277
|
-
description: "Search Google Maps Autocomplete via SerpApi",
|
|
1278
|
-
credentialSets: [serpApiCredentialSet],
|
|
1279
|
-
input: z.object({
|
|
1280
|
-
q: z.string(),
|
|
1281
|
-
ll: z.string().optional(),
|
|
1282
|
-
hl: z.string().optional(),
|
|
1283
|
-
gl: z.string().optional()
|
|
1284
|
-
}),
|
|
1285
|
-
output: z.object({
|
|
1286
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1287
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1288
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1289
|
-
}).passthrough(),
|
|
1290
|
-
run: async (input, context) => {
|
|
1291
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_autocomplete", input);
|
|
1292
|
-
}
|
|
1293
|
-
});
|
|
1294
|
-
|
|
1295
|
-
//#endregion
|
|
1296
|
-
//#region src/operations/google-maps-contributor-reviews.operation.ts
|
|
1297
|
-
const googleMapsContributorReviewsOperation = new Operation({
|
|
1298
|
-
id: "serpapi.google-maps-contributor-reviews",
|
|
1299
|
-
name: "Google Maps Contributor Reviews",
|
|
1300
|
-
description: "Get Google Maps contributor reviews via SerpApi",
|
|
1301
|
-
credentialSets: [serpApiCredentialSet],
|
|
1302
|
-
input: z.object({
|
|
1303
|
-
contributor_id: z.string(),
|
|
1304
|
-
hl: z.string().optional(),
|
|
1305
|
-
gl: z.string().optional(),
|
|
1306
|
-
next_page_token: z.string().optional()
|
|
1307
|
-
}),
|
|
1308
|
-
output: z.object({
|
|
1309
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1310
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1311
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1312
|
-
}).passthrough(),
|
|
1313
|
-
run: async (input, context) => {
|
|
1314
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_contributor_reviews", input);
|
|
1315
|
-
}
|
|
1316
|
-
});
|
|
1317
|
-
|
|
1318
|
-
//#endregion
|
|
1319
|
-
//#region src/operations/google-maps-directions.operation.ts
|
|
1320
|
-
const googleMapsDirectionsOperation = new Operation({
|
|
1321
|
-
id: "serpapi.google-maps-directions",
|
|
1322
|
-
name: "Google Maps Directions",
|
|
1323
|
-
description: "Get Google Maps directions via SerpApi",
|
|
1324
|
-
credentialSets: [serpApiCredentialSet],
|
|
1325
|
-
input: z.object({
|
|
1326
|
-
start_addr: z.string(),
|
|
1327
|
-
end_addr: z.string(),
|
|
1328
|
-
travel_mode: z.enum([
|
|
1329
|
-
"driving",
|
|
1330
|
-
"walking",
|
|
1331
|
-
"transit",
|
|
1332
|
-
"cycling"
|
|
1333
|
-
]).optional(),
|
|
1334
|
-
hl: z.string().optional(),
|
|
1335
|
-
gl: z.string().optional()
|
|
1336
|
-
}),
|
|
1337
|
-
output: z.object({
|
|
1338
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1339
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1340
|
-
directions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1341
|
-
}).passthrough(),
|
|
1342
|
-
run: async (input, context) => {
|
|
1343
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_directions", input);
|
|
1344
|
-
}
|
|
1345
|
-
});
|
|
1346
|
-
|
|
1347
|
-
//#endregion
|
|
1348
|
-
//#region src/operations/google-maps-photo-meta.operation.ts
|
|
1349
|
-
const googleMapsPhotoMetaOperation = new Operation({
|
|
1350
|
-
id: "serpapi.google-maps-photo-meta",
|
|
1351
|
-
name: "Google Maps Photo Meta",
|
|
1352
|
-
description: "Get Google Maps photo metadata via SerpApi",
|
|
1353
|
-
credentialSets: [serpApiCredentialSet],
|
|
1354
|
-
input: z.object({
|
|
1355
|
-
data_id: z.string(),
|
|
1356
|
-
hl: z.string().optional(),
|
|
1357
|
-
gl: z.string().optional()
|
|
1358
|
-
}),
|
|
1359
|
-
output: z.object({
|
|
1360
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1361
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1362
|
-
photos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1363
|
-
}).passthrough(),
|
|
1364
|
-
run: async (input, context) => {
|
|
1365
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_photo_meta", input);
|
|
1366
|
-
}
|
|
1367
|
-
});
|
|
1368
|
-
|
|
1369
|
-
//#endregion
|
|
1370
|
-
//#region src/operations/google-maps-photos.operation.ts
|
|
1371
|
-
const googleMapsPhotosOperation = new Operation({
|
|
1372
|
-
id: "serpapi.google-maps-photos",
|
|
1373
|
-
name: "Google Maps Photos",
|
|
1374
|
-
description: "Get Google Maps photos via SerpApi",
|
|
1375
|
-
credentialSets: [serpApiCredentialSet],
|
|
1376
|
-
input: z.object({
|
|
1377
|
-
data_id: z.string(),
|
|
1378
|
-
category_id: z.string().optional(),
|
|
1379
|
-
hl: z.string().optional(),
|
|
1380
|
-
gl: z.string().optional(),
|
|
1381
|
-
next_page_token: z.string().optional()
|
|
1382
|
-
}),
|
|
1383
|
-
output: z.object({
|
|
1384
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1385
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1386
|
-
photos: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1387
|
-
}).passthrough(),
|
|
1388
|
-
run: async (input, context) => {
|
|
1389
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_photos", input);
|
|
1390
|
-
}
|
|
1391
|
-
});
|
|
1392
|
-
|
|
1393
|
-
//#endregion
|
|
1394
|
-
//#region src/operations/google-maps-posts.operation.ts
|
|
1395
|
-
const googleMapsPostsOperation = new Operation({
|
|
1396
|
-
id: "serpapi.google-maps-posts",
|
|
1397
|
-
name: "Google Maps Posts",
|
|
1398
|
-
description: "Get Google Maps posts via SerpApi",
|
|
1399
|
-
credentialSets: [serpApiCredentialSet],
|
|
1400
|
-
input: z.object({
|
|
1401
|
-
data_id: z.string(),
|
|
1402
|
-
hl: z.string().optional(),
|
|
1403
|
-
gl: z.string().optional(),
|
|
1404
|
-
next_page_token: z.string().optional()
|
|
1405
|
-
}),
|
|
1406
|
-
output: z.object({
|
|
1407
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1408
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1409
|
-
posts: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1410
|
-
}).passthrough(),
|
|
1411
|
-
run: async (input, context) => {
|
|
1412
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_posts", input);
|
|
1413
|
-
}
|
|
1414
|
-
});
|
|
1415
|
-
|
|
1416
|
-
//#endregion
|
|
1417
|
-
//#region src/operations/google-maps-reviews.operation.ts
|
|
1418
|
-
const googleMapsReviewsOperation = new Operation({
|
|
1419
|
-
id: "serpapi.google-maps-reviews",
|
|
1420
|
-
name: "Google Maps Reviews",
|
|
1421
|
-
description: "Get Google Maps reviews via SerpApi",
|
|
1422
|
-
credentialSets: [serpApiCredentialSet],
|
|
1423
|
-
input: z.object({
|
|
1424
|
-
data_id: z.string(),
|
|
1425
|
-
place_id: z.string().optional(),
|
|
1426
|
-
hl: z.string().optional(),
|
|
1427
|
-
sort_by: z.number().optional(),
|
|
1428
|
-
topic_id: z.string().optional(),
|
|
1429
|
-
next_page_token: z.string().optional()
|
|
1430
|
-
}),
|
|
1431
|
-
output: z.object({
|
|
1432
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1433
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1434
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1435
|
-
topics: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1436
|
-
rating_distribution: z.record(z.string(), z.unknown()).optional()
|
|
1437
|
-
}).passthrough(),
|
|
1438
|
-
run: async (input, context) => {
|
|
1439
|
-
return await serpApiSearch(context.credentials.serpapi, "google_maps_reviews", input);
|
|
1440
|
-
}
|
|
1441
|
-
});
|
|
1442
|
-
|
|
1443
|
-
//#endregion
|
|
1444
|
-
//#region src/operations/google-news.operation.ts
|
|
1445
|
-
const googleNewsOperation = new Operation({
|
|
1446
|
-
id: "serpapi.google-news",
|
|
1447
|
-
name: "Google News Search",
|
|
1448
|
-
description: "Search Google News via SerpApi",
|
|
1449
|
-
credentialSets: [serpApiCredentialSet],
|
|
1450
|
-
input: z.object({
|
|
1451
|
-
q: z.string(),
|
|
1452
|
-
gl: z.string().optional(),
|
|
1453
|
-
hl: z.string().optional(),
|
|
1454
|
-
topic_token: z.string().optional(),
|
|
1455
|
-
device: z.string().optional()
|
|
1456
|
-
}),
|
|
1457
|
-
output: z.object({
|
|
1458
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1459
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1460
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1461
|
-
}).passthrough(),
|
|
1462
|
-
run: async (input, context) => {
|
|
1463
|
-
return await serpApiSearch(context.credentials.serpapi, "google_news", input);
|
|
1464
|
-
}
|
|
1465
|
-
});
|
|
1466
|
-
|
|
1467
|
-
//#endregion
|
|
1468
|
-
//#region src/operations/google-news-light.operation.ts
|
|
1469
|
-
const googleNewsLightOperation = new Operation({
|
|
1470
|
-
id: "serpapi.google-news-light",
|
|
1471
|
-
name: "Google News Light Search",
|
|
1472
|
-
description: "Search Google News Light via SerpApi",
|
|
1473
|
-
credentialSets: [serpApiCredentialSet],
|
|
1474
|
-
input: z.object({
|
|
1475
|
-
q: z.string(),
|
|
1476
|
-
gl: z.string().optional(),
|
|
1477
|
-
hl: z.string().optional(),
|
|
1478
|
-
device: z.string().optional()
|
|
1479
|
-
}),
|
|
1480
|
-
output: z.object({
|
|
1481
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1482
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1483
|
-
top_stories: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1484
|
-
}).passthrough(),
|
|
1485
|
-
run: async (input, context) => {
|
|
1486
|
-
return await serpApiSearch(context.credentials.serpapi, "google_news_light", input);
|
|
1487
|
-
}
|
|
1488
|
-
});
|
|
1489
|
-
|
|
1490
|
-
//#endregion
|
|
1491
|
-
//#region src/operations/google-patents.operation.ts
|
|
1492
|
-
const googlePatentsOperation = new Operation({
|
|
1493
|
-
id: "serpapi.google-patents",
|
|
1494
|
-
name: "Google Patents Search",
|
|
1495
|
-
description: "Search Google Patents via SerpApi",
|
|
1496
|
-
credentialSets: [serpApiCredentialSet],
|
|
1497
|
-
input: z.object({
|
|
1498
|
-
q: z.string(),
|
|
1499
|
-
page: z.number().optional(),
|
|
1500
|
-
scholar: z.boolean().optional(),
|
|
1501
|
-
before: z.string().optional(),
|
|
1502
|
-
after: z.string().optional(),
|
|
1503
|
-
inventor: z.string().optional(),
|
|
1504
|
-
assignee: z.string().optional(),
|
|
1505
|
-
country: z.string().optional(),
|
|
1506
|
-
language: z.string().optional(),
|
|
1507
|
-
status: z.string().optional(),
|
|
1508
|
-
type: z.string().optional(),
|
|
1509
|
-
litigation: z.boolean().optional()
|
|
1510
|
-
}),
|
|
1511
|
-
output: z.object({
|
|
1512
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1513
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1514
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1515
|
-
}).passthrough(),
|
|
1516
|
-
run: async (input, context) => {
|
|
1517
|
-
return await serpApiSearch(context.credentials.serpapi, "google_patents", input);
|
|
1518
|
-
}
|
|
1519
|
-
});
|
|
1520
|
-
|
|
1521
|
-
//#endregion
|
|
1522
|
-
//#region src/operations/google-patents-details.operation.ts
|
|
1523
|
-
const googlePatentsDetailsOperation = new Operation({
|
|
1524
|
-
id: "serpapi.google-patents-details",
|
|
1525
|
-
name: "Google Patents Details",
|
|
1526
|
-
description: "Get Google Patents details via SerpApi",
|
|
1527
|
-
credentialSets: [serpApiCredentialSet],
|
|
1528
|
-
input: z.object({ patent_id: z.string() }),
|
|
1529
|
-
output: z.object({
|
|
1530
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1531
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1532
|
-
patent: z.record(z.string(), z.unknown()).optional()
|
|
1533
|
-
}).passthrough(),
|
|
1534
|
-
run: async (input, context) => {
|
|
1535
|
-
return await serpApiSearch(context.credentials.serpapi, "google_patents_details", input);
|
|
1536
|
-
}
|
|
1537
|
-
});
|
|
1538
|
-
|
|
1539
|
-
//#endregion
|
|
1540
|
-
//#region src/operations/google-play.operation.ts
|
|
1541
|
-
const googlePlayOperation = new Operation({
|
|
1542
|
-
id: "serpapi.google-play",
|
|
1543
|
-
name: "Google Play Search",
|
|
1544
|
-
description: "Search Google Play via SerpApi",
|
|
1545
|
-
credentialSets: [serpApiCredentialSet],
|
|
1546
|
-
input: z.object({
|
|
1547
|
-
q: z.string(),
|
|
1548
|
-
store: z.enum([
|
|
1549
|
-
"apps",
|
|
1550
|
-
"books",
|
|
1551
|
-
"movies",
|
|
1552
|
-
"games"
|
|
1553
|
-
]),
|
|
1554
|
-
gl: z.string().optional(),
|
|
1555
|
-
hl: z.string().optional(),
|
|
1556
|
-
price: z.number().optional(),
|
|
1557
|
-
age: z.string().optional(),
|
|
1558
|
-
content_rating: z.string().optional(),
|
|
1559
|
-
device: z.string().optional()
|
|
1560
|
-
}),
|
|
1561
|
-
output: z.object({
|
|
1562
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1563
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1564
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1565
|
-
}).passthrough(),
|
|
1566
|
-
run: async (input, context) => {
|
|
1567
|
-
return await serpApiSearch(context.credentials.serpapi, "google_play", input);
|
|
1568
|
-
}
|
|
1569
|
-
});
|
|
1570
|
-
|
|
1571
|
-
//#endregion
|
|
1572
|
-
//#region src/operations/google-play-books.operation.ts
|
|
1573
|
-
const googlePlayBooksOperation = new Operation({
|
|
1574
|
-
id: "serpapi.google-play-books",
|
|
1575
|
-
name: "Google Play Books Search",
|
|
1576
|
-
description: "Search Google Play Books via SerpApi",
|
|
1577
|
-
credentialSets: [serpApiCredentialSet],
|
|
1578
|
-
input: z.object({
|
|
1579
|
-
q: z.string(),
|
|
1580
|
-
gl: z.string().optional(),
|
|
1581
|
-
hl: z.string().optional()
|
|
1582
|
-
}),
|
|
1583
|
-
output: z.object({
|
|
1584
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1585
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1586
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1587
|
-
}).passthrough(),
|
|
1588
|
-
run: async (input, context) => {
|
|
1589
|
-
return await serpApiSearch(context.credentials.serpapi, "google_play_books", input);
|
|
1590
|
-
}
|
|
1591
|
-
});
|
|
1592
|
-
|
|
1593
|
-
//#endregion
|
|
1594
|
-
//#region src/operations/google-play-games.operation.ts
|
|
1595
|
-
const googlePlayGamesOperation = new Operation({
|
|
1596
|
-
id: "serpapi.google-play-games",
|
|
1597
|
-
name: "Google Play Games Search",
|
|
1598
|
-
description: "Search Google Play Games via SerpApi",
|
|
1599
|
-
credentialSets: [serpApiCredentialSet],
|
|
1600
|
-
input: z.object({
|
|
1601
|
-
q: z.string(),
|
|
1602
|
-
gl: z.string().optional(),
|
|
1603
|
-
hl: z.string().optional()
|
|
1604
|
-
}),
|
|
1605
|
-
output: z.object({
|
|
1606
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1607
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1608
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1609
|
-
}).passthrough(),
|
|
1610
|
-
run: async (input, context) => {
|
|
1611
|
-
return await serpApiSearch(context.credentials.serpapi, "google_play_games", input);
|
|
1612
|
-
}
|
|
1613
|
-
});
|
|
1614
|
-
|
|
1615
|
-
//#endregion
|
|
1616
|
-
//#region src/operations/google-play-movies.operation.ts
|
|
1617
|
-
const googlePlayMoviesOperation = new Operation({
|
|
1618
|
-
id: "serpapi.google-play-movies",
|
|
1619
|
-
name: "Google Play Movies Search",
|
|
1620
|
-
description: "Search Google Play Movies via SerpApi",
|
|
1621
|
-
credentialSets: [serpApiCredentialSet],
|
|
1622
|
-
input: z.object({
|
|
1623
|
-
q: z.string(),
|
|
1624
|
-
gl: z.string().optional(),
|
|
1625
|
-
hl: z.string().optional()
|
|
1626
|
-
}),
|
|
1627
|
-
output: z.object({
|
|
1628
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1629
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1630
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1631
|
-
}).passthrough(),
|
|
1632
|
-
run: async (input, context) => {
|
|
1633
|
-
return await serpApiSearch(context.credentials.serpapi, "google_play_movies", input);
|
|
1634
|
-
}
|
|
1635
|
-
});
|
|
1636
|
-
|
|
1637
|
-
//#endregion
|
|
1638
|
-
//#region src/operations/google-play-product.operation.ts
|
|
1639
|
-
const googlePlayProductOperation = new Operation({
|
|
1640
|
-
id: "serpapi.google-play-product",
|
|
1641
|
-
name: "Google Play Product",
|
|
1642
|
-
description: "Get Google Play product details via SerpApi",
|
|
1643
|
-
credentialSets: [serpApiCredentialSet],
|
|
1644
|
-
input: z.object({
|
|
1645
|
-
product_id: z.string(),
|
|
1646
|
-
store: z.enum([
|
|
1647
|
-
"apps",
|
|
1648
|
-
"books",
|
|
1649
|
-
"movies",
|
|
1650
|
-
"games"
|
|
1651
|
-
]),
|
|
1652
|
-
gl: z.string().optional(),
|
|
1653
|
-
hl: z.string().optional()
|
|
1654
|
-
}),
|
|
1655
|
-
output: z.object({
|
|
1656
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1657
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1658
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
1659
|
-
}).passthrough(),
|
|
1660
|
-
run: async (input, context) => {
|
|
1661
|
-
return await serpApiSearch(context.credentials.serpapi, "google_play_product", input);
|
|
1662
|
-
}
|
|
1663
|
-
});
|
|
1664
|
-
|
|
1665
|
-
//#endregion
|
|
1666
|
-
//#region src/operations/google-related-questions.operation.ts
|
|
1667
|
-
const googleRelatedQuestionsOperation = new Operation({
|
|
1668
|
-
id: "serpapi.google-related-questions",
|
|
1669
|
-
name: "Google Related Questions",
|
|
1670
|
-
description: "Search Google Related Questions via SerpApi",
|
|
1671
|
-
credentialSets: [serpApiCredentialSet],
|
|
1672
|
-
input: z.object({
|
|
1673
|
-
q: z.string(),
|
|
1674
|
-
gl: z.string().optional(),
|
|
1675
|
-
hl: z.string().optional(),
|
|
1676
|
-
device: z.string().optional()
|
|
1677
|
-
}),
|
|
1678
|
-
output: z.object({
|
|
1679
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1680
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1681
|
-
related_questions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1682
|
-
}).passthrough(),
|
|
1683
|
-
run: async (input, context) => {
|
|
1684
|
-
return await serpApiSearch(context.credentials.serpapi, "google_related_questions", input);
|
|
1685
|
-
}
|
|
1686
|
-
});
|
|
1687
|
-
|
|
1688
|
-
//#endregion
|
|
1689
|
-
//#region src/operations/google-reverse-image.operation.ts
|
|
1690
|
-
const googleReverseImageOperation = new Operation({
|
|
1691
|
-
id: "serpapi.google-reverse-image",
|
|
1692
|
-
name: "Google Reverse Image Search",
|
|
1693
|
-
description: "Search Google Reverse Image via SerpApi",
|
|
1694
|
-
credentialSets: [serpApiCredentialSet],
|
|
1695
|
-
input: z.object({
|
|
1696
|
-
image_url: z.string(),
|
|
1697
|
-
gl: z.string().optional(),
|
|
1698
|
-
hl: z.string().optional(),
|
|
1699
|
-
device: z.string().optional()
|
|
1700
|
-
}),
|
|
1701
|
-
output: z.object({
|
|
1702
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1703
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1704
|
-
image_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1705
|
-
inline_images: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1706
|
-
}).passthrough(),
|
|
1707
|
-
run: async (input, context) => {
|
|
1708
|
-
return await serpApiSearch(context.credentials.serpapi, "google_reverse_image", input);
|
|
1709
|
-
}
|
|
1710
|
-
});
|
|
1711
|
-
|
|
1712
|
-
//#endregion
|
|
1713
|
-
//#region src/operations/google-scholar.operation.ts
|
|
1714
|
-
const googleScholarOperation = new Operation({
|
|
1715
|
-
id: "serpapi.google-scholar",
|
|
1716
|
-
name: "Google Scholar Search",
|
|
1717
|
-
description: "Search Google Scholar via SerpApi",
|
|
1718
|
-
credentialSets: [serpApiCredentialSet],
|
|
1719
|
-
input: z.object({
|
|
1720
|
-
q: z.string(),
|
|
1721
|
-
cites: z.string().optional(),
|
|
1722
|
-
as_ylo: z.number().optional(),
|
|
1723
|
-
as_yhi: z.number().optional(),
|
|
1724
|
-
scisbd: z.number().optional(),
|
|
1725
|
-
cluster: z.string().optional(),
|
|
1726
|
-
hl: z.string().optional(),
|
|
1727
|
-
lr: z.string().optional(),
|
|
1728
|
-
start: z.number().optional(),
|
|
1729
|
-
num: z.number().optional(),
|
|
1730
|
-
as_sdt: z.string().optional(),
|
|
1731
|
-
device: z.string().optional()
|
|
1732
|
-
}),
|
|
1733
|
-
output: z.object({
|
|
1734
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1735
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1736
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1737
|
-
cited_by: z.record(z.string(), z.unknown()).optional()
|
|
1738
|
-
}).passthrough(),
|
|
1739
|
-
run: async (input, context) => {
|
|
1740
|
-
return await serpApiSearch(context.credentials.serpapi, "google_scholar", input);
|
|
1741
|
-
}
|
|
1742
|
-
});
|
|
1743
|
-
|
|
1744
|
-
//#endregion
|
|
1745
|
-
//#region src/operations/google-scholar-author.operation.ts
|
|
1746
|
-
const googleScholarAuthorOperation = new Operation({
|
|
1747
|
-
id: "serpapi.google-scholar-author",
|
|
1748
|
-
name: "Google Scholar Author",
|
|
1749
|
-
description: "Get Google Scholar author details via SerpApi",
|
|
1750
|
-
credentialSets: [serpApiCredentialSet],
|
|
1751
|
-
input: z.object({
|
|
1752
|
-
author_id: z.string(),
|
|
1753
|
-
hl: z.string().optional(),
|
|
1754
|
-
start: z.number().optional(),
|
|
1755
|
-
num: z.number().optional(),
|
|
1756
|
-
sort: z.string().optional()
|
|
1757
|
-
}),
|
|
1758
|
-
output: z.object({
|
|
1759
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1760
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1761
|
-
author: z.record(z.string(), z.unknown()).optional(),
|
|
1762
|
-
articles: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1763
|
-
cited_by: z.record(z.string(), z.unknown()).optional()
|
|
1764
|
-
}).passthrough(),
|
|
1765
|
-
run: async (input, context) => {
|
|
1766
|
-
return await serpApiSearch(context.credentials.serpapi, "google_scholar_author", input);
|
|
1767
|
-
}
|
|
1768
|
-
});
|
|
1769
|
-
|
|
1770
|
-
//#endregion
|
|
1771
|
-
//#region src/operations/google-scholar-cite.operation.ts
|
|
1772
|
-
const googleScholarCiteOperation = new Operation({
|
|
1773
|
-
id: "serpapi.google-scholar-cite",
|
|
1774
|
-
name: "Google Scholar Cite",
|
|
1775
|
-
description: "Get Google Scholar citation details via SerpApi",
|
|
1776
|
-
credentialSets: [serpApiCredentialSet],
|
|
1777
|
-
input: z.object({
|
|
1778
|
-
q: z.string(),
|
|
1779
|
-
hl: z.string().optional()
|
|
1780
|
-
}),
|
|
1781
|
-
output: z.object({
|
|
1782
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1783
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1784
|
-
citations: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1785
|
-
links: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1786
|
-
}).passthrough(),
|
|
1787
|
-
run: async (input, context) => {
|
|
1788
|
-
return await serpApiSearch(context.credentials.serpapi, "google_scholar_cite", input);
|
|
1789
|
-
}
|
|
1790
|
-
});
|
|
1791
|
-
|
|
1792
|
-
//#endregion
|
|
1793
|
-
//#region src/operations/google-scholar-profiles.operation.ts
|
|
1794
|
-
const googleScholarProfilesOperation = new Operation({
|
|
1795
|
-
id: "serpapi.google-scholar-profiles",
|
|
1796
|
-
name: "Google Scholar Profiles Search",
|
|
1797
|
-
description: "Search Google Scholar Profiles via SerpApi",
|
|
1798
|
-
credentialSets: [serpApiCredentialSet],
|
|
1799
|
-
input: z.object({
|
|
1800
|
-
mauthors: z.string(),
|
|
1801
|
-
hl: z.string().optional(),
|
|
1802
|
-
after_author: z.string().optional(),
|
|
1803
|
-
before_author: z.string().optional()
|
|
1804
|
-
}),
|
|
1805
|
-
output: z.object({
|
|
1806
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1807
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1808
|
-
profiles: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1809
|
-
}).passthrough(),
|
|
1810
|
-
run: async (input, context) => {
|
|
1811
|
-
return await serpApiSearch(context.credentials.serpapi, "google_scholar_profiles", input);
|
|
1812
|
-
}
|
|
1813
|
-
});
|
|
1814
|
-
|
|
1815
|
-
//#endregion
|
|
1816
|
-
//#region src/operations/google-search.operation.ts
|
|
1817
|
-
const googleSearchOperation = new Operation({
|
|
1818
|
-
id: "serpapi.google-search",
|
|
1819
|
-
name: "Google Search",
|
|
1820
|
-
description: "Search Google via SerpApi",
|
|
1821
|
-
credentialSets: [serpApiCredentialSet],
|
|
1822
|
-
input: z.object({
|
|
1823
|
-
q: z.string(),
|
|
1824
|
-
location: z.string().optional(),
|
|
1825
|
-
uule: z.string().optional(),
|
|
1826
|
-
google_domain: z.string().optional(),
|
|
1827
|
-
gl: z.string().optional(),
|
|
1828
|
-
hl: z.string().optional(),
|
|
1829
|
-
lr: z.string().optional(),
|
|
1830
|
-
cr: z.string().optional(),
|
|
1831
|
-
tbs: z.string().optional(),
|
|
1832
|
-
safe: z.string().optional(),
|
|
1833
|
-
nfpr: z.number().optional(),
|
|
1834
|
-
filter: z.number().optional(),
|
|
1835
|
-
tbm: z.string().optional(),
|
|
1836
|
-
start: z.number().optional(),
|
|
1837
|
-
num: z.number().optional(),
|
|
1838
|
-
device: z.string().optional()
|
|
1839
|
-
}),
|
|
1840
|
-
output: z.object({
|
|
1841
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1842
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1843
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1844
|
-
local_results: z.record(z.string(), z.unknown()).optional(),
|
|
1845
|
-
local_map: z.record(z.string(), z.unknown()).optional(),
|
|
1846
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
1847
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
1848
|
-
ai_overview: z.record(z.string(), z.unknown()).optional(),
|
|
1849
|
-
related_questions: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1850
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1851
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1852
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1853
|
-
inline_videos: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1854
|
-
inline_images: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1855
|
-
ads: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1856
|
-
pagination: z.record(z.string(), z.unknown()).optional()
|
|
1857
|
-
}).passthrough(),
|
|
1858
|
-
run: async (input, context) => {
|
|
1859
|
-
return await serpApiSearch(context.credentials.serpapi, "google", input);
|
|
1860
|
-
}
|
|
1861
|
-
});
|
|
1862
|
-
|
|
1863
|
-
//#endregion
|
|
1864
|
-
//#region src/operations/google-shopping.operation.ts
|
|
1865
|
-
const googleShoppingOperation = new Operation({
|
|
1866
|
-
id: "serpapi.google-shopping",
|
|
1867
|
-
name: "Google Shopping Search",
|
|
1868
|
-
description: "Search Google Shopping via SerpApi",
|
|
1869
|
-
credentialSets: [serpApiCredentialSet],
|
|
1870
|
-
input: z.object({
|
|
1871
|
-
q: z.string(),
|
|
1872
|
-
location: z.string().optional(),
|
|
1873
|
-
gl: z.string().optional(),
|
|
1874
|
-
hl: z.string().optional(),
|
|
1875
|
-
tbs: z.string().optional(),
|
|
1876
|
-
start: z.number().optional(),
|
|
1877
|
-
device: z.string().optional()
|
|
1878
|
-
}),
|
|
1879
|
-
output: z.object({
|
|
1880
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1881
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1882
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1883
|
-
filters_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1884
|
-
}).passthrough(),
|
|
1885
|
-
run: async (input, context) => {
|
|
1886
|
-
return await serpApiSearch(context.credentials.serpapi, "google_shopping", input);
|
|
1887
|
-
}
|
|
1888
|
-
});
|
|
1889
|
-
|
|
1890
|
-
//#endregion
|
|
1891
|
-
//#region src/operations/google-shopping-light.operation.ts
|
|
1892
|
-
const googleShoppingLightOperation = new Operation({
|
|
1893
|
-
id: "serpapi.google-shopping-light",
|
|
1894
|
-
name: "Google Shopping Light Search",
|
|
1895
|
-
description: "Search Google Shopping Light via SerpApi",
|
|
1896
|
-
credentialSets: [serpApiCredentialSet],
|
|
1897
|
-
input: z.object({
|
|
1898
|
-
q: z.string(),
|
|
1899
|
-
gl: z.string().optional(),
|
|
1900
|
-
hl: z.string().optional(),
|
|
1901
|
-
tbs: z.string().optional(),
|
|
1902
|
-
device: z.string().optional()
|
|
1903
|
-
}),
|
|
1904
|
-
output: z.object({
|
|
1905
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1906
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1907
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1908
|
-
}).passthrough(),
|
|
1909
|
-
run: async (input, context) => {
|
|
1910
|
-
return await serpApiSearch(context.credentials.serpapi, "google_shopping_light", input);
|
|
1911
|
-
}
|
|
1912
|
-
});
|
|
1913
|
-
|
|
1914
|
-
//#endregion
|
|
1915
|
-
//#region src/operations/google-short-videos.operation.ts
|
|
1916
|
-
const googleShortVideosOperation = new Operation({
|
|
1917
|
-
id: "serpapi.google-short-videos",
|
|
1918
|
-
name: "Google Short Videos Search",
|
|
1919
|
-
description: "Search Google Short Videos via SerpApi",
|
|
1920
|
-
credentialSets: [serpApiCredentialSet],
|
|
1921
|
-
input: z.object({
|
|
1922
|
-
q: z.string(),
|
|
1923
|
-
gl: z.string().optional(),
|
|
1924
|
-
hl: z.string().optional(),
|
|
1925
|
-
device: z.string().optional()
|
|
1926
|
-
}),
|
|
1927
|
-
output: z.object({
|
|
1928
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1929
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1930
|
-
short_videos_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1931
|
-
}).passthrough(),
|
|
1932
|
-
run: async (input, context) => {
|
|
1933
|
-
return await serpApiSearch(context.credentials.serpapi, "google_short_videos", input);
|
|
1934
|
-
}
|
|
1935
|
-
});
|
|
1936
|
-
|
|
1937
|
-
//#endregion
|
|
1938
|
-
//#region src/operations/google-travel-explore.operation.ts
|
|
1939
|
-
const googleTravelExploreOperation = new Operation({
|
|
1940
|
-
id: "serpapi.google-travel-explore",
|
|
1941
|
-
name: "Google Travel Explore",
|
|
1942
|
-
description: "Explore Google Travel destinations via SerpApi",
|
|
1943
|
-
credentialSets: [serpApiCredentialSet],
|
|
1944
|
-
input: z.object({
|
|
1945
|
-
departure_token: z.string().optional(),
|
|
1946
|
-
gl: z.string().optional(),
|
|
1947
|
-
hl: z.string().optional(),
|
|
1948
|
-
currency: z.string().optional()
|
|
1949
|
-
}),
|
|
1950
|
-
output: z.object({
|
|
1951
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1952
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1953
|
-
destinations: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1954
|
-
flights: z.array(z.record(z.string(), z.unknown())).optional()
|
|
1955
|
-
}).passthrough(),
|
|
1956
|
-
run: async (input, context) => {
|
|
1957
|
-
return await serpApiSearch(context.credentials.serpapi, "google_travel_explore", input);
|
|
1958
|
-
}
|
|
1959
|
-
});
|
|
1960
|
-
|
|
1961
|
-
//#endregion
|
|
1962
|
-
//#region src/operations/google-trends.operation.ts
|
|
1963
|
-
const googleTrendsOperation = new Operation({
|
|
1964
|
-
id: "serpapi.google-trends",
|
|
1965
|
-
name: "Google Trends Search",
|
|
1966
|
-
description: "Search Google Trends via SerpApi",
|
|
1967
|
-
credentialSets: [serpApiCredentialSet],
|
|
1968
|
-
input: z.object({
|
|
1969
|
-
q: z.string(),
|
|
1970
|
-
data_type: z.enum([
|
|
1971
|
-
"TIMESERIES",
|
|
1972
|
-
"GEO_MAP",
|
|
1973
|
-
"GEO_MAP_0",
|
|
1974
|
-
"RELATED_TOPICS",
|
|
1975
|
-
"RELATED_QUERIES"
|
|
1976
|
-
]).optional(),
|
|
1977
|
-
date: z.string().optional(),
|
|
1978
|
-
tz: z.number().optional(),
|
|
1979
|
-
geo: z.string().optional(),
|
|
1980
|
-
gprop: z.string().optional(),
|
|
1981
|
-
cat: z.number().optional()
|
|
1982
|
-
}),
|
|
1983
|
-
output: z.object({
|
|
1984
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
1985
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
1986
|
-
interest_over_time: z.record(z.string(), z.unknown()).optional(),
|
|
1987
|
-
compared_breakdown_by_region: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
1988
|
-
related_topics: z.record(z.string(), z.unknown()).optional(),
|
|
1989
|
-
related_queries: z.record(z.string(), z.unknown()).optional()
|
|
1990
|
-
}).passthrough(),
|
|
1991
|
-
run: async (input, context) => {
|
|
1992
|
-
return await serpApiSearch(context.credentials.serpapi, "google_trends", input);
|
|
1993
|
-
}
|
|
1994
|
-
});
|
|
1995
|
-
|
|
1996
|
-
//#endregion
|
|
1997
|
-
//#region src/operations/google-trends-autocomplete.operation.ts
|
|
1998
|
-
const googleTrendsAutocompleteOperation = new Operation({
|
|
1999
|
-
id: "serpapi.google-trends-autocomplete",
|
|
2000
|
-
name: "Google Trends Autocomplete",
|
|
2001
|
-
description: "Search Google Trends Autocomplete via SerpApi",
|
|
2002
|
-
credentialSets: [serpApiCredentialSet],
|
|
2003
|
-
input: z.object({
|
|
2004
|
-
q: z.string(),
|
|
2005
|
-
hl: z.string().optional()
|
|
2006
|
-
}),
|
|
2007
|
-
output: z.object({
|
|
2008
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2009
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2010
|
-
suggestions: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2011
|
-
}).passthrough(),
|
|
2012
|
-
run: async (input, context) => {
|
|
2013
|
-
return await serpApiSearch(context.credentials.serpapi, "google_trends_autocomplete", input);
|
|
2014
|
-
}
|
|
2015
|
-
});
|
|
2016
|
-
|
|
2017
|
-
//#endregion
|
|
2018
|
-
//#region src/operations/google-trends-news.operation.ts
|
|
2019
|
-
const googleTrendsNewsOperation = new Operation({
|
|
2020
|
-
id: "serpapi.google-trends-news",
|
|
2021
|
-
name: "Google Trends News",
|
|
2022
|
-
description: "Get Google Trends news via SerpApi",
|
|
2023
|
-
credentialSets: [serpApiCredentialSet],
|
|
2024
|
-
input: z.object({
|
|
2025
|
-
q: z.string(),
|
|
2026
|
-
date: z.string().optional(),
|
|
2027
|
-
geo: z.string().optional(),
|
|
2028
|
-
hl: z.string().optional()
|
|
2029
|
-
}),
|
|
2030
|
-
output: z.object({
|
|
2031
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2032
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2033
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2034
|
-
}).passthrough(),
|
|
2035
|
-
run: async (input, context) => {
|
|
2036
|
-
return await serpApiSearch(context.credentials.serpapi, "google_trends_news", input);
|
|
2037
|
-
}
|
|
2038
|
-
});
|
|
2039
|
-
|
|
2040
|
-
//#endregion
|
|
2041
|
-
//#region src/operations/google-trends-trending-now.operation.ts
|
|
2042
|
-
const googleTrendsTrendingNowOperation = new Operation({
|
|
2043
|
-
id: "serpapi.google-trends-trending-now",
|
|
2044
|
-
name: "Google Trends Trending Now",
|
|
2045
|
-
description: "Get Google Trends trending searches via SerpApi",
|
|
2046
|
-
credentialSets: [serpApiCredentialSet],
|
|
2047
|
-
input: z.object({
|
|
2048
|
-
geo: z.string().optional(),
|
|
2049
|
-
hl: z.string().optional(),
|
|
2050
|
-
date: z.string().optional()
|
|
2051
|
-
}),
|
|
2052
|
-
output: z.object({
|
|
2053
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2054
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2055
|
-
trending_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2056
|
-
}).passthrough(),
|
|
2057
|
-
run: async (input, context) => {
|
|
2058
|
-
return await serpApiSearch(context.credentials.serpapi, "google_trends_trending_now", input);
|
|
2059
|
-
}
|
|
2060
|
-
});
|
|
2061
|
-
|
|
2062
|
-
//#endregion
|
|
2063
|
-
//#region src/operations/google-videos.operation.ts
|
|
2064
|
-
const googleVideosOperation = new Operation({
|
|
2065
|
-
id: "serpapi.google-videos",
|
|
2066
|
-
name: "Google Videos Search",
|
|
2067
|
-
description: "Search Google Videos via SerpApi",
|
|
2068
|
-
credentialSets: [serpApiCredentialSet],
|
|
2069
|
-
input: z.object({
|
|
2070
|
-
q: z.string(),
|
|
2071
|
-
location: z.string().optional(),
|
|
2072
|
-
gl: z.string().optional(),
|
|
2073
|
-
hl: z.string().optional(),
|
|
2074
|
-
tbs: z.string().optional(),
|
|
2075
|
-
device: z.string().optional()
|
|
2076
|
-
}),
|
|
2077
|
-
output: z.object({
|
|
2078
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2079
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2080
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2081
|
-
}).passthrough(),
|
|
2082
|
-
run: async (input, context) => {
|
|
2083
|
-
return await serpApiSearch(context.credentials.serpapi, "google_videos", input);
|
|
2084
|
-
}
|
|
2085
|
-
});
|
|
2086
|
-
|
|
2087
|
-
//#endregion
|
|
2088
|
-
//#region src/operations/google-videos-light.operation.ts
|
|
2089
|
-
const googleVideosLightOperation = new Operation({
|
|
2090
|
-
id: "serpapi.google-videos-light",
|
|
2091
|
-
name: "Google Videos Light Search",
|
|
2092
|
-
description: "Search Google Videos Light via SerpApi",
|
|
2093
|
-
credentialSets: [serpApiCredentialSet],
|
|
2094
|
-
input: z.object({
|
|
2095
|
-
q: z.string(),
|
|
2096
|
-
gl: z.string().optional(),
|
|
2097
|
-
hl: z.string().optional(),
|
|
2098
|
-
device: z.string().optional()
|
|
2099
|
-
}),
|
|
2100
|
-
output: z.object({
|
|
2101
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2102
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2103
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2104
|
-
}).passthrough(),
|
|
2105
|
-
run: async (input, context) => {
|
|
2106
|
-
return await serpApiSearch(context.credentials.serpapi, "google_videos_light", input);
|
|
2107
|
-
}
|
|
2108
|
-
});
|
|
2109
|
-
|
|
2110
|
-
//#endregion
|
|
2111
|
-
//#region src/operations/home-depot-product.operation.ts
|
|
2112
|
-
const homeDepotProductOperation = new Operation({
|
|
2113
|
-
id: "serpapi.home-depot-product",
|
|
2114
|
-
name: "Home Depot Product",
|
|
2115
|
-
description: "Get Home Depot product details via SerpApi",
|
|
2116
|
-
credentialSets: [serpApiCredentialSet],
|
|
2117
|
-
input: z.object({ product_id: z.string() }),
|
|
2118
|
-
output: z.object({
|
|
2119
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2120
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2121
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
2122
|
-
}).passthrough(),
|
|
2123
|
-
run: async (input, context) => {
|
|
2124
|
-
return await serpApiSearch(context.credentials.serpapi, "home_depot_product", input);
|
|
2125
|
-
}
|
|
2126
|
-
});
|
|
2127
|
-
|
|
2128
|
-
//#endregion
|
|
2129
|
-
//#region src/operations/home-depot-product-reviews.operation.ts
|
|
2130
|
-
const homeDepotProductReviewsOperation = new Operation({
|
|
2131
|
-
id: "serpapi.home-depot-product-reviews",
|
|
2132
|
-
name: "Home Depot Product Reviews",
|
|
2133
|
-
description: "Get Home Depot product reviews via SerpApi",
|
|
2134
|
-
credentialSets: [serpApiCredentialSet],
|
|
2135
|
-
input: z.object({
|
|
2136
|
-
product_id: z.string(),
|
|
2137
|
-
sort_by: z.string().optional(),
|
|
2138
|
-
page: z.number().optional()
|
|
2139
|
-
}),
|
|
2140
|
-
output: z.object({
|
|
2141
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2142
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2143
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2144
|
-
}).passthrough(),
|
|
2145
|
-
run: async (input, context) => {
|
|
2146
|
-
return await serpApiSearch(context.credentials.serpapi, "home_depot_product_reviews", input);
|
|
2147
|
-
}
|
|
2148
|
-
});
|
|
2149
|
-
|
|
2150
|
-
//#endregion
|
|
2151
|
-
//#region src/operations/home-depot-search.operation.ts
|
|
2152
|
-
const homeDepotSearchOperation = new Operation({
|
|
2153
|
-
id: "serpapi.home-depot-search",
|
|
2154
|
-
name: "Home Depot Search",
|
|
2155
|
-
description: "Search Home Depot via SerpApi",
|
|
2156
|
-
credentialSets: [serpApiCredentialSet],
|
|
2157
|
-
input: z.object({
|
|
2158
|
-
q: z.string(),
|
|
2159
|
-
nao: z.number().optional(),
|
|
2160
|
-
ps: z.number().optional(),
|
|
2161
|
-
lowerbound: z.number().optional(),
|
|
2162
|
-
upperbound: z.number().optional(),
|
|
2163
|
-
sortby: z.string().optional(),
|
|
2164
|
-
sortorder: z.string().optional()
|
|
2165
|
-
}),
|
|
2166
|
-
output: z.object({
|
|
2167
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2168
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2169
|
-
products: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2170
|
-
filtering: z.record(z.string(), z.unknown()).optional()
|
|
2171
|
-
}).passthrough(),
|
|
2172
|
-
run: async (input, context) => {
|
|
2173
|
-
return await serpApiSearch(context.credentials.serpapi, "home_depot", input);
|
|
2174
|
-
}
|
|
2175
|
-
});
|
|
2176
|
-
|
|
2177
|
-
//#endregion
|
|
2178
|
-
//#region src/operations/locations.operation.ts
|
|
2179
|
-
const serpApiLocationsOperation = new Operation({
|
|
2180
|
-
id: "serpapi.locations",
|
|
2181
|
-
name: "SerpApi Locations",
|
|
2182
|
-
description: "Get supported SerpApi locations",
|
|
2183
|
-
credentialSets: [serpApiCredentialSet],
|
|
2184
|
-
input: z.object({
|
|
2185
|
-
q: z.string().optional(),
|
|
2186
|
-
limit: z.number().optional()
|
|
2187
|
-
}),
|
|
2188
|
-
output: z.object({ locations: z.array(z.record(z.string(), z.unknown())) }).passthrough(),
|
|
2189
|
-
run: async (input, _context) => {
|
|
2190
|
-
return { locations: await serpApiGetLocations(input) };
|
|
2191
|
-
}
|
|
2192
|
-
});
|
|
2193
|
-
|
|
2194
|
-
//#endregion
|
|
2195
|
-
//#region src/operations/naver-ai-overview.operation.ts
|
|
2196
|
-
const naverAiOverviewOperation = new Operation({
|
|
2197
|
-
id: "serpapi.naver-ai-overview",
|
|
2198
|
-
name: "Naver AI Overview",
|
|
2199
|
-
description: "Get Naver AI Overview via SerpApi",
|
|
2200
|
-
credentialSets: [serpApiCredentialSet],
|
|
2201
|
-
input: z.object({ q: z.string() }),
|
|
2202
|
-
output: z.object({
|
|
2203
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2204
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2205
|
-
ai_overview: z.record(z.string(), z.unknown()).optional()
|
|
2206
|
-
}).passthrough(),
|
|
2207
|
-
run: async (input, context) => {
|
|
2208
|
-
return await serpApiSearch(context.credentials.serpapi, "naver_ai_overview", input);
|
|
2209
|
-
}
|
|
2210
|
-
});
|
|
2211
|
-
|
|
2212
|
-
//#endregion
|
|
2213
|
-
//#region src/operations/naver-search.operation.ts
|
|
2214
|
-
const naverSearchOperation = new Operation({
|
|
2215
|
-
id: "serpapi.naver-search",
|
|
2216
|
-
name: "Naver Search",
|
|
2217
|
-
description: "Search Naver via SerpApi",
|
|
2218
|
-
credentialSets: [serpApiCredentialSet],
|
|
2219
|
-
input: z.object({
|
|
2220
|
-
query: z.string(),
|
|
2221
|
-
where: z.string().optional()
|
|
2222
|
-
}),
|
|
2223
|
-
output: z.object({
|
|
2224
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2225
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2226
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2227
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2228
|
-
ai_overview: z.record(z.string(), z.unknown()).optional(),
|
|
2229
|
-
news_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2230
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2231
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2232
|
-
}).passthrough(),
|
|
2233
|
-
run: async (input, context) => {
|
|
2234
|
-
return await serpApiSearch(context.credentials.serpapi, "naver", input);
|
|
2235
|
-
}
|
|
2236
|
-
});
|
|
2237
|
-
|
|
2238
|
-
//#endregion
|
|
2239
|
-
//#region src/operations/opentable-reviews.operation.ts
|
|
2240
|
-
const opentableReviewsOperation = new Operation({
|
|
2241
|
-
id: "serpapi.opentable-reviews",
|
|
2242
|
-
name: "OpenTable Reviews",
|
|
2243
|
-
description: "Get OpenTable restaurant reviews via SerpApi",
|
|
2244
|
-
credentialSets: [serpApiCredentialSet],
|
|
2245
|
-
input: z.object({
|
|
2246
|
-
restaurant_id: z.string(),
|
|
2247
|
-
sort_by: z.string().optional(),
|
|
2248
|
-
page: z.number().optional()
|
|
2249
|
-
}),
|
|
2250
|
-
output: z.object({
|
|
2251
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2252
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2253
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2254
|
-
}).passthrough(),
|
|
2255
|
-
run: async (input, context) => {
|
|
2256
|
-
return await serpApiSearch(context.credentials.serpapi, "open_table_reviews", input);
|
|
2257
|
-
}
|
|
2258
|
-
});
|
|
2259
|
-
|
|
2260
|
-
//#endregion
|
|
2261
|
-
//#region src/operations/search-archive.operation.ts
|
|
2262
|
-
const serpApiSearchArchiveOperation = new Operation({
|
|
2263
|
-
id: "serpapi.search-archive",
|
|
2264
|
-
name: "SerpApi Search Archive",
|
|
2265
|
-
description: "Retrieve archived SerpApi search results by ID",
|
|
2266
|
-
credentialSets: [serpApiCredentialSet],
|
|
2267
|
-
input: z.object({ search_id: z.string() }),
|
|
2268
|
-
output: z.record(z.string(), z.unknown()),
|
|
2269
|
-
run: async (input, context) => {
|
|
2270
|
-
return await getJsonBySearchId(input.search_id, { api_key: context.credentials.serpapi.SERPAPI_API_KEY });
|
|
2271
|
-
}
|
|
2272
|
-
});
|
|
2273
|
-
|
|
2274
|
-
//#endregion
|
|
2275
|
-
//#region src/operations/search-index.operation.ts
|
|
2276
|
-
const serpApiSearchIndexOperation = new Operation({
|
|
2277
|
-
id: "serpapi.search-index",
|
|
2278
|
-
name: "SerpApi Search Index",
|
|
2279
|
-
description: "Search across SerpApi search index",
|
|
2280
|
-
credentialSets: [serpApiCredentialSet],
|
|
2281
|
-
input: z.object({ q: z.string() }),
|
|
2282
|
-
output: z.object({
|
|
2283
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2284
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2285
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2286
|
-
}).passthrough(),
|
|
2287
|
-
run: async (input, context) => {
|
|
2288
|
-
return await serpApiSearch(context.credentials.serpapi, "search_index", input);
|
|
2289
|
-
}
|
|
2290
|
-
});
|
|
2291
|
-
|
|
2292
|
-
//#endregion
|
|
2293
|
-
//#region src/operations/tripadvisor-place.operation.ts
|
|
2294
|
-
const tripadvisorPlaceOperation = new Operation({
|
|
2295
|
-
id: "serpapi.tripadvisor-place",
|
|
2296
|
-
name: "TripAdvisor Place",
|
|
2297
|
-
description: "Get TripAdvisor place details via SerpApi",
|
|
2298
|
-
credentialSets: [serpApiCredentialSet],
|
|
2299
|
-
input: z.object({
|
|
2300
|
-
place_id: z.string(),
|
|
2301
|
-
domain: z.string().optional()
|
|
2302
|
-
}),
|
|
2303
|
-
output: z.object({
|
|
2304
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2305
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2306
|
-
place: z.record(z.string(), z.unknown()).optional()
|
|
2307
|
-
}).passthrough(),
|
|
2308
|
-
run: async (input, context) => {
|
|
2309
|
-
return await serpApiSearch(context.credentials.serpapi, "tripadvisor_place", input);
|
|
2310
|
-
}
|
|
2311
|
-
});
|
|
2312
|
-
|
|
2313
|
-
//#endregion
|
|
2314
|
-
//#region src/operations/tripadvisor-reviews.operation.ts
|
|
2315
|
-
const tripadvisorReviewsOperation = new Operation({
|
|
2316
|
-
id: "serpapi.tripadvisor-reviews",
|
|
2317
|
-
name: "TripAdvisor Reviews",
|
|
2318
|
-
description: "Get TripAdvisor place reviews via SerpApi",
|
|
2319
|
-
credentialSets: [serpApiCredentialSet],
|
|
2320
|
-
input: z.object({
|
|
2321
|
-
place_id: z.string(),
|
|
2322
|
-
domain: z.string().optional(),
|
|
2323
|
-
sort_by: z.string().optional(),
|
|
2324
|
-
page: z.number().optional()
|
|
2325
|
-
}),
|
|
2326
|
-
output: z.object({
|
|
2327
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2328
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2329
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2330
|
-
}).passthrough(),
|
|
2331
|
-
run: async (input, context) => {
|
|
2332
|
-
return await serpApiSearch(context.credentials.serpapi, "tripadvisor_reviews", input);
|
|
2333
|
-
}
|
|
2334
|
-
});
|
|
2335
|
-
|
|
2336
|
-
//#endregion
|
|
2337
|
-
//#region src/operations/tripadvisor-search.operation.ts
|
|
2338
|
-
const tripadvisorSearchOperation = new Operation({
|
|
2339
|
-
id: "serpapi.tripadvisor-search",
|
|
2340
|
-
name: "TripAdvisor Search",
|
|
2341
|
-
description: "Search TripAdvisor via SerpApi",
|
|
2342
|
-
credentialSets: [serpApiCredentialSet],
|
|
2343
|
-
input: z.object({
|
|
2344
|
-
q: z.string(),
|
|
2345
|
-
domain: z.string().optional(),
|
|
2346
|
-
page: z.number().optional()
|
|
2347
|
-
}),
|
|
2348
|
-
output: z.object({
|
|
2349
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2350
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2351
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2352
|
-
}).passthrough(),
|
|
2353
|
-
run: async (input, context) => {
|
|
2354
|
-
return await serpApiSearch(context.credentials.serpapi, "tripadvisor", input);
|
|
2355
|
-
}
|
|
2356
|
-
});
|
|
2357
|
-
|
|
2358
|
-
//#endregion
|
|
2359
|
-
//#region src/operations/walmart-product.operation.ts
|
|
2360
|
-
const walmartProductOperation = new Operation({
|
|
2361
|
-
id: "serpapi.walmart-product",
|
|
2362
|
-
name: "Walmart Product",
|
|
2363
|
-
description: "Get Walmart product details via SerpApi",
|
|
2364
|
-
credentialSets: [serpApiCredentialSet],
|
|
2365
|
-
input: z.object({ product_id: z.string() }),
|
|
2366
|
-
output: z.object({
|
|
2367
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2368
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2369
|
-
product: z.record(z.string(), z.unknown()).optional()
|
|
2370
|
-
}).passthrough(),
|
|
2371
|
-
run: async (input, context) => {
|
|
2372
|
-
return await serpApiSearch(context.credentials.serpapi, "walmart_product", input);
|
|
2373
|
-
}
|
|
2374
|
-
});
|
|
2375
|
-
|
|
2376
|
-
//#endregion
|
|
2377
|
-
//#region src/operations/walmart-product-reviews.operation.ts
|
|
2378
|
-
const walmartProductReviewsOperation = new Operation({
|
|
2379
|
-
id: "serpapi.walmart-product-reviews",
|
|
2380
|
-
name: "Walmart Product Reviews",
|
|
2381
|
-
description: "Get Walmart product reviews via SerpApi",
|
|
2382
|
-
credentialSets: [serpApiCredentialSet],
|
|
2383
|
-
input: z.object({
|
|
2384
|
-
product_id: z.string(),
|
|
2385
|
-
sort: z.string().optional(),
|
|
2386
|
-
page: z.number().optional()
|
|
2387
|
-
}),
|
|
2388
|
-
output: z.object({
|
|
2389
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2390
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2391
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2392
|
-
}).passthrough(),
|
|
2393
|
-
run: async (input, context) => {
|
|
2394
|
-
return await serpApiSearch(context.credentials.serpapi, "walmart_product_reviews", input);
|
|
2395
|
-
}
|
|
2396
|
-
});
|
|
2397
|
-
|
|
2398
|
-
//#endregion
|
|
2399
|
-
//#region src/operations/walmart-product-sellers.operation.ts
|
|
2400
|
-
const walmartProductSellersOperation = new Operation({
|
|
2401
|
-
id: "serpapi.walmart-product-sellers",
|
|
2402
|
-
name: "Walmart Product Sellers",
|
|
2403
|
-
description: "Get Walmart product sellers via SerpApi",
|
|
2404
|
-
credentialSets: [serpApiCredentialSet],
|
|
2405
|
-
input: z.object({
|
|
2406
|
-
product_id: z.string(),
|
|
2407
|
-
page: z.number().optional()
|
|
2408
|
-
}),
|
|
2409
|
-
output: z.object({
|
|
2410
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2411
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2412
|
-
sellers: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2413
|
-
}).passthrough(),
|
|
2414
|
-
run: async (input, context) => {
|
|
2415
|
-
return await serpApiSearch(context.credentials.serpapi, "walmart_product_sellers", input);
|
|
2416
|
-
}
|
|
2417
|
-
});
|
|
2418
|
-
|
|
2419
|
-
//#endregion
|
|
2420
|
-
//#region src/operations/walmart-search.operation.ts
|
|
2421
|
-
const walmartSearchOperation = new Operation({
|
|
2422
|
-
id: "serpapi.walmart-search",
|
|
2423
|
-
name: "Walmart Search",
|
|
2424
|
-
description: "Search Walmart via SerpApi",
|
|
2425
|
-
credentialSets: [serpApiCredentialSet],
|
|
2426
|
-
input: z.object({
|
|
2427
|
-
query: z.string(),
|
|
2428
|
-
cat_id: z.string().optional(),
|
|
2429
|
-
sort: z.string().optional(),
|
|
2430
|
-
soft_sort: z.string().optional(),
|
|
2431
|
-
facet: z.string().optional(),
|
|
2432
|
-
store_id: z.string().optional(),
|
|
2433
|
-
min_price: z.number().optional(),
|
|
2434
|
-
max_price: z.number().optional(),
|
|
2435
|
-
spelling: z.boolean().optional(),
|
|
2436
|
-
page: z.number().optional(),
|
|
2437
|
-
include_filters: z.boolean().optional()
|
|
2438
|
-
}),
|
|
2439
|
-
output: z.object({
|
|
2440
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2441
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2442
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2443
|
-
filters: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2444
|
-
related_queries: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2445
|
-
}).passthrough(),
|
|
2446
|
-
run: async (input, context) => {
|
|
2447
|
-
return await serpApiSearch(context.credentials.serpapi, "walmart", input);
|
|
2448
|
-
}
|
|
2449
|
-
});
|
|
2450
|
-
|
|
2451
|
-
//#endregion
|
|
2452
|
-
//#region src/operations/yahoo-images.operation.ts
|
|
2453
|
-
const yahooImagesOperation = new Operation({
|
|
2454
|
-
id: "serpapi.yahoo-images",
|
|
2455
|
-
name: "Yahoo Images Search",
|
|
2456
|
-
description: "Search Yahoo Images via SerpApi",
|
|
2457
|
-
credentialSets: [serpApiCredentialSet],
|
|
2458
|
-
input: z.object({
|
|
2459
|
-
p: z.string(),
|
|
2460
|
-
yahoo_domain: z.string().optional(),
|
|
2461
|
-
vl: z.string().optional(),
|
|
2462
|
-
vc: z.string().optional()
|
|
2463
|
-
}),
|
|
2464
|
-
output: z.object({
|
|
2465
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2466
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2467
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2468
|
-
}).passthrough(),
|
|
2469
|
-
run: async (input, context) => {
|
|
2470
|
-
return await serpApiSearch(context.credentials.serpapi, "yahoo_images", input);
|
|
2471
|
-
}
|
|
2472
|
-
});
|
|
2473
|
-
|
|
2474
|
-
//#endregion
|
|
2475
|
-
//#region src/operations/yahoo-search.operation.ts
|
|
2476
|
-
const yahooSearchOperation = new Operation({
|
|
2477
|
-
id: "serpapi.yahoo-search",
|
|
2478
|
-
name: "Yahoo Search",
|
|
2479
|
-
description: "Search Yahoo via SerpApi",
|
|
2480
|
-
credentialSets: [serpApiCredentialSet],
|
|
2481
|
-
input: z.object({
|
|
2482
|
-
p: z.string(),
|
|
2483
|
-
yahoo_domain: z.string().optional(),
|
|
2484
|
-
vl: z.string().optional(),
|
|
2485
|
-
vc: z.string().optional(),
|
|
2486
|
-
vs: z.string().optional(),
|
|
2487
|
-
b: z.number().optional(),
|
|
2488
|
-
p_ext: z.string().optional()
|
|
2489
|
-
}),
|
|
2490
|
-
output: z.object({
|
|
2491
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2492
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2493
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2494
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2495
|
-
answer_box: z.record(z.string(), z.unknown()).optional(),
|
|
2496
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional(),
|
|
2497
|
-
related_searches: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2498
|
-
}).passthrough(),
|
|
2499
|
-
run: async (input, context) => {
|
|
2500
|
-
return await serpApiSearch(context.credentials.serpapi, "yahoo", input);
|
|
2501
|
-
}
|
|
2502
|
-
});
|
|
2503
|
-
|
|
2504
|
-
//#endregion
|
|
2505
|
-
//#region src/operations/yahoo-shopping.operation.ts
|
|
2506
|
-
const yahooShoppingOperation = new Operation({
|
|
2507
|
-
id: "serpapi.yahoo-shopping",
|
|
2508
|
-
name: "Yahoo Shopping Search",
|
|
2509
|
-
description: "Search Yahoo Shopping via SerpApi",
|
|
2510
|
-
credentialSets: [serpApiCredentialSet],
|
|
2511
|
-
input: z.object({
|
|
2512
|
-
p: z.string(),
|
|
2513
|
-
yahoo_domain: z.string().optional(),
|
|
2514
|
-
vl: z.string().optional(),
|
|
2515
|
-
vc: z.string().optional()
|
|
2516
|
-
}),
|
|
2517
|
-
output: z.object({
|
|
2518
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2519
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2520
|
-
shopping_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2521
|
-
}).passthrough(),
|
|
2522
|
-
run: async (input, context) => {
|
|
2523
|
-
return await serpApiSearch(context.credentials.serpapi, "yahoo_shopping", input);
|
|
2524
|
-
}
|
|
2525
|
-
});
|
|
2526
|
-
|
|
2527
|
-
//#endregion
|
|
2528
|
-
//#region src/operations/yahoo-videos.operation.ts
|
|
2529
|
-
const yahooVideosOperation = new Operation({
|
|
2530
|
-
id: "serpapi.yahoo-videos",
|
|
2531
|
-
name: "Yahoo Videos Search",
|
|
2532
|
-
description: "Search Yahoo Videos via SerpApi",
|
|
2533
|
-
credentialSets: [serpApiCredentialSet],
|
|
2534
|
-
input: z.object({
|
|
2535
|
-
p: z.string(),
|
|
2536
|
-
yahoo_domain: z.string().optional(),
|
|
2537
|
-
vl: z.string().optional(),
|
|
2538
|
-
vc: z.string().optional()
|
|
2539
|
-
}),
|
|
2540
|
-
output: z.object({
|
|
2541
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2542
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2543
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2544
|
-
}).passthrough(),
|
|
2545
|
-
run: async (input, context) => {
|
|
2546
|
-
return await serpApiSearch(context.credentials.serpapi, "yahoo_videos", input);
|
|
2547
|
-
}
|
|
2548
|
-
});
|
|
2549
|
-
|
|
2550
|
-
//#endregion
|
|
2551
|
-
//#region src/operations/yandex-images.operation.ts
|
|
2552
|
-
const yandexImagesOperation = new Operation({
|
|
2553
|
-
id: "serpapi.yandex-images",
|
|
2554
|
-
name: "Yandex Images Search",
|
|
2555
|
-
description: "Search Yandex Images via SerpApi",
|
|
2556
|
-
credentialSets: [serpApiCredentialSet],
|
|
2557
|
-
input: z.object({
|
|
2558
|
-
text: z.string(),
|
|
2559
|
-
yandex_domain: z.string().optional(),
|
|
2560
|
-
lr: z.string().optional(),
|
|
2561
|
-
lang: z.string().optional(),
|
|
2562
|
-
p: z.number().optional()
|
|
2563
|
-
}),
|
|
2564
|
-
output: z.object({
|
|
2565
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2566
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2567
|
-
images_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2568
|
-
}).passthrough(),
|
|
2569
|
-
run: async (input, context) => {
|
|
2570
|
-
return await serpApiSearch(context.credentials.serpapi, "yandex_images", input);
|
|
2571
|
-
}
|
|
2572
|
-
});
|
|
2573
|
-
|
|
2574
|
-
//#endregion
|
|
2575
|
-
//#region src/operations/yandex-search.operation.ts
|
|
2576
|
-
const yandexSearchOperation = new Operation({
|
|
2577
|
-
id: "serpapi.yandex-search",
|
|
2578
|
-
name: "Yandex Search",
|
|
2579
|
-
description: "Search Yandex via SerpApi",
|
|
2580
|
-
credentialSets: [serpApiCredentialSet],
|
|
2581
|
-
input: z.object({
|
|
2582
|
-
text: z.string(),
|
|
2583
|
-
yandex_domain: z.string().optional(),
|
|
2584
|
-
lr: z.string().optional(),
|
|
2585
|
-
lang: z.string().optional(),
|
|
2586
|
-
p: z.number().optional()
|
|
2587
|
-
}),
|
|
2588
|
-
output: z.object({
|
|
2589
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2590
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2591
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2592
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2593
|
-
knowledge_graph: z.record(z.string(), z.unknown()).optional()
|
|
2594
|
-
}).passthrough(),
|
|
2595
|
-
run: async (input, context) => {
|
|
2596
|
-
return await serpApiSearch(context.credentials.serpapi, "yandex", input);
|
|
2597
|
-
}
|
|
2598
|
-
});
|
|
2599
|
-
|
|
2600
|
-
//#endregion
|
|
2601
|
-
//#region src/operations/yandex-videos.operation.ts
|
|
2602
|
-
const yandexVideosOperation = new Operation({
|
|
2603
|
-
id: "serpapi.yandex-videos",
|
|
2604
|
-
name: "Yandex Videos Search",
|
|
2605
|
-
description: "Search Yandex Videos via SerpApi",
|
|
2606
|
-
credentialSets: [serpApiCredentialSet],
|
|
2607
|
-
input: z.object({
|
|
2608
|
-
text: z.string(),
|
|
2609
|
-
yandex_domain: z.string().optional(),
|
|
2610
|
-
lr: z.string().optional(),
|
|
2611
|
-
lang: z.string().optional(),
|
|
2612
|
-
p: z.number().optional()
|
|
2613
|
-
}),
|
|
2614
|
-
output: z.object({
|
|
2615
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2616
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2617
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2618
|
-
}).passthrough(),
|
|
2619
|
-
run: async (input, context) => {
|
|
2620
|
-
return await serpApiSearch(context.credentials.serpapi, "yandex_videos", input);
|
|
2621
|
-
}
|
|
2622
|
-
});
|
|
2623
|
-
|
|
2624
|
-
//#endregion
|
|
2625
|
-
//#region src/operations/yelp-place.operation.ts
|
|
2626
|
-
const yelpPlaceOperation = new Operation({
|
|
2627
|
-
id: "serpapi.yelp-place",
|
|
2628
|
-
name: "Yelp Place",
|
|
2629
|
-
description: "Get Yelp place details via SerpApi",
|
|
2630
|
-
credentialSets: [serpApiCredentialSet],
|
|
2631
|
-
input: z.object({ place_id: z.string() }),
|
|
2632
|
-
output: z.object({
|
|
2633
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2634
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2635
|
-
place: z.record(z.string(), z.unknown()).optional()
|
|
2636
|
-
}).passthrough(),
|
|
2637
|
-
run: async (input, context) => {
|
|
2638
|
-
return await serpApiSearch(context.credentials.serpapi, "yelp_place", input);
|
|
2639
|
-
}
|
|
2640
|
-
});
|
|
2641
|
-
|
|
2642
|
-
//#endregion
|
|
2643
|
-
//#region src/operations/yelp-reviews.operation.ts
|
|
2644
|
-
const yelpReviewsOperation = new Operation({
|
|
2645
|
-
id: "serpapi.yelp-reviews",
|
|
2646
|
-
name: "Yelp Reviews",
|
|
2647
|
-
description: "Get Yelp place reviews via SerpApi",
|
|
2648
|
-
credentialSets: [serpApiCredentialSet],
|
|
2649
|
-
input: z.object({
|
|
2650
|
-
place_id: z.string(),
|
|
2651
|
-
sort_by: z.string().optional(),
|
|
2652
|
-
start: z.number().optional()
|
|
2653
|
-
}),
|
|
2654
|
-
output: z.object({
|
|
2655
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2656
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2657
|
-
reviews: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2658
|
-
}).passthrough(),
|
|
2659
|
-
run: async (input, context) => {
|
|
2660
|
-
return await serpApiSearch(context.credentials.serpapi, "yelp_reviews", input);
|
|
2661
|
-
}
|
|
2662
|
-
});
|
|
2663
|
-
|
|
2664
|
-
//#endregion
|
|
2665
|
-
//#region src/operations/yelp-search.operation.ts
|
|
2666
|
-
const yelpSearchOperation = new Operation({
|
|
2667
|
-
id: "serpapi.yelp-search",
|
|
2668
|
-
name: "Yelp Search",
|
|
2669
|
-
description: "Search Yelp via SerpApi",
|
|
2670
|
-
credentialSets: [serpApiCredentialSet],
|
|
2671
|
-
input: z.object({
|
|
2672
|
-
find_desc: z.string(),
|
|
2673
|
-
find_loc: z.string(),
|
|
2674
|
-
sortby: z.string().optional(),
|
|
2675
|
-
start: z.number().optional(),
|
|
2676
|
-
cflt: z.string().optional(),
|
|
2677
|
-
attrs: z.string().optional()
|
|
2678
|
-
}),
|
|
2679
|
-
output: z.object({
|
|
2680
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2681
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2682
|
-
organic_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2683
|
-
ad_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2684
|
-
filters: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2685
|
-
}).passthrough(),
|
|
2686
|
-
run: async (input, context) => {
|
|
2687
|
-
return await serpApiSearch(context.credentials.serpapi, "yelp", input);
|
|
2688
|
-
}
|
|
2689
|
-
});
|
|
2690
|
-
|
|
2691
|
-
//#endregion
|
|
2692
|
-
//#region src/operations/youtube-search.operation.ts
|
|
2693
|
-
const youtubeSearchOperation = new Operation({
|
|
2694
|
-
id: "serpapi.youtube-search",
|
|
2695
|
-
name: "YouTube Search",
|
|
2696
|
-
description: "Search YouTube via SerpApi",
|
|
2697
|
-
credentialSets: [serpApiCredentialSet],
|
|
2698
|
-
input: z.object({
|
|
2699
|
-
search_query: z.string(),
|
|
2700
|
-
gl: z.string().optional(),
|
|
2701
|
-
hl: z.string().optional(),
|
|
2702
|
-
sp: z.string().optional(),
|
|
2703
|
-
page: z.number().optional()
|
|
2704
|
-
}),
|
|
2705
|
-
output: z.object({
|
|
2706
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2707
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2708
|
-
video_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2709
|
-
channel_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2710
|
-
playlist_results: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
2711
|
-
shorts_results: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2712
|
-
}).passthrough(),
|
|
2713
|
-
run: async (input, context) => {
|
|
2714
|
-
return await serpApiSearch(context.credentials.serpapi, "youtube", input);
|
|
2715
|
-
}
|
|
2716
|
-
});
|
|
2717
|
-
|
|
2718
|
-
//#endregion
|
|
2719
|
-
//#region src/operations/youtube-video.operation.ts
|
|
2720
|
-
const youtubeVideoOperation = new Operation({
|
|
2721
|
-
id: "serpapi.youtube-video",
|
|
2722
|
-
name: "YouTube Video",
|
|
2723
|
-
description: "Get YouTube video details via SerpApi",
|
|
2724
|
-
credentialSets: [serpApiCredentialSet],
|
|
2725
|
-
input: z.object({
|
|
2726
|
-
v: z.string(),
|
|
2727
|
-
gl: z.string().optional(),
|
|
2728
|
-
hl: z.string().optional()
|
|
2729
|
-
}),
|
|
2730
|
-
output: z.object({
|
|
2731
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2732
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2733
|
-
video: z.record(z.string(), z.unknown()).optional(),
|
|
2734
|
-
comments: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2735
|
-
}).passthrough(),
|
|
2736
|
-
run: async (input, context) => {
|
|
2737
|
-
return await serpApiSearch(context.credentials.serpapi, "youtube_video", input);
|
|
2738
|
-
}
|
|
2739
|
-
});
|
|
2740
|
-
|
|
2741
|
-
//#endregion
|
|
2742
|
-
//#region src/operations/youtube-video-transcript.operation.ts
|
|
2743
|
-
const youtubeVideoTranscriptOperation = new Operation({
|
|
2744
|
-
id: "serpapi.youtube-video-transcript",
|
|
2745
|
-
name: "YouTube Video Transcript",
|
|
2746
|
-
description: "Get YouTube video transcript via SerpApi",
|
|
2747
|
-
credentialSets: [serpApiCredentialSet],
|
|
2748
|
-
input: z.object({
|
|
2749
|
-
v: z.string(),
|
|
2750
|
-
lang: z.string().optional()
|
|
2751
|
-
}),
|
|
2752
|
-
output: z.object({
|
|
2753
|
-
search_metadata: z.record(z.string(), z.unknown()).optional(),
|
|
2754
|
-
search_parameters: z.record(z.string(), z.unknown()).optional(),
|
|
2755
|
-
transcript: z.array(z.record(z.string(), z.unknown())).optional()
|
|
2756
|
-
}).passthrough(),
|
|
2757
|
-
run: async (input, context) => {
|
|
2758
|
-
return await serpApiSearch(context.credentials.serpapi, "youtube_video_transcript", input);
|
|
2759
|
-
}
|
|
2760
|
-
});
|
|
2761
|
-
|
|
2762
|
-
//#endregion
|
|
2763
|
-
export { googlePatentsOperation as $, appleProductOperation as $t, googleVideosLightOperation as A, googleAutocompleteOperation as At, googleSearchOperation as B, duckduckgoMapsOperation as Bt, opentableReviewsOperation as C, googleHotelsOperation as Ct, homeDepotSearchOperation as D, googleFinanceMarketsOperation as Dt, serpApiLocationsOperation as E, googleFlightsOperation as Et, googleTrendsOperation as F, ebaySearchOperation as Ft, googleReverseImageOperation as G, bingSearchOperation as Gt, googleScholarCiteOperation as H, braveAiModeOperation as Ht, googleTravelExploreOperation as I, ebayProductOperation as It, googlePlayMoviesOperation as J, bingMapsOperation as Jt, googleRelatedQuestionsOperation as K, bingReverseImageOperation as Kt, googleShortVideosOperation as L, duckduckgoSearchAssistOperation as Lt, googleTrendsTrendingNowOperation as M, googleAiModeOperation as Mt, googleTrendsNewsOperation as N, googleAdsTransparencyOperation as Nt, homeDepotProductReviewsOperation as O, googleFinanceOperation as Ot, googleTrendsAutocompleteOperation as P, facebookProfileOperation as Pt, googlePatentsDetailsOperation as Q, appleReviewsOperation as Qt, googleShoppingLightOperation as R, duckduckgoSearchOperation as Rt, serpApiSearchArchiveOperation as S, googleHotelsAutocompleteOperation as St, naverAiOverviewOperation as T, googleFlightsAutocompleteOperation as Tt, googleScholarAuthorOperation as U, bingVideosOperation as Ut, googleScholarProfilesOperation as V, duckduckgoLightOperation as Vt, googleScholarOperation as W, bingShoppingOperation as Wt, googlePlayBooksOperation as X, bingCopilotOperation as Xt, googlePlayGamesOperation as Y, bingImagesOperation as Yt, googlePlayOperation as Z, baiduSearchOperation as Zt, walmartProductOperation as _, googleImagesRelatedOperation as _t, yelpReviewsOperation as a, googleMapsPhotoMetaOperation as at, tripadvisorPlaceOperation as b, googleHotelsReviewsOperation as bt, yandexSearchOperation as c, googleMapsAutocompleteOperation as ct, yahooShoppingOperation as d, googleLocalOperation as dt, appleAppStoreOperation as en, googleNewsLightOperation as et, yahooSearchOperation as f, googleLightSearchOperation as ft, walmartProductReviewsOperation as g, googleImmersiveProductOperation as gt, walmartProductSellersOperation as h, googleJobsOperation as ht, yelpSearchOperation as i, googleMapsPhotosOperation as it, googleVideosOperation as j, googleAiOverviewOperation as jt, homeDepotProductOperation as k, googleEventsOperation as kt, yandexImagesOperation as l, googleMapsOperation as lt, walmartSearchOperation as m, googleJobsListingOperation as mt, youtubeVideoOperation as n, amazonProductOperation as nn, googleMapsReviewsOperation as nt, yelpPlaceOperation as o, googleMapsDirectionsOperation as ot, yahooImagesOperation as p, googleLensOperation as pt, googlePlayProductOperation as q, bingNewsOperation as qt, youtubeSearchOperation as r, serpApiAccountOperation as rn, googleMapsPostsOperation as rt, yandexVideosOperation as s, googleMapsContributorReviewsOperation as st, youtubeVideoTranscriptOperation as t, amazonSearchOperation as tn, googleNewsOperation as tt, yahooVideosOperation as u, googleLocalServicesOperation as ut, tripadvisorSearchOperation as v, googleImagesLightOperation as vt, naverSearchOperation as w, googleForumsOperation as wt, serpApiSearchIndexOperation as x, googleHotelsPhotosOperation as xt, tripadvisorReviewsOperation as y, googleImagesOperation as yt, googleShoppingOperation as z, duckduckgoNewsOperation as zt };
|