Skip to main content

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:
  1. Dockerfile: Manages code location, build process, and execution instructions
  2. Source Code: Your application logic (Python, Node.js, or other languages)
  3. Input/Output Schemas: Define required inputs and produced results
  4. README Documentation: Explains functionality for users
  5. Metadata: Actor name, description, author, and version
Actors can be run via the web console, API, CLI, or scheduled triggers. They can be private for personal use or published to the Apify Store for monetization. Learn more: Apify Actors Development

Getting Started

Add Agnost AI analytics to your Apify Actor in four simple steps:

1. Get Your Organization ID

Get your organization ID from app.agnost.ai

2. Install Agnost AI

3. Add One Line of Code

That’s it! Your Apify Actor is now tracked with default settings.

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:

Configuration Options

UserIdentity is a dict (Python) or object (Node) that must contain a userId key. Other fields such as email and role are optional and forwarded as user traits.

User Identification

Track analytics per user to understand usage patterns across different customers or organizations running your Actor.
Using Actor input for identification:

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
See the Python setup guide for advanced identification patterns.

Complete Example

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

Verify

Run one Actor invocation, then open app.agnost.ai. Check Events first, then Tool calls for MCP tool calls emitted by the Actor.

Troubleshooting

  • Confirm track(...) or trackMCP(...) runs before Actor tool calls.
  • Confirm the org ID is correct.
  • Confirm Actor input fields used in identify are present.

Resources

Need Help?

Next steps

  • Tool calls: analyze Actor tool usage and outcomes.
  • Events: inspect the records emitted by an Actor run.
  • Alerts: monitor important Actor conditions.