Actors are serverless cloud programs running on the Apify platform that can perform arbitrary computing jobs such as send an email or crawl a website with millions of pages. They can be started manually, using our API or scheduler, and they can be easily integrated with other apps.
Long-running serverless jobs
Unlike traditional serverless microservice platforms such as AWS Lambda or Google Cloud Functions, Apify actors can perform time-consuming jobs that are longer than the lifespan of a single HTTP transaction. In fact, they can even run infinitely.
Hundreds of existing actors
Don't reinvent the wheel for common tasks. The Apify Store contains hundreds of ready-made actors that you can start using with just a few clicks. Publish your own actors and give your open-source projects a live presence in the cloud, so that other people can easily try them out.
Auto-generated user interface
Actors can easily define a user interface for their input configuration. This makes it extremely simple for people to start using actors, even with no coding skills. Advanced users can still take advantage of lower-level features and settings, or run actors using our API.
Host code anywhere
The source code of your actors can be fetched from a Git repository, GitHub Gist, a Zip file or pushed from a local computer.
Online code editor
Edit the code of your actors in an online editor with syntax highlighting. Easily build, run and manage your actors from the Apify app.
Let your actors run periodically every day, hour, minute, second, or in fact at any arbitrary time using our advanced scheduler.
Actors run inside Docker containers on Apify servers. You can use a custom Dockerfile to build actors according to your needs.
Ready for scale
The Apify platform automatically provisions the required resources to run as many actors as you want. Don't worry about the management of physical servers.
Custom memory and CPU
Assign each actor a specific amount of memory depending on the requirements of its job. CPU share is allocated automatically.
Run, stop and manage actors using a full-featured API. You can use synchronous HTTP calls for shorter jobs and asynchronous interface for longer jobs.
Receive a webhook whenever an actor run finishes or fails. With webhooks, you can seamlessly integrate actors with other systems.
Develop and test your actors locally, and only push them to the Apify platform once they are ready using the Apify command-line utility.
Actors can start a web server that becomes available on a random unique URL. This is useful for sending messages to actors or monitoring.
View and download logs from running or finished actors to debug your code and monitor performance on production.
Store data from your actors in one of our Apify storages: key-value stores for files and records, datasets for tabular results or request queue for recursive crawling.
Usage of actors is charged based on compute units. An actor running with 1 GB of memory for one hour consumes 1 compute unit.
1 GB memory x 1 hour = 1 compute unit
This means that actors that use more memory or run for longer time consume more compute units. Each subscription plan has a different number of compute units that can be consumed per month. For details, see Pricing.