---
title: Actor development
url: https://docs.apify.com/actors/development.md
parents:
  - [Apify documentation](https://docs.apify.com/llms.txt)
  - [Actors](https://docs.apify.com/actors.md)
children:
  - [Actor definition](https://docs.apify.com/actors/development/actor-definition.md)
  - [Programming interface](https://docs.apify.com/actors/development/programming-interface.md)
  - [Deployment](https://docs.apify.com/actors/development/deployment.md)
  - [Builds and runs](https://docs.apify.com/actors/development/builds-and-runs.md)
  - [Permissions](https://docs.apify.com/actors/development/permissions.md)
  - [Automated tests](https://docs.apify.com/actors/development/automated-tests.md)
  - [Performance](https://docs.apify.com/actors/development/performance.md)
previous: [Monitoring](https://docs.apify.com/actors/running/monitoring.md)
next: [Actor definition](https://docs.apify.com/actors/development/actor-definition.md)
---

# Actor development

This section will guide you through the whole story of [Actor](https://docs.apify.com/actors.md) development.

New to building Actors? Start with [Get started](https://docs.apify.com/get-started.md) to create your first one in minutes. This section covers the technical Actor model in depth, from the Actor definition through to the [Performance](https://docs.apify.com/actors/development/performance.md) section, where you learn to fine-tune your Actor to get the most out of the Apify platform.

## Technology stack

Any code that can run inside of a Docker container can be turned into an Apify [Actor](https://docs.apify.com/actors.md). This gives you freedom in choosing your technical stack, including programming language and technologies.

But to fully benefit from running on top of the Apify platform, we recommend you choose either JavaScript/Node.js or Python, where Apify provides first-level support: the Apify SDK for [JavaScript](https://docs.apify.com/sdk/js/docs/overview) and [Python](https://docs.apify.com/sdk/python/docs/overview) or API clients for [JavaScript](https://docs.apify.com/api/client/js/docs) and [Python](https://docs.apify.com/api/client/python/docs).

For these languages, you can also [choose from many code templates](https://apify.com/templates) that help you to kickstart your project quickly.

<!-- -->

#### [Actor definition](https://docs.apify.com/actors/development/actor-definition.md)

[Learn how to turn your arbitrary code into an Actor simply by adding an Actor definition directory.](https://docs.apify.com/actors/development/actor-definition.md)

#### [Programming interface](https://docs.apify.com/actors/development/programming-interface.md)

[Learn about the programming interface of Apify Actors, important commands and features provided by the Apify SDK, and how to use them in your Actors.](https://docs.apify.com/actors/development/programming-interface.md)

#### [Deployment](https://docs.apify.com/actors/development/deployment.md)

[Learn how to deploy your Actors to the Apify platform and build them.](https://docs.apify.com/actors/development/deployment.md)

#### [Builds and runs](https://docs.apify.com/actors/development/builds-and-runs.md)

[Learn about Actor builds and runs, their lifecycle, versioning, and other properties.](https://docs.apify.com/actors/development/builds-and-runs.md)

#### [Performance](https://docs.apify.com/actors/development/performance.md)

[Learn how to get the maximum value out of your Actors, minimize costs, and maximize results.](https://docs.apify.com/actors/development/performance.md)

***

If your Actor allows for integration with external services, or performs some post-processing of datasets generated by other Actors, check out the section [integration-ready Actors](https://docs.apify.com/integrations/actors/integration-ready-actors.md).

After your development, you can jump to the section [Publishing and monetization](https://docs.apify.com/actors/publishing.md) to learn about how to publish your Actor in [Apify Store](https://apify.com/store) and monetize it by renting it out to users of the platform.
