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.
Benefits
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.
Features
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 console.
Scheduler
Let your actors run periodically every day, hour, minute, second, or in fact at any arbitrary time using our advanced scheduler.
Docker support
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.
Complete API
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.
Dependable webhooks
Receive a webhook whenever an actor run finishes or fails. With webhooks, you can seamlessly integrate actors with other systems.
Command-line tool
Develop and test your actors locally, and only push them to the Apify platform once they are ready using the Apify command-line utility.
Public URL
Actors can start a web server that becomes available on a random unique URL. This is useful for sending messages to actors or monitoring.
Logging
View and download logs from running or finished actors to debug your code and monitor performance on production.
Storage
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.
Pricing
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.
For example, for 1 compute unit, you can crawl around 400 JavaScript-enabled web pages using headless Chrome or around 5000 pages using a raw HTML parser.
No sure how many compute units you need? No problem—we have a free plan and a large number of ready-made actors in the Apify Store that you can try out. Run a few existing actors to get a better sense of how many compute units you'll need.
Any questions? Contact us