UNPKG

n8n-nodes-outscraper

Version:

n8n node to integrate with Outscraper API

1,808 lines 62.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.phonesOwnersFields = exports.emailsAndContactsFields = exports.phonesOwnersOperations = exports.emailsAndContactsOperations = exports.whitepagesAddressesFields = exports.whitepagesAddressesOperations = exports.phoneIdentityFinderFields = exports.phoneIdentityFinderOperations = exports.yellowPagesSearchFields = exports.yellowPagesSearchOperations = exports.getAppReviewsFields = exports.getAppReviewsOperations = exports.tiktokProfilesFields = exports.tiktokProfilesOperations = exports.twitterProfilesFields = exports.twitterProfilesOperations = exports.targetReviewsFields = exports.targetReviewsOperations = exports.walmartReviewsFields = exports.walmartReviewsOperations = exports.webPageScreenshoterFields = exports.webPageScreenshoterOperations = exports.universalScraperFields = exports.universalScraperOperations = exports.companyInsightsFields = exports.companyInsightsOperations = exports.geocodingFields = exports.geocodingOperations = void 0; exports.geocodingOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['geocoding'], }, }, options: [ { name: 'Geocode', value: 'geocode', description: 'Translates human-readable addresses into locations on the map', action: 'Geocode address', routing: { request: { method: 'GET', url: '/geocoding', }, }, }, { name: 'Reverse Geocode', value: 'reverseGeocode', description: 'Translate locations on the map into human-readable addresses', action: 'Reverse geocode coordinates', routing: { request: { method: 'GET', url: '/reverse-geocoding', }, }, }, ], default: 'geocode', }, ]; exports.geocodingFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['geocoding'], operation: ['geocode'], }, }, description: 'Addresses specifying the location (e.g., 321 California Ave, Palo Alto, CA 94306)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['geocoding'], operation: ['reverseGeocode'], }, }, description: 'Latitude and longitude coordinates (e.g., 40.7624284 -73.973794)', routing: { send: { type: 'query', property: 'query', }, }, }, ]; exports.companyInsightsOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['companyInsights'], }, }, options: [ { name: 'Get Insights', value: 'getInsights', description: 'Finds company details such as revenue, size, founding year, public status, etc', action: 'Get company insights', routing: { request: { method: 'GET', url: '/company-insights', }, }, }, ], default: 'getInsights', }, ]; exports.companyInsightsFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['companyInsights'], operation: ['getInsights'], }, }, description: 'Domains or websites (e.g., dominopark.com, https://www.esbnyc.com/)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Enrichment', name: 'enrichment', type: 'string', default: '', displayOptions: { show: { resource: ['companyInsights'], operation: ['getInsights'], }, }, description: 'Enrichments to apply (comma-separated)', routing: { send: { type: 'query', property: 'enrichment', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['companyInsights'], operation: ['getInsights'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['companyInsights'], operation: ['getInsights'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['companyInsights'], operation: ['getInsights'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.universalScraperOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['universalScraper'], }, }, options: [ { name: 'Scrape', value: 'scrape', description: 'Extracts the data you need from any web page by using AI', action: 'Scrape web page', routing: { request: { method: 'GET', url: '/universal-scraper', }, }, }, ], default: 'scrape', }, ]; exports.universalScraperFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['universalScraper'], operation: ['scrape'], }, }, description: 'Links to web pages (e.g., https://www.apple.com/iphone/)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Attributes', name: 'attributes', type: 'string', default: '', displayOptions: { show: { resource: ['universalScraper'], operation: ['scrape'], }, }, description: 'Attributes to parse from a web page (comma-separated)', routing: { send: { type: 'query', property: 'attributes', }, }, }, { displayName: 'Limit', name: 'limit', type: 'number', typeOptions: { minValue: 1, }, default: 50, displayOptions: { show: { resource: ['universalScraper'], operation: ['scrape'], }, }, description: 'Max number of results to return', routing: { send: { type: 'query', property: 'limit', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['universalScraper'], operation: ['scrape'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['universalScraper'], operation: ['scrape'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['universalScraper'], operation: ['scrape'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.webPageScreenshoterOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['webPageScreenshoter'], }, }, options: [ { name: 'Screenshot', value: 'screenshot', description: 'Captures high-quality screenshots of any webpage', action: 'Screenshot web page', routing: { request: { method: 'GET', url: '/webpage-screenshoter', }, }, }, ], default: 'screenshot', }, ]; exports.webPageScreenshoterFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Links to web pages (e.g., https://www.apple.com/iphone/)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Region', name: 'region', type: 'string', default: '', displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Country to use for the screenshot', routing: { send: { type: 'query', property: 'region', }, }, }, { displayName: 'Type', name: 'type', type: 'options', default: 'webp', options: [ { name: 'WebP', value: 'webp' }, { name: 'PNG', value: 'png' }, { name: 'JPEG', value: 'jpeg' }, { name: 'PDF', value: 'pdf' }, ], displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Image extension', routing: { send: { type: 'query', property: 'type', }, }, }, { displayName: 'Full Page', name: 'fullPage', type: 'boolean', default: false, displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Whether to capture the full page', routing: { send: { type: 'query', property: 'fullPage', }, }, }, { displayName: 'Width', name: 'width', type: 'number', default: 1200, displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Width of the viewport', routing: { send: { type: 'query', property: 'width', }, }, }, { displayName: 'Height', name: 'height', type: 'number', default: 800, displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Height of the viewport', routing: { send: { type: 'query', property: 'height', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['webPageScreenshoter'], operation: ['screenshot'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.walmartReviewsOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['walmartReviews'], }, }, options: [ { name: 'Reviews', value: 'reviews', description: 'Returns reviews from a list of Walmart products', action: 'Get reviews from walmart', routing: { request: { method: 'GET', url: '/walmart/reviews', }, }, }, ], default: 'reviews', }, ]; exports.walmartReviewsFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, description: 'Links to Walmart products (e.g., https://www.walmart.com/ip/...)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Limit', name: 'limit', type: 'number', typeOptions: { minValue: 1, }, default: 50, displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, description: 'Max number of results to return', routing: { send: { type: 'query', property: 'limit', }, }, }, { displayName: 'Sort', name: 'sort', type: 'options', default: 'helpful', options: [ { name: 'Helpful', value: 'helpful' }, { name: 'Rating Ascending', value: 'rating-asc' }, { name: 'Rating Descending', value: 'rating-desc' }, { name: 'Relevancy', value: 'relevancy' }, { name: 'Submission Ascending', value: 'submission-asc' }, { name: 'Submission Descending', value: 'submission-desc' }, ], displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, description: 'Sort order for reviews', routing: { send: { type: 'query', property: 'sort', }, }, }, { displayName: 'Cutoff', name: 'cutoff', type: 'number', default: 0, displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, description: 'Oldest timestamp value for items (overrides sort to newest first)', routing: { send: { type: 'query', property: 'cutoff', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['walmartReviews'], operation: ['reviews'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.targetReviewsOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['targetReviews'], }, }, options: [ { name: 'Reviews', value: 'reviews', description: 'Returns reviews from a list of Target products', action: 'Get reviews from target', routing: { request: { method: 'GET', url: '/target/reviews', }, }, }, ], default: 'reviews', }, ]; exports.targetReviewsFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, description: 'Links to Target products (e.g., https://www.target.com/p/...)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Limit', name: 'limit', type: 'number', typeOptions: { minValue: 1, }, default: 50, displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, description: 'Max number of results to return', routing: { send: { type: 'query', property: 'limit', }, }, }, { displayName: 'Sort', name: 'sort', type: 'options', default: 'most_recent', options: [ { name: 'Most Recent', value: 'most_recent' }, { name: 'Highest Rating', value: 'highest_rating' }, { name: 'Lowest Rating', value: 'lowest_rating' }, { name: 'Helpfulness Descending', value: 'helpfulness_desc' }, ], displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, description: 'Sort order for reviews', routing: { send: { type: 'query', property: 'sort', }, }, }, { displayName: 'Cutoff', name: 'cutoff', type: 'number', default: 0, displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, description: 'Oldest timestamp value for items (overrides sort to newest first)', routing: { send: { type: 'query', property: 'cutoff', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['targetReviews'], operation: ['reviews'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.twitterProfilesOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['twitterProfiles'], }, }, options: [ { name: 'Profiles', value: 'profiles', description: 'Returns information from the list of Twitter profiles', action: 'Get twitter profiles', routing: { request: { method: 'GET', url: '/twitter/profiles', }, }, }, ], default: 'profiles', }, ]; exports.twitterProfilesFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['twitterProfiles'], operation: ['profiles'], }, }, description: 'Links to Twitter pages or usernames (e.g., https://www.twitter.com/outscraper, outscraper)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['twitterProfiles'], operation: ['profiles'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['twitterProfiles'], operation: ['profiles'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['twitterProfiles'], operation: ['profiles'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.tiktokProfilesOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['tiktokProfiles'], }, }, options: [ { name: 'Profiles', value: 'profiles', description: 'Returns information from the list of TikTok profiles', action: 'Get tik tok profiles', routing: { request: { method: 'GET', url: '/tiktok/profiles', }, }, }, ], default: 'profiles', }, ]; exports.tiktokProfilesFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['tiktokProfiles'], operation: ['profiles'], }, }, description: 'Links to TikTok pages or usernames (e.g., https://www.tiktok.com/@outscraper, outscraper)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['tiktokProfiles'], operation: ['profiles'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['tiktokProfiles'], operation: ['profiles'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['tiktokProfiles'], operation: ['profiles'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.getAppReviewsOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['getAppReviews'], }, }, options: [ { name: 'Reviews', value: 'reviews', description: 'Returns reviews from GetApp apps', action: 'Get reviews from get app', routing: { request: { method: 'GET', url: '/getapp/reviews', }, }, }, ], default: 'reviews', }, ]; exports.getAppReviewsFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, description: 'Direct links to any GetApp app (e.g., https://www.getapp.com/customer-management-software/a/salesforce/reviews/)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Limit', name: 'limit', type: 'number', typeOptions: { minValue: 1, }, default: 50, displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, description: 'Max number of results to return', routing: { send: { type: 'query', property: 'limit', }, }, }, { displayName: 'Sort', name: 'sort', type: 'options', default: 'recommended', options: [ { name: 'Highest Rated', value: 'highest_rated' }, { name: 'Least Recent', value: 'least_recent' }, { name: 'Lowest Rated', value: 'lowest_rated' }, { name: 'Most Recent', value: 'most_recent' }, { name: 'Recommended', value: 'recommended' }, ], displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, description: 'Sort order for reviews', routing: { send: { type: 'query', property: 'sort', }, }, }, { displayName: 'Cutoff', name: 'cutoff', type: 'number', default: 0, displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, description: 'Oldest timestamp value for items (overrides sort to newest first)', routing: { send: { type: 'query', property: 'cutoff', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['getAppReviews'], operation: ['reviews'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.yellowPagesSearchOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['yellowPagesSearch'], }, }, options: [ { name: 'Search', value: 'search', description: 'Returns search results from Yellow Pages', action: 'Search yellow pages', routing: { request: { method: 'GET', url: '/yellowpages-search', }, }, }, ], default: 'search', }, ]; exports.yellowPagesSearchFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'Categories to search for (e.g., bars, restaurants, dentists)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Location', name: 'location', type: 'string', default: 'New York, NY', displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'Where to search (e.g., New York, NY)', routing: { send: { type: 'query', property: 'location', }, }, }, { displayName: 'Limit', name: 'limit', type: 'number', typeOptions: { minValue: 1, }, default: 50, displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'Max number of results to return', routing: { send: { type: 'query', property: 'limit', }, }, }, { displayName: 'Region', name: 'region', type: 'options', default: 'US', options: [ { name: 'United States', value: 'US' }, { name: 'United Kingdom', value: 'GB' }, { name: 'Canada', value: 'CA' }, ], displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'Country to use for website', routing: { send: { type: 'query', property: 'region', }, }, }, { displayName: 'Enrichment', name: 'enrichment', type: 'string', default: '', displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'Enrichments to apply to the results (comma-separated)', routing: { send: { type: 'query', property: 'enrichment', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['yellowPagesSearch'], operation: ['search'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specific fields to return (comma-separated)', routing: { send: { type: 'query', property: 'fields', }, }, }, { displayName: 'UI', name: 'ui', type: 'boolean', default: false, description: 'Whether to execute the request as a UI task', routing: { send: { type: 'query', property: 'ui', }, }, }, ], }, ]; exports.phoneIdentityFinderOperations = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['phoneIdentityFinder'], }, }, options: [ { name: 'Find Identity', value: 'findIdentity', description: 'Returns insights about phone number owners (name, address, etc.)', action: 'Find phone identity', routing: { request: { method: 'GET', url: '/whitepages-phones', }, }, }, ], default: 'findIdentity', }, ]; exports.phoneIdentityFinderFields = [ { displayName: 'Query', name: 'query', type: 'string', default: '', required: true, displayOptions: { show: { resource: ['phoneIdentityFinder'], operation: ['findIdentity'], }, }, description: 'Phone number (e.g., +1 281 236 8208)', routing: { send: { type: 'query', property: 'query', }, }, }, { displayName: 'Async Request', name: 'async', type: 'boolean', default: false, displayOptions: { show: { resource: ['phoneIdentityFinder'], operation: ['findIdentity'], }, }, description: 'Whether to make an asynchronous request', routing: { send: { type: 'query', property: 'async', }, }, }, { displayName: 'Webhook', name: 'webhook', type: 'string', default: '', displayOptions: { show: { resource: ['phoneIdentityFinder'], operation: ['findIdentity'], }, }, description: 'URL address (callback) to which Outscraper will create a POST request once the task is finished', placeholder: 'https://your-webhook-url.com', routing: { send: { type: 'query', property: 'webhook', }, }, }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['phoneIdentityFinder'], operation: ['findIdentity'], }, }, options: [ { displayName: 'Fields', name: 'fields', type: 'string', default: '', description: 'Specif