Keboola Input Mapping
by drobnikj
It parses the input table from Apify <> Keboola extractor and maps the data into another task or actor input.
Opens on Apify.com
About Keboola Input Mapping
It parses the input table from Apify <> Keboola extractor and maps the data into another task or actor input.
What does this actor do?
Keboola Input Mapping is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.
Key Features
- Cloud-based execution - no local setup required
- Scalable infrastructure for large-scale operations
- API access for integration with your applications
- Built-in proxy rotation and anti-blocking measures
- Scheduled runs and webhooks for automation
How to Use
- Click "Try This Actor" to open it on Apify
- Create a free Apify account if you don't have one
- Configure the input parameters as needed
- Run the actor and download your results
Documentation
Keboola Input Mapping This Actor parses the input table from the Apify <> Keboola extractor and maps the data into another task or Actor input. If you haven't used the Apify <> Keboola integration yet, this tool is probably not what you're looking for, and you should read this article to learn more about the integration. ## Introduction It is not possible to pass the input table from the Keboola extractor into any public Actor because the Keboola extractor passes the input table using a key-value store. The storeId and key of the input table are put into the Actor/task input. Since storeId and key are not part of any public Actor, they will be omitted. This tool helps you run an Actor/task from the Keboola extractor and map the input table into Actor/task input. ## Setup The recommended way to use it is to create a task out of this Actor and predefine the target task or Actor you need to run, along with the input mapping function.
Afterward, you can easily run this task from Keboola using the Apify component and the "Run task" action on the Keboola platform.
With this setup, you will run the component on Keboola with Input Table data, and the data will be passed to the target Actor or task based on the mapping function. When the target task or Actor finishes, you will receive data in the Keboola platform. ## Input Configuration The following configuration settings can be entered manually in the Apify Console or programmatically via a JSON object using the Apify API. Below is a summary of the input fields: ### Target Actor or Task Specifies the Actor or task to run. ### Input Mapping The JavaScript function that maps the data from Keboola into the input for the target task or Actor. The function has two parameters: #### parsedInputTableCsv The data parsed from the Keboola Input Table in array format. The array will have items as objects where each object will have properties based on columns. csv Title,URL Test1,http://example.com#1 Test2,http://example.com#2 will transform into: javascript [ { "Title": "Test1", "URL": "http://example.com#1" }, { "Title": "Test2", "URL": "http://example.com#2" } ] #### originalInput This parameter holds the original input from Input Overrides from Keboola platform settings for task runs. ### Output Mapping The JavaScript function maps the output (dataset items) from the target task or Actor to the output format for the Keboola platform. > Note: The function can return a single object or an array of objects. > If the function returns an array, each object will be saved as a separate row in the output dataset. The function has one parameter: #### item An item from the dataset output of the target task or Actor. ### Skip Metamorph If set to true, Metamorph will not be used in processing. This option should only be enabled in specific cases where Metamorph cannot be utilized, as it may increase resource consumption. > Note: If the output mapping function is enabled, the metamorf wil be always skip. ## Use Case - Web Scraper Imagine we have tabular data in a CSV in Keboola in the following format: csv Title,URL,ID Test1,http://example.com#1,product_1 Test2,http://example.com#2,product_2 Test3,http://example.com#3,product_3 Test4,http://example.com#4,product_4 Test5,http://example.com#5,product_5 The input for the input mapping task will be: Target Actor ID: apify/web-scraper Input Mapping Function: javascript function inputMappingFunction({ originalInput, parsedInputTableCsv }) { const startUrls = parsedInputTableCsv.map((line) => { return { url: line['URL'] }; }); return { startUrls, }; } This function will map the input table from Keboola into the start URLs input for the Web Scraper Actor. We will save the task, go to Keboola, use the created task in Apify extractor, and select the table we want to pass.
After we save and run this configuration, the task should execute our target task and use the input created in the mapping function. ## Use Case - Google Maps Review Scraper Imagine we have tabular data in a CSV in Keboola in the following format: csv Title,URL Restaurant one,https://www.google.com/maps/place/?q=place_id:ChIJjXrFkantkIgRWkqwctFznKk Restaurant two,https://www.google.com/maps/place/?q=place_id:JuIljXrFkantkIsrWkqwctFzjjk Additionally, we need to get only reviews newer than January 1, 2024, reviews in English, and limit reviews to a maximum of 100. The input for the input mapping task will be: Target Actor ID: compass/Google-Maps-Reviews-Scraper Input Mapping Function: javascript function inputMappingFunction({ originalInput, parsedInputTableCsv }) { const startUrls = parsedInputTableCsv.map((line) => { return { url: line['URL'] }; }); return { startUrls, reviewsStartDate: originalInput.reviewsStartDate, language: originalInput.language, maxReviews: originalInput.maxReviews, }; } This function will map the input table from Keboola into the start URLs input for the Google Maps Review Scraper Actor, plus it will pass input overrides for the reviews start date, language, and maximum reviews to the target Actor. We will save the task, go to Keboola, use the created task in Apify extractor, and select the table we want to pass.
After we save and run this configuration, the task should execute our target task and use the input created in the mapping function. ## Miscellaneous If you're struggling with your Apify <> Keboola setup, please ask me for help or contact Apify support.
Categories
Common Use Cases
Market Research
Gather competitive intelligence and market data
Lead Generation
Extract contact information for sales outreach
Price Monitoring
Track competitor pricing and product changes
Content Aggregation
Collect and organize content from multiple sources
Ready to Get Started?
Try Keboola Input Mapping now on Apify. Free tier available with no credit card required.
Start Free TrialActor Information
- Developer
- drobnikj
- Pricing
- Paid
- Total Runs
- 6,096
- Active Users
- 21
Related Actors
Web Scraper
by apify
Cheerio Scraper
by apify
Website Content Crawler
by apify
Legacy PhantomJS Crawler
by apify
Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.
Learn more about ApifyNeed Professional Help?
Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.
Trusted by millions | Money-back guarantee | 24/7 Support