This is a simple Apify actor that serves as a basic boilerplate. It has a Node.js source code, custom Dockerfile and it's hosted in a Git repository. Feel free to copy this actor, modify it and use it in your own actors.
Are you missing anything? Something not clear? Please let us know at email@example.com
To run the actor in your local environment, simply run the following commands:
npm install npm run start
Alternatively, if you have Apify CLI installed, you can start the actor by running:
In order to test the build of the Docker image, you can run:
docker build ./
On success, the command will print something like:
... Removing intermediate container 22915a918e4c Step 6/6 : CMD node main.js ---> Running in 7288f9a12cf0 ---> 0d82ea8a648d Removing intermediate container 7288f9a12cf0 Successfully built XYZ
After that you can run the built Docker image locally using:
docker run XYZ
XYZ is ID of the Docker image built in the previous step.
If there is any problem with the built image, you might try troubleshooting it by starting the container in interactive mode using:
docker run -it XYZ /bin/bash
Note that this requires a base Docker image that contains bash or some other interactive shell.
Specifies files and directories that shouldn't be included in the Git repository.
The file is used by Apify CLI
and it contains information linking your local source code directory with the
actor on the Apify platform.
You only need this file if you want to run commands such as
Contains instructions how to build a Docker image that will contain all the code and configuration needed to run your actor. For more information, see Dockerfile reference.
Defines schema for the actor input. It is used by the Apify platform to automatically check the input for the actor and to generate a user interface to help users of your actor to run it. For more information, see Input Schema documentation.
The main Node.js source code of your actor.
It is referenced from the
scripts section of the
so that it can be started by running
The file is used by NPM to maintain metadata about the Node.js source code, such as the list of dependencies. For details, see NPM documentation.
Contains a Markdown documentation what your actor does and how to use it, which is then displayed in the app or library. It's always a good idea to write a good README.md, in a few months not even you will remember all the details about the actor.
This directory contains data from
Apify SDK storages
during local development, such as the key-value stores,
datasets and request queues.
Typically you don't want to have the
apify_storage directory in Git repo,
but in this boilerplate we keep the
INPUT.json file in Git
for documentation purposes.
When running the actor on the Apify platform, the actor is automatically assigned
a key-value store that is used to store actor's input, output or any other data.
apify_storage/key_value_stores/default directory is used to emulate this store
during the local development of your actor.
The files in the directory represent the records in the key-value store: the name
of each file corresponds to its key and the content to the value.
For example, calling
Apify.getValue('INPUT') will return the content
apify_storage/key_value_stores/default/INPUT.json file parsed as JSON. Similarly, calling
Apify.setValue('OUTPUT', ...) will write a file to