Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 63 additions & 24 deletions sources/platform/actors/publishing/monetize.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ sidebar_position: 2
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Apify Store allows you to monetize your web scraping and automation projects by publishing them as paid Actors. This guide explains the available pricing models and how to get started.
Apify Store allows you to monetize your web scraping, automation and AI Agent projects by publishing them as paid Actors. This guide explains the available pricing models and how to get started.

## Pricing models

Expand All @@ -23,6 +23,8 @@ Actors in Apify Store can be published under one of the following pricing models
3. **Pay per result (PPR)**: Users don't pay for the platform usage costs. Instead, they pay the developer based on the number of results produced by the Actor.
4. **Pay per event (PPE)**: Users don't pay for the platform usage cost the Actor generates. Instead, they pay based on specific events that are programmatically triggered from the Actor's source code. These events are defined by the developer and can include actions such as generating a single result or starting an Actor.

For a detailed comparison of pricing models from the perspective of your users, refer to our [user-facing documentation](/platform/actors/running/actors-in-store).

### Rental pricing model

With the rental model, you can specify a free trial period and a monthly rental price. After the trial, users with an [Apify paid plan](https://apify.com/pricing) can continue using your Actor by paying the monthly fee. You can receive 80% of the total rental fees collected each month.
Expand All @@ -39,32 +41,16 @@ You make your Actor rental with 7-day free trial and then $30/month. During the
The first user pays their first rent 7 days after the free trial, i.e., on the 22nd of the month. The second user only starts paying the rent next month. The third user is on the Apify free plan, so after the free trial ends on the 27th of the month, they are not charged and cannot use the Actor further until they get a paid plan. Your profit is computed only from the first user. They were charged $30, so 80% of this goes to you, i.e., _0.8 * 30 = $24_.
</details>

### Pay-per-result pricing model
### Pay-per-result (PPR) pricing model

In this model, you set a price per 1,000 results. Users are charged based on the number of results your Actor produces. Your profit is calculated as 80% of the revenue minus platform usage costs. The formula is:
In this model, you set a price per 1,000 results. Users are charged based on the number of results your Actor produces and stores in the run's default dataset. Your profit is calculated as 80% of the revenue minus platform usage costs. The formula is:

`(0.8 * revenue) - costs = profit`

#### Pay-per-result unit pricing for cost computation

| Service | Unit price |
|:--------------------------------|:---------------------------|
| Compute unit | **$0.4** / CU |
| Residential proxies | **$13** / GB |
| SERPs proxy | **$3** / 1,000 SERPs |
| Data transfer - external | **$0.20** / GB |
| Data transfer - internal | **$0.05** / GB |
| Dataset - reads | **$0.0004** / 1,000 reads |
| Dataset - writes | **$0.005** / 1,000 writes |
| Key-value store - reads | **$0.005** / 1,000 reads |
| Key-value store - writes | **$0.05** / 1,000 writes |
| Key-value store - lists | **$0.05** / 1,000 lists |
| Request queue - reads | **$0.004** / 1,000 reads |
| Request queue - writes | **$0.02** / 1,000 writes |

Only revenue and cost for Apify customers on paid plans are taken into consideration when computing your profit. Users on free plans are not reflected there.

Read more about Actors on Apify Store and different pricing models from the perspective of your users in the [Store documentation](https://docs.apify.com/platform/actors/running/actors-in-store).
The details on how your cost is computed can be found in [Computing your costs for PPE and PPR Actors](#computing-your-costs-for-ppe-and-ppr-actors).

<details>
<summary>Example - pay-per-result pricing model</summary>
Expand All @@ -83,16 +69,14 @@ To ensure profitable operation:
- Test your Actor with various result volumes to determine optimal pricing
- Push at least one "error item" to the dataset for invalid input or if search query didn't generate any result. This will prevent users running your Actor for free.

### Pay-per-event pricing model
### Pay-per-event (PPE) pricing model

The pay-per-event pricing model offers a flexible monetization option for Actors on Apify Store. Unlike pay per result, PPE allows you to charge users based on specific events triggered programmatically by your Actor's code.

#### PPE vs. PPR

Unlike PPR, which charges based on the number of results produced, PPE lets you define pricing for individual events. You can charge for specific events directly from your Actor by calling the PPE charging API. Common events include Actor start, dataset item creation, and external API calls.

For a detailed comparison of pricing models, refer to our [user-facing documentation](/platform/actors/running/actors-in-store).

#### How is profit computed

Your profit is calculated as follows:
Expand All @@ -102,7 +86,7 @@ Your profit is calculated as follows:
where:

- _Revenue_: The amount charged for events via the PPE [API](/api/v2/post-charge-run) or through [JS](/sdk/js/reference/class/Actor#charge)/[Python](/sdk/python/reference/class/Actor#charge) SDK. You receive 80% of this revenue.
- _Platform costs_: The underlying platform usage costs for running the Actor, are calculated using the same unit pricing as PPR.
- _Platform costs_: The underlying platform usage costs for running the Actor, calculated in the same way as for PPR. For more details, visit the [Computing your costs for PPE and PPR Actors](#computing-your-costs-for-ppe-and-ppr-actors) section.

Only paid user activity is included in profit calculations.

Expand Down Expand Up @@ -138,6 +122,61 @@ You can also choose not to use it, but then you must handle API integration and

:::

### How to attract larger customers of PPE and PPR Actors

Each user running your PPE or PPR Actor belongs to a discount tier:
- _FREE_
- _BRONZE_
- _SILVER_
- _GOLD_


You can define different prices for different tiers.
While optional, we recommend offering progressively lower prices for higher discount tiers. This approach can significantly improve attractiveness of your Actor to large enterprise customers who may spend thousands or tens of thousands of dollars on it.

Your platform costs are also lower for these higher tier, which helps maintain healthy profit margins. This is further detailed in the [Computing your costs for PPE and PPR Actors](#computing-your-costs-for-ppe-and-ppr-actors) section.

By default, we advise against setting excessively high prices for _FREE_ tier users, as this can limit the ability to evaluate your Actor thoroughly. However, in certain situations, such as protecting your Actor from fraudulent activity or excessive use of your internal APIs, a higher price for _FREE_ tier users might be justified.

During an Actor run, you can identify the user's discount tier through Actor run environment variables or by querying user data via the Apify API. This capability allows you to offer premium features or differentiated service levels to users in higher discount tiers.

In addition to the standard tiers, Apify provides further tiers specifically for enterprise customers, including _PLATINUM_ and _DIAMOND_ tiers. If you are interested in offering enterprise-level services and attracting major clients, please contact us.

### Computing your costs for PPE and PPR Actors

For both PPE and PPR Actors, profit is computed using the formula `(0.8 * revenue) - costs`. In this section, we'll explain how the `costs` component is calculated.

When paying users run your Actor, it generates platform usage in the form of compute units, data traffic, API operations etc. This usage determines the `costs` in the profit formula above.

:::note _FREE_ tier usage

Platform usage by _FREE_ tier users is covered by Apify and does not contribute to your costs.

:::

To calculate your costs in dollars for a specific run by paying user, multiply the unit cost of each service by the quantity consumed. For example, if a _BRONZE_ tier user run uses 10 compute units (CUs) at $0.4/CU, your cost would be $4.

As highlighted in the [How to attract larger customers of PPE and PPR Actors](#how-to-attract-larger-customers-of-ppe-and-ppr-actors) section, if your Actor uses tiered pricing, the user's discount tier determines the unit costs applied to their runs. Your costs are lower for higher tiers, enabling you to offer more competitive pricing to these customers, while sustaining healthy profit margins.

The following table summarizes the platform unit costs used for your cost computation across different discount tiers.

| Service | Price is per | _FREE_ | _BRONZE_ | _SILVER_ | _GOLD_ |
|:-------------------------------|:--------------|--------:|---------:|---------:|--------:|
| Compute unit | CU | $0.4 | $0.4 | $0.3 | $0.25 |
| Residential proxies | GB | $8 | $8 | $7.5 | $7 |
| SERPs proxy | 1,000 SERPs | $2.5 | $2.5 | $2 | $1.7 |
| Data transfer - external | GB | $0.2 | $0.2 | $0.19 | $0.18 |
| Data transfer - internal | GB | $0.05 | $0.05 | $0.045 | $0.04 |
| Dataset - reads | 1,000 reads | $0.0004 | $0.0004 | $0.00036 | $0.00032|
| Dataset - writes | 1,000 writes | $0.005 | $0.005 | $0.0045 | $0.004 |
| Key-value store - reads | 1,000 reads | $0.005 | $0.005 | $0.0045 | $0.004 |
| Key-value store - writes | 1,000 writes | $0.05 | $0.05 | $0.045 | $0.04 |
| Key-value store - lists | 1,000 lists | $0.05 | $0.05 | $0.045 | $0.04 |
| Request queue - reads | 1,000 reads | $0.004 | $0.004 | $0.0036 | $0.0032 |
| Request queue - writes | 1,000 writes | $0.02 | $0.02 | $0.018 | $0.016 |

If you decide not to offer tiered discounts on your Actor, the unit prices for _FREE_ tier apply. To offer enterprise level services and unlock even cheaper unit prices for enterprise customers, please reach out to us.

## Setting up monetization

Navigate to your [Actor page](https://console.apify.com/actors?tab=my) in Apify Console, choose the Actor that you want to monetize, and select the Publication tab.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions sources/platform/actors/running/store.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,3 +208,25 @@ and other users of this Actor. Please feel free to use the tab to ask any questi
always write to [[email protected]](mailto:[email protected]).

![Paid Actors' issues tab](./images/store/paid-actors-issues-tab.png)

## Apify Store discounts

Each Apify subscription plan includes a discount tier (_BRONZE_, _SILVER_, _GOLD_) that provides access to increasingly lower prices on selected Actors.

:::note Discount participation

Discount offers are optional and determined by Actor owners. Not all Actors participate in the discount program.

:::

Additional discounts are available for Enterprise customers.

To check an Actor's pricing and available discounts, visit the Pricing section on the Actor's detail page in the Apify Store.

![Apify Store discounts](./images/store/apify_store_discounts_web.png)

In the Apify Console, you can find information about pricing and available discounts in the Actor's header section.

![Apify Store discounts](./images/store/apify_store_discounts_console.png)

![Apify Store discounts full table](./images/store/apify_store_discounts_full_table.png)
Loading