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 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

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

OptionTypeDefaultDescription
endpointstring"https://api.agnost.ai"API endpoint URL
disable_input / disableInputbooleanfalseDisable tracking of input parameters
disable_output / disableOutputbooleanfalseDisable tracking of output responses
log_levelstring"INFO"Python only. Log verbosity: DEBUG, INFO, WARNING, ERROR
identifyfunctionNone / undefinedFunction (request, env) → UserIdentity to identify users from request context. See user identification.
UserIdentity is a dict (Python) or object (Node) that must contain a userId key. Other fields (e.g. email, role) are optional and forwarded as user traits. Prefer stable pseudonymous IDs and non-sensitive traits for production traffic unless your team has approved sending direct identifiers.

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 full Configuration guide for more 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 Raw logs first, then Tools 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.
  • If Actor input/output can contain sensitive customer data, redact or disable input/output capture before production rollout. See Data Governance.

Resources

Need Help?