An actor is a serverless microservice that can perform an arbitrary computing job, such as send an email or crawl a website with millions of pages. Actors provide the easy-to-use environment to develop, run and publish software jobs in the cloud. Actors can be started manually in the app, using the API or scheduler, and they can be easily integrated into your workflows.
Serverless for long-running jobs
Actors provide an easy-to-use environment to build, run and publish serverless software jobs. Unlike traditional serverless platforms like AWS Lambda or Google Cloud Functions, actors can perform time-consuming jobs that don’t fit into the lifetime of an HTTP transaction. Once an actor is started, rest assured it runs to completion.
Library of ready-made actors
You don’t need to reinvent the wheel every time you want to perform a common task. Use one of hundreds of ready-made actors in the Apify Library for your project in just a few clicks. Showcase your own actors in the library and give your open-source projects a presence in the cloud.
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 the actors, even with no coding skills. More advanced users or developers can still take advantage of lower-level features, control runtime settings and run actors using API.
Host code anywhere
The source code of your actors can be fetched from 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 a control panel.
The Apify platform automatically provisions required resources to run as many actors as you need. Don’t worry about management of physical servers.
Actors run inside Docker containers on Apify servers. You can use a custom Dockerfile to build Docker images for actors according to your needs.
Secure environment variables
Sensitive values such as passwords can be stored securely on the Apify cloud and passed as environment variables to the actor process.
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.
Your actor can start a web server that becomes available on a generated unique URL. This is useful for sending messages to actors or to monitor their progress.
View and download logs from running or finished actors, in order to debug your code and monitor production performance.
Store data from your actors in one of the Apify storages: key-value stores for files and records, datasets for tabular results or request queue for recursive crawling.
The usage of actors is charged based on the so called 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
Each subscription plan has a different number of compute units that can be consumed per month. For details, see Pricing.
No sure how many compute units you need? No worries, we have a free plan and a large number of actors in the library 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 firstname.lastname@example.org