Quick Start for Actor Creation avatar
Quick Start for Actor Creation
Try for free

No credit card required

View all Actors
Quick Start for Actor Creation

Quick Start for Actor Creation

Try for free

No credit card required

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.

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 support@apify.com

To run the actor in your local environment, simply run the following commands:

1npm install
2npm 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:

2Removing intermediate container 22915a918e4c
3Step 6/6 : CMD node main.js
4 ---> Running in 7288f9a12cf0
5 ---> 0d82ea8a648d
6Removing intermediate container 7288f9a12cf0
7Successfully 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 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. 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.

Maintained by Apify
Actor metrics
  • 2 monthly users
  • 0 stars
  • 100.0% runs succeeded
  • Created in Oct 2017
  • Modified 8 months ago