Actor picture

Quick Start for Actor Creation


Contains a basic boilerplate of an Apify actor with Node.js source code and a custom Dockerfile. The purpose of this actor is to help you get started quickly to create your own actors.

No credit card required

Author's avatarApify
  • Modified
  • Users31
  • Runs370
Actor picture
Quick Start for Actor Creation

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

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, 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

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.


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 apify run or apify push.


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 package.json file, so that it can be started by running npm start.


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, 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. The 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 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.


See how Quick Start for Actor Creation is used in industries around the world