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.mdx
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ sidebar_position: 2
12
12
importTabsfrom'@theme/Tabs';
13
13
importTabItemfrom'@theme/TabItem';
14
14
15
-
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.
15
+
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.
16
16
17
17
## Pricing models
18
18
@@ -32,9 +32,9 @@ With the rental model, you can specify a free trial period and a monthly rental
32
32
33
33
You make your Actor rental with 7-day free trial and then $30/month. During the first calendar month, three users start to use your Actor:
34
34
35
-
1. First user, on the Apify paid plan, starts the free trial on 15th
36
-
1. Second user, on the Apify paid plan, starts the free trial on 25th
37
-
1. Third user, on the Apify free plan, start the free trial on 20th
35
+
1. First user, on the Apify paid plan, starts the free trial on the 15th
36
+
1. Second user, on the Apify paid plan, starts the free trial on the 25th
37
+
1. Third user, on the Apify free plan, starts the free trial on the 20th
38
38
39
39
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_.
40
40
</details>
@@ -69,7 +69,7 @@ Read more about Actors on Apify Store and different pricing models from the pers
You make your Actor pay-per-result and set the price to be $1/1,000 results. During the first month, two users on Apify paid plans use your Actor to get 50,000 and 20,000 results, costing them $50 and $20, respectively. Let's say the underlying platform usage for the first user is $5 and for the second $2. Third user, this time on Apify free plan, uses the Actor to get 5,000 results, with underlying platform usage of $0.5.
72
+
You make your Actor pay-per-result and set the price to be $1/1,000 results. During the first month, two users on Apify paid plans use your Actor to get 50,000 and 20,000 results, costing them $50 and $20, respectively. Let's say the underlying platform usage for the first user is $5 and for the second $2. A third user, this time on an Apify free plan, uses the Actor to get 5,000 results, with underlying platform usage of $0.5.
73
73
74
74
Your profit is computed only from the first two users, since they are on Apify paid plans. The revenue for the first user is $50 and for the second $20, i.e., total revenue is $70. The total underlying cost is _$5 + $2 = $7_. Since your profit is 80% of the revenue minus the cost, it would be _0.8 * 70 - 7 = $49_.
75
75
</details>
@@ -84,9 +84,9 @@ To ensure profitable operation:
84
84
85
85
### Pay-per-event pricing model
86
86
87
-
The pay-per-event pricing model offers a flexible monetization option for Actors on Apify Store. Unlike the pay-per-result, PPE allows you to charge users based on specific events triggered programmatically by your Actor's code.
87
+
The pay-per-event pricing model offers a flexible monetization option for Actors on Apify Store. Unlike payperresult, PPE allows you to charge users based on specific events triggered programmatically by your Actor's code.
88
88
89
-
#### PPE vs PPR
89
+
#### PPE vs. PPR
90
90
91
91
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.
92
92
@@ -101,7 +101,7 @@ Your profit is calculated as follows:
101
101
where:
102
102
103
103
-_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.
104
-
-_Platform costs_: The underlying platform usage costs for running the Actor, calculated using the same unit pricing as PPR.
104
+
-_Platform costs_: The underlying platform usage costs for running the Actor, are calculated using the same unit pricing as PPR.
105
105
106
106
Only paid user activity is included in profit calculations.
107
107
@@ -111,21 +111,21 @@ Only paid user activity is included in profit calculations.
111
111
1._Define clear events_: break your Actor's functionality into measurable, chargeable events.
112
112
1._Common use cases_:
113
113
1._For scraping_: combine Actor start and dataset items pricing to reflect setup and per-result cost.
114
-
1._Beyond scraping_: Account for intergrations with external systems or external API calls.
114
+
1._Beyond scraping_: Account for integrations with external systems or external API calls.
115
115
1._External API costs_: Account for additional processing costs.
116
116
1._Test your pricing_: Run your Actor and analyze cost-effectiveness using a special dataset.
117
-
1._Communicate value_: Ensure pricing reflects the value provided and is competetive.
117
+
1._Communicate value_: Ensure pricing reflects the value provided and is competitive.
118
118
119
119
#### Best practices for PPE Actors
120
120
121
121
- Set memory limits in your [`actor.json`](/platform/actors/development/actor-definition/actor-json) file to control platform usage costs
122
122
- Avoid duplicate charges by not calling the start Actor event during migration.
123
123
- Ensure users are not charged beyond their set maximum. The [`ChargingManager`](https://github.com/metalwarrior665/actor-charge-manager-poc) or our SDKs ([JS](/sdk/js/reference/class/ChargingManager) and [Python](/sdk/python/reference/class/ChargingManager)) can handle this logic.
124
124
- Use idempotency keys in API calls to prevent double charges.
125
-
- Try to limit the number of evernt. Fewer events makes it easier for users to understand your pricing.
126
-
- Try to make your event have tangible artifacts that users can see and understand (this might be not possible when using external APIs) i.e:
125
+
- Try to limit the number of events. Fewer events make it easier for users to understand your pricing.
126
+
- Try to make your event have tangible artifacts that users can see and understand (this might not be possible when using external APIs) i.e:
127
127
- Get a record
128
-
- Save it to dataset
128
+
- Save it to a dataset
129
129
- etc.
130
130
131
131
:::note `ChargingManager` usage
@@ -138,7 +138,7 @@ You can also choose not to use it, but then you must handle API integration and
138
138
139
139
## Setting up monetization
140
140
141
-
Navigate to your [Actor page](https://console.apify.com/actors?tab=my) in Apify Console, choose Actor that you want to monetize, and select the Publication tab.
141
+
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.
Open the Monetization section and complete your billing and payment details.
144
144

@@ -159,7 +159,7 @@ Follow the monetization wizard to configure your pricing model.
159
159
160
160
## Changing monetization
161
161
162
-
You can change the monetization setting of your Actor by using the same wizard as for the setup in the **Monetization** section of your Actor's **Publication** tab. Any changes made to an already published Actor will take _14 days_ to come in effect, so that the users of your Actor have time to prepare.
162
+
You can change the monetization setting of your Actor by using the same wizard as for the setup in the **Monetization** section of your Actor's **Publication** tab. Any changes made to an already published Actor will take _14 days_ to come into effect, so that the users of your Actor have time to prepare.
163
163
164
164
:::important Frequency of monetization adjustments
0 commit comments