You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sources/platform/actors/publishing/monetize/pay_per_event.mdx
+17-21Lines changed: 17 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ import TabItem from '@theme/TabItem';
14
14
15
15
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.
16
16
17
-
PPE lets you define pricing for individual events. You can charge for specific events directly from your Actor by calling the [PPE charging API](/api/v2/post-charge-run), or through [JS](/sdk/js/reference/class/Actor#charge)/[Python](/sdk/python/reference/class/Actor#charge) SDK Common events include Actor start, dataset item creation, and external API calls.
17
+
PPE lets you define pricing for individual events. You can charge for specific events directly from your Actor using the [JS](/sdk/js/reference/class/Actor#charge)/[Python](/sdk/python/reference/class/Actor#charge) SDK, or by calling the [PPE charging API](/api/v2/post-charge-run) directly. Common events include Actor start, dataset item creation, and external API calls.
18
18
19
19
The details on how your cost is computed can be found in [Example of a pay-per-event pricing model](#example-of-a-pay-per-event-pricing-model).
20
20
@@ -315,21 +315,16 @@ Try to limit the number of events. Fewer events make it easier for users to unde
315
315
316
316
### Make events produce visible results
317
317
318
-
Try to make your event have tangible artifacts that users can see and understand (this might not be possible when using external APIs). Each charged event should produce something concrete in the user's dataset.
318
+
For Actors that produce data, events should map to something concrete in the user's dataset or storage.
319
319
320
-
Good examples:
320
+
However, we acknowledge that some events don't produce tangible results (such as running AI workflows or processing external API calls). This flexibility is what makes pay-per-event pricing powerful. It gives you the freedom to charge for special operations, complex workflows, and unique value propositions.
321
+
322
+
Examples:
321
323
322
324
-_"scraped-product" event_: Each charge adds one product record to the dataset
323
325
-_"processed-image" event_: Each charge adds one processed image to the dataset
324
326
-_"extracted-review" event_: Each charge adds one review to the dataset
325
-
326
-
Avoid charging for:
327
-
328
-
- Internal processing steps that don't produce visible results
329
-
- API calls that don't generate user-visible data
330
-
- Setup or configuration steps
331
-
332
-
This helps users understand exactly what they're paying for and builds trust in your pricing model.
327
+
-_"ai-analysis" event_: Each charge processes one document through an AI workflow (no tangible output, but valuable processing)
333
328
334
329
### Use idempotency keys to prevent double charges
335
330
@@ -342,23 +337,24 @@ You make your Actor pay-per-event and set the following pricing:
342
337
-_"actor-start" event_: $0.10 per start
343
338
-_"scraped-product" event_: $0.01 per product
344
339
-_"scraped-product-detail" event_: $0.05 per detail
340
+
-_"ai-analysis" event_: $0.15 per analysis
345
341
346
342
During the first month, three users use your Actor:
347
343
348
-
-_User 1 (paid plan)_: Starts Actor 5 times, scrapes 1,000 products, makes 50 product details
Copy file name to clipboardExpand all lines: sources/platform/actors/publishing/monetize/pay_per_result.mdx
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,12 @@ In this model, you set a price per 1,000 results. Users are charged based on the
16
16
17
17
The details on how your cost is computed can be found in [Example of a pay-per-result pricing model](#example-of-a-pay-per-result-pricing-model).
18
18
19
+
:::tip Additional benefits
20
+
21
+
Actors that implement pay-per-result pricing receive additional benefits, including increased visibility in the Apify Store and enhanced discoverability for users looking for monetized solutions.
22
+
23
+
:::
24
+
19
25
## Pay-per-result (PPR) vs. pay-per-event (PPE)
20
26
21
27
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.
@@ -175,6 +181,12 @@ Test your Actor with various result volumes to determine optimal pricing. Start
175
181
176
182
Throughout all testing, monitor platform usage costs for each test run to calculate the true cost per result. This cost analysis is crucial for setting profitable pricing that covers your expenses while remaining competitive in the market.
177
183
184
+
:::tip Use Actor analytics for cost estimation
185
+
186
+
Check the **cost per 1000 results** chart in your Actor's analytics in Apify Console. This chart is computed from all runs of both paying and free users, giving you a comprehensive view of platform usage costs across different usage patterns. Use this data to better estimate the adequate price for your Actor.
187
+
188
+
:::
189
+
178
190
### Push at least one "error item" to the dataset
179
191
180
192
In PPR Actors, users are only charged when your Actor produces results in the dataset. If your Actor encounters invalid input or finds no results, it should still push at least one item to the dataset to ensure the user is charged for the attempt.
Copy file name to clipboardExpand all lines: sources/platform/actors/publishing/monetize/pricing_and_costs.mdx
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ When you monetize your Actor in Standby mode using pay per event mode only, you
51
51
:::
52
52
53
53
54
-
## How to attract larger customers of PPE and PPR Actors
54
+
## Discount tiers and pricing strategy
55
55
56
56
Each user running your PPE or PPR Actor belongs to a discount tier:
57
57
@@ -65,8 +65,14 @@ While optional, we recommend offering progressively lower prices for higher disc
65
65
66
66
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.
67
67
68
+
## Implementing discount tiers
69
+
68
70
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.
69
71
70
72
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.
71
73
74
+
## Additional benefits and enterprise tiers
75
+
76
+
Actors that implement tiered pricing also receive additional benefits like enhanced visibility in the Apify Store, making your Actor more discoverable to potential users.
77
+
72
78
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.
Copy file name to clipboardExpand all lines: sources/platform/actors/publishing/monetize/rental.mdx
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,12 @@ sidebar_position: 1
7
7
8
8
**Learn how to monetize your Actor with the rental pricing model, offering users a free trial and a flat monthly fee, and understand how profit is calculated and the limitations of this approach.**
9
9
10
+
:::warning Rental is becoming a legacy pricing model
11
+
12
+
Rental-priced Actors are harder to use from MCP and AI platforms. Switch to pay-per-event pricing for better adoption.
13
+
14
+
:::
15
+
10
16
---
11
17
12
18
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.
0 commit comments