The Ayakashi configuration file
The complete configuration reference of the ayakashi.config.js file.
Table of contents
Global configuration options
Options for the top-level config object.
| Option | Type | Description |
|---|---|---|
headless | boolean | Setting it to false will disable headless mode. |
proxyUrl | string | Sets a proxy url for all scrapers. |
openDevTools | boolean | Automatically open devTools for every tab. headless must be false for it to have any effect. |
persistentSession | boolean | Persists the session data of all scrapers instead of using a temporary session each time. Learn more here |
windowWidth | number | Sets the width of the browser window. Default is 1920. |
windowHeight | number | Sets the height of the browser window. Default is 1080. |
chromePath | string | Use a custom chrome/chromium executable instead of the auto-downloaded one. Learn more here |
ignoreCertificateErrors | boolean | Ignore all certificate (ssl) errors. |
bridgePort | number | Sets the port of the internal bridge server, default is 9731. Use 0 for a random port. |
protocolPort | number | Sets the port of the internal devTools protocol server, default is 9730. Use 0 for a random port. |
workers | number | Sets the number of workers to use. Defaults to auto which will spawn as many workers as needed by the current pipeline (not more than the total system thread count). |
workerConcurrency | number | Sets the number of steps each worker can execute at the same time. Defaults to 1. It should only be increased if there are more parallel steps than the worker count and the steps are mostly I/O bound. |
Step configuration options
The configuration options used for steps inside parallel or waterfall.
| Option | Type | Description |
|---|---|---|
type | string | The type of the step. Valid values are scraper, renderlessScraper, apiScraper or script. |
module | string | The name of the module. |
params | object | A custom parameters object to pass to the module. |
config | object | Extra configuration for the step. See below |
load | object | Specify external modules that should be loaded by the scraper. See below |
Extra step configuration
Options for a step’s config object.
| Option | Type | Description |
|---|---|---|
pipeConsole | boolean | Set it to false to disable the page console logs from getting printed. |
pipeExceptions | boolean | Set it to false to disable any page uncaught exceptions from getting printed. |
localAutoLoad | boolean | Set it to false to disable automatic loading of local actions, extractors, preloaders and props |
emulatorOptions | object | Specify emulation options to be used by this scraper. See below |
Step loading options
Options for a step’s load object.
| Option | Type | Description |
|---|---|---|
extractors | array of strings | An array of external extractor modules. |
actions | array of strings | An array of external action modules. |
preloaders | array of strings or objects | An array of external preloader modules. |
Extra preloader options
load.preloaders can also accept object elements. Here are the options
| Option | Type | Description |
|---|---|---|
module | string | The preloader’s module name. |
as | string | Set a custom name for the preloader. |
waitForDom | boolean | Set it to true to wait for the DOM to be ready before loading the preloader. |
emulatorOptions
| Option | Type | Description |
|---|---|---|
width | number | Sets the available width. |
height | number | Sets the available height. |
mobile | boolean | Set it to true to emulate a mobile device. |
userAgent | random / desktop / mobile / chrome-desktop / chrome-mobile | Configures the userAgent for this scraper. By default a random chrome-desktop userAgent is used. |
acceptLanguage | string | Configures the language for this scraper. It will be applied as the browser’s language and on the Accept-Language header on HTTP requests. Defaults to en-US. |
platform | Win32 / MacIntel / Linux armv8l / Linux armv7l / iPad / iPhone / Linux x86_64 | Configures the value navigator.platform should return. Defaults to Win32 for desktop and Linux armv8l for mobile. Setting a custom platform will also affect the generated userAgent. |