What are Apify Actors?
Apify Actors are serverless cloud programs that can perform anything from a simple action, like filling out a web form, to a complex operation, like crawling an entire website. They are programs packaged as Docker images, which accept a well-defined JSON input, perform an action, and optionally produce a well-defined JSON output.Key Features
- Serverless Execution: No infrastructure management required - just deploy and run
- Stateful Operations: Actors can maintain state across executions, enabling runs from seconds to hours, or even indefinitely
- Flexible I/O: Accept JSON input and produce JSON output with well-defined schemas
- Built-in Storage: Access to datasets, key-value stores, and request queues
- Composable: Actors can call and interact with each other to build complex systems
Actor Structure
Each Apify Actor consists of:- Dockerfile - Manages code location, build process, and execution instructions
- Source Code - Your application logic (Python, Node.js, or other languages)
- Input/Output Schemas - Define required inputs and produced results
- README Documentation - Explains functionality for users
- Metadata - Actor name, description, author, and version
Getting Started
Add Agnost analytics to your Apify Actor in four simple steps:1. Get Your Organization ID
Get your organization ID from app.agnost.ai2. Install Agnost
- Python
- Node.js
3. Add One Line of Code
- Python
- Node.js
4. View Metrics
Visit app.agnost.ai to view your analytics:- Monitor Actor runs in real-time
- Track performance and latency
- Analyze success and failure rates
- Identify optimization opportunities
Configuration
Customize tracking behavior with configuration options:- Python
- Node.js
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
endpoint | string | "https://api.agnost.ai" | API endpoint URL |
disable_input / disableInput | boolean | false | Disable tracking of input parameters |
disable_output / disableOutput | boolean | false | Disable tracking of output responses |
identify | function | None / undefined | Function to identify users from request context |
User Identification
Track analytics per user to understand usage patterns across different customers or organizations running your Actor.- Python
- Node.js
Common Use Cases
- Multi-tenant Actors: Track which customer or organization is using the Actor
- Subscription Tiers: Segment analytics by free, pro, or enterprise users
- Cost Attribution: Understand usage and costs per customer
- Customer Success: Monitor individual customer health and engagement
Complete Example
- Python
- Node.js
Why Add Analytics to Your Actor?
Performance Optimization
- Identify slow operations and bottlenecks
- Track execution time trends over versions
- Optimize resource usage and costs
Usage Insights
- Monitor how customers use your Actor
- Understand which features are most popular
- Identify usage patterns and trends
Error Tracking
- Track failure rates and error patterns
- Debug issues faster with detailed context
- Monitor service reliability
Business Intelligence
- Segment users by subscription tier
- Track adoption and retention
- Make data-driven decisions for features and pricing
Resources
- Configuration Guide - Advanced configuration options
- API Reference - Detailed API documentation
- Apify Actors Documentation - Learn about Apify Actors
- Apify Actors Development - Development guide
