Contains a basic boilerplate of an Apify actor with a custom Dockerfile and hosted in a Git repository. It's purpose is to help you get started quickly to create your own actors.

Last run
Used 14 times

This is a simple Apify actor that contains the basic boilerplate using a custom Dockerfile and hosted in a Git repository. Fill free to copy it, change it and use it in your own actors.

Are you missing anything? Something not clear? Please let us know at support@apify.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:

apify run

In order to test the build of the Docker image, 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

Where 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.


Contains the source code of the actor in Node.js 7+.


The file used by NPM to maintain meta-data about the package, such as list of dependencies. See NPM docs for more details.


Contains instructions for Docker how to build the image for the actor. For more information, see Dockerfile reference.


The readme file is used to generate a long description of the actor that is displayed in the Apify library as well as on the project's GitHub page.


When running the actor on the Apify cloud, the actor is automatically assigned a key-value store that is used to store actor's input, output or any other data. The apify_storage/key_value_stores/default directory is used to emulate this storage 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 of the apify_storage/key_value_stores/default/INPUT.json file parsed as JSON. Similarly, calling Apify.setValue('OUTPUT', ...) will write a file to apify_storage/key_value_stores/default/OUTPUT.json.

For more information, see the Getting Started tutorial of the Apify SDK.