Skip to content

Commit 9003390

Browse files
Pribanclaude
andauthored
docs: PPR cleanup in creator facing docs (#2326)
## Summary - Remove all PPR (pay-per-result) references from creator-facing docs - Delete the `pay_per_result.mdx` page and orphaned PPR images - Update monetization comparison table and pricing model lists to PPE + Rental only - Fix broken links (missing hrefs, absolute → relative URLs) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk documentation-only changes that remove the deprecated PPR pricing model from creator-facing guides and adjust links/tables accordingly; main risk is broken or missed cross-references in docs navigation. > > **Overview** > Removes creator-facing documentation for the deprecated *pay-per-result (PPR)* model, including deleting the `pay_per_result.mdx` page and stripping PPR sections/examples from monetization guidance. > > Updates monetization docs to present only **pay-per-event (PPE)** and **rental**, including revised comparison tables, pricing model lists, and related wording (e.g., `pricing_and_costs.mdx`, `pay_per_event.mdx`, publishing pages). Also fixes/normalizes several internal links and adds the `RentalSunset` notice to the monetization index. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6ec40ee. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a3e0634 commit 9003390

15 files changed

Lines changed: 45 additions & 387 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ sources/academy/**/exercises/storage
3030
sources/academy/**/exercises/node_modules
3131
sources/academy/**/exercises/package*.json
3232
sources/academy/**/exercises/dataset.json
33+
.claude/worktrees/

sources/academy/build-and-publish/apify-store-basics/how_actor_monetization_works.md

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -66,26 +66,6 @@ If you want more details about PPE pricing, refer to our [PPE documentation](/pl
6666

6767
:::
6868

69-
### Pay-per-result pricing model
70-
71-
![pay per result model example](images/ppr-model.png)
72-
73-
- _How it works_: you charge users based on the number of results your Actor generates. You earn 80% of the revenue minus platform usage costs.
74-
- _Profit calculation_: `profit = (0.8 * revenue) - platform usage costs`
75-
- _Cost breakdown_:
76-
- Compute unit: $0.3 per CU
77-
- Residential proxies: $13 per GB
78-
- SERPs proxy: $3 per 1,000 SERPs
79-
- Data transfer (external): $0.20 per GB
80-
- Dataset storage: $1 per 1,000 GB-hours
81-
- _Example_: you set a price of $1 per 1,000 results. Two users generate 50,000 and 20,000 results, paying $50 and $20, respectively. If the platform usage costs are $5 and $2, your profit is $49.
82-
83-
:::info Pay-per-result details
84-
85-
If you want more details about PPR pricing, refer to our [PPR documentation](/platform/actors/publishing/monetize/pay-per-result).
86-
87-
:::
88-
8969
### Rental pricing model
9070

9171
<RentalSunset/>
@@ -148,26 +128,12 @@ Apify Store is like any other marketplace, so take a look at your competition th
148128

149129
Learn more about what makes a good readme here: [How to create an Actor README](/academy/actor-marketing-playbook/actor-basics/how-to-create-an-actor-readme)
150130

151-
### Pay-per-event (PPE), pay-per-result (PPR), or rental
152-
153-
Pay-per-event (PPE) gives you the most flexibility and growth potential. You can charge for any meaningful event your Actor performs (for example, page scraped, browser page opened, or an external API call). This makes costs predictable for users, lets you model value precisely, and is fully compatible with AI and MCP-based integrations.
154-
155-
Rental pricing allows you to charge a monthly fee for your Actor and users cover their own platform usage.
156-
157-
Pay-per-result (PPR) charges users based on the number of items your Actor adds to the dataset. This model works best when each dataset item represents clear value to the user - like scraped product listings, extracted contact information, or processed documents.
158-
159-
:::tip Additional benefits
160-
161-
Actors that implement PPE receive additional benefits, including increased visibility in Apify Store and enhanced discoverability.
131+
### Adapt when needed
162132

163-
:::
133+
Don’t be afraid to experiment with pricing, especially at the start. You can monitor your results in the dashboard and adjust if necessary. You can also choose to [pass platform usage costs to users](/platform/actors/publishing/monetize/pay-per-event#pass-platform-usage-to-users) while you’re still figuring out the right price.
164134

165135
To estimate pricing, run a few test runs and review the statistics in the Actor [**Analytics**](https://console.apify.com/actors?tab=analytics) tab.
166136

167-
### Adapt when needed
168-
169-
Don’t be afraid to experiment with pricing, especially at the start. You can monitor your results in the dashboard and adjust if necessary.
170-
171137
Keep an eye on SEO as well. If you monitor the volume of the keywords your Actor is targeting as well as how well your Actor's page is ranking for those keywords, you can estimate the number of people who actually end up trying your tool (aka conversion rate). If your keywords are getting volume, but conversions are lower than expected, it might point to a few issues It could be due to your pricing, a verbose README, or complex input. If users are bouncing right away, it makes sense to check out your pricing and your closest competitors to see where adjustments might help.
172138

173139
### Summary & a basic plan
@@ -184,15 +150,15 @@ Example of useful pricing estimates from the **Analytics** tab:
184150

185151
:::tip Use emails!
186152

187-
📫 Don't forget to set an email sequence to warn and remind your users about pricing changes. Learn more about emailing your users here: [Emails to Actor users]
153+
📫 Don't forget to set an email sequence to warn and remind your users about pricing changes. Learn more about emailing your users here: [Emails to Actor users](/academy/actor-marketing-playbook/interact-with-users/emails-to-actor-users)
188154

189155
:::
190156

191157
## Resources
192158

193159
- Learn about [incentives behind monetization](https://apify.com/partners/actor-developers)
194-
- Detailed guide to [setting up monetization models](https://docs.apify.com/academy/get-most-of-actors/monetizing-your-actor)
195-
- Guide to [publishing Actors](https://docs.apify.com/platform/actors/publishing)
160+
- Detailed guide to [setting up monetization models](/platform/actors/publishing/monetize)
161+
- Guide to [publishing Actors](/platform/actors/publishing)
196162
- Watch our webinar on how to [build, publish and monetize Actors](https://www.youtube.com/watch?v=4nxStxC1BJM)
197163
- Read a blog post from our CEO on the [reasoning behind monetizing Actors](https://blog.apify.com/make-regular-passive-income-developing-web-automation-actors-b0392278d085/)
198164
- Learn about the [Creator plan](https://apify.com/pricing/creator-plan), which allows you to create and freely test your own Actors for $1

sources/academy/build-and-publish/apify-store-basics/how_store_works.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ Actors on Apify Store can be public or private:
4040
You can monetize your Actors using three different pricing models:
4141

4242
- Pay for usage: charge based on how much the Actor is used.
43-
- Pay per result: the price is based on the number of results produced, with the first few free.
4443
- Pay per event: the price is based on specific events triggered by the Actor.
4544
- Monthly billing: set a fixed monthly rental rate for using the Actor.
4645

Binary file not shown.

sources/academy/build-and-publish/apify-store-basics/importance_of_actor_url.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Once set, the page URL should not be changed. Because of those two important rea
7474

7575
If you absolutely have to change the URL, you will have to communicate that fact to your users.
7676

77-
💡 Learn more about the easiest ways to communicate with your users: [Emails to Actor users]
77+
💡 Learn more about the easiest ways to communicate with your users: [Emails to Actor users](/academy/actor-marketing-playbook/interact-with-users/emails-to-actor-users)
7878

7979
## How and where to set the Actor URL
8080

sources/academy/build-and-publish/how-to-build/actorization_playbook.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ While most Actors on Apify Store are web scrapers or crawlers, there are ever mo
2323
By publishing your service or project at [Apify Store](https://apify.com/store) your project will benefit from:
2424

2525
1. _Expanded reach_: Your tool instantly becomes available to Apify's user community and connects with popular automation platforms like [Make](https://www.make.com), [n8n](https://n8n.io/), and [Zapier](https://zapier.com/).
26-
2. _Multiple monetization paths_: Choose from flexible pricing models (monthly subscriptions, pay-per-result, or pay-per-event).
26+
2. _Multiple monetization paths_: Choose from flexible pricing models (pay-per-event or monthly subscriptions).
2727
3. _AI integration_: Your Actor can serve as a tool for AI agents through Apify's MCP (Model Context Protocol) server, creating new use cases and opportunities while you earn 80% of all revenues.
2828

2929
:::tip Open-Source Benefits

sources/platform/actors/development/actor_definition/actor_json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Actor `name`, `version`, `buildTag`, and `environmentVariables` are currently on
8484
| `storages.datasets` | Optional | You can define multiple datasets for the Actor under the `storages.datasets` field. This can be an object containing embedded objects or paths to a JSON schema files. [Read more](/platform/actors/development/actor-definition/dataset-schema/multiple-datasets) about multiple dataset schemas. |
8585
| `defaultMemoryMbytes` | Optional | Specifies the default amount of memory in megabytes to be used when the Actor is started. Can be an integer or a [dynamic memory expression string](./dynamic_actor_memory/index.md). |
8686
| `minMemoryMbytes` | Optional | Specifies the minimum amount of memory in megabytes required by the Actor to run. Requires an _integer_ value. If both `minMemoryMbytes` and `maxMemoryMbytes` are set, then `minMemoryMbytes` must be equal or lower than `maxMemoryMbytes`. Refer to the [Usage and resources](https://docs.apify.com/platform/actors/running/usage-and-resources#memory) for more details about memory allocation. |
87-
| `maxMemoryMbytes` | Optional | Specifies the maximum amount of memory in megabytes required by the Actor to run. It can be used to control the costs of run, especially when developing pay per result Actors. Requires an _integer_ value. Refer to the [Usage and resources](https://docs.apify.com/platform/actors/running/usage-and-resources#memory) for more details about memory allocation. |
87+
| `maxMemoryMbytes` | Optional | Specifies the maximum amount of memory in megabytes required by the Actor to run. It can be used to control the costs of run. Requires an _integer_ value. Refer to the [Usage and resources](https://docs.apify.com/platform/actors/running/usage-and-resources#memory) for more details about memory allocation. |
8888
| `usesStandbyMode` | Optional | Boolean specifying whether the Actor will have [Standby mode](../programming_interface/actor_standby.md) enabled. |
8989
| `webServerSchema` | Optional | Defines an OpenAPI v3 schema for the web server running in the Actor. This can be either an embedded object or a path to a JSON schema file. Use this when your Actor starts its own HTTP server and you want to describe its interface. |
9090
| `webServerMcpPath` | Optional | The HTTP endpoint path where the Actor exposes its MCP (Model Context Protocol) server functionality. When set, the Actor is recognized as an MCP server. For example, setting `"/mcp"` designates the `/mcp` endpoint as the MCP interface. This path becomes part of the Actor's stable URL when [Standby mode](../programming_interface/actor_standby.md) is enabled. |
Binary file not shown.
-106 KB
Binary file not shown.

sources/platform/actors/publishing/index.mdx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,10 @@ Publishing your Actor on Apify Store transforms your code, eliminating tradition
3232

3333
Packaging your software as an Actor allows you to launch new SaaS product faster and earn income through various monetization models that match your Actor's value proposition like:
3434

35-
- Fixed rental fee for continuous access
36-
- Pay-per-result for usage-based pricing
3735
- Pay-per-event for specific operations
36+
- Fixed rental fee for continuous access
3837

39-
To learn more, visit the [Actors in Store](https://docs.apify.com/platform/actors/running/actors-in-store#pricing-models) page.
38+
To learn more, visit the [Actors in Store](/platform/actors/running/actors-in-store#pricing-models) page.
4039

4140
## Maintain public Actors
4241

0 commit comments

Comments
 (0)