-
Notifications
You must be signed in to change notification settings - Fork 151
docs: ppr announced as legacy model, ppr to ppe migration #2144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Preview for this PR was built for commit |
metalwarrior665
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm but wait for other reviews pls
|
Preview for this PR was built for commit |
|
Preview for this PR was built for commit |
|
Preview for this PR was built for commit |
|
Preview for this PR was built for commit |
mhamas
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, it looks good to me, pre-approving. Please, consider the comments and have the docs team do the final pass of the text.
|
|
||
| :::warning Legacy pricing model | ||
|
|
||
| Pay per result is a deprecated and will be replaced by Pay per event by the end of January 2026. [Migrate to PPE in one click](#one-click-migration-to-ppe) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Pay per result is a deprecated and will be replaced by Pay per event by the end of January 2026. [Migrate to PPE in one click](#one-click-migration-to-ppe) | |
| Pay per result is deprecated and will be superseded by Pay per event early in 2026. [Migrate to PPE in one click - fully backward compatible](#one-click-migration-to-ppe) |
| Select your PPR Actor, go to the Publication tab, open the Monetization section, and click the `Migrate to Pay per event` button. | ||
|
|
||
|  | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Why should I migrate? | |
| The pay-per-event pricing model offers superior flexibility in charging not only for the results but also for any event. This helps you to pass on the costs of external APIs or additional processing directly to your users, price different functionalities of your Actor differently, avoid revenue loss from small but usage-heavy runs, and more. | |
| Given that the Pay per event model is fully compatible with Pay per result, and to bring more simplicity to users of your Actors, we are fully deprecating PPR in favour of PPE. But no worries, the migration is completely automatic and fully backward compatible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙌
|
|
||
| ### What happens during migration | ||
|
|
||
| The migration switches your pricing model from Pay per result to Pay per event. Your price per 1,000 results is automatically converted to an equivalent `apify-default-dataset-item` [event](./pay-per-event#use-synthetic-default-dataset-item-event-apify-default-dataset-item) price. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| The migration switches your pricing model from Pay per result to Pay per event. Your price per 1,000 results is automatically converted to an equivalent `apify-default-dataset-item` [event](./pay-per-event#use-synthetic-default-dataset-item-event-apify-default-dataset-item) price. | |
| The migration switches your pricing model from Pay per result to Pay per event. Your price per 1,000 results is automatically converted to an equivalent `apify-default-dataset-item` [event](./pay-per-event#use-synthetic-default-dataset-item-event-apify-default-dataset-item) price. This change does not count towards the pricing change limits that you are allowed to do once every 30 days. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking of adding this exact line but then I removed it.
It's back in now :]
|
|
||
| **After migration:** With Pay per event, you can define additional custom events beyond dataset items. See [PPE best practices](./pay-per-event#best-practices-for-ppe-actors) for guidance. | ||
|
|
||
| **Respecting user spending limits:** You can continue using the `ACTOR_MAX_PAID_DATASET_ITEMS` environment variable to respect user-specified price limits. However, we recommend using the Apify SDK's built-in methods, which automatically handle spending limits for you. [Learn more](./pay-per-event#respect-user-spending-limits) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: Please, do not add the part about using Apify SDK's built-in methods, because it's currently broken for synthetic events: apify/apify-sdk-js#528
I'd just add that if they decide to add any more events in the future, they should read all pay-per-event docs.
| **Respecting user spending limits:** You can continue using the `ACTOR_MAX_PAID_DATASET_ITEMS` environment variable to respect user-specified price limits. However, we recommend using the Apify SDK's built-in methods, which automatically handle spending limits for you. [Learn more](./pay-per-event#respect-user-spending-limits) | |
| **Respecting user spending limits:** You can continue using the `ACTOR_MAX_PAID_DATASET_ITEMS` environment variable to respect user-specified price limits. If you decide to add more events in the future, please read our Pay per event documentation [link]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually removed this all together because two lines above I talk about additional events so I just referenced the PPE documentation there.
|
Preview for this PR was built for commit |
|
Preview for this PR was built for commit |
|
|
||
| **Respecting user spending limits:** You can continue using the `ACTOR_MAX_PAID_DATASET_ITEMS` environment variable to respect user-specified price limits. | ||
|
|
||
| Bleu sky and flying high free as a bird |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this? Is this some sort of Lorem Ipsum?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should not be there. I was testing the tool vale.sh and commited the testing text.. :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am super pleased to hear you were testing Vale :D
|
|
||
| ## One click migration to PPE | ||
|
|
||
| Select your PPR Actor, go to the Publication tab, open the Monetization section, and click the `Migrate to Pay per event` button. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Select your PPR Actor, go to the Publication tab, open the Monetization section, and click the `Migrate to Pay per event` button. | |
| Select your PPR Actor, go to the **Publication** tab, open the **Monetization** section, and click the **Migrate to Pay per event** button. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
|
|
||
| ### Why should I migrate? | ||
|
|
||
| The Pay per event pricing model offers superior flexibility in charging not only for the results but also for any event. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| The Pay per event pricing model offers superior flexibility in charging not only for the results but also for any event. | |
| The pay per event pricing model offers superior flexibility in charging not only for the results but also for any event. |
You can also use italics to highlight: price per event model offers...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is valid for the entire PR, there's several locations where capital P is used unnecessarily
| :::warning Legacy pricing model | ||
|
|
||
| Pay per result is deprecated and will be superseded by Pay per event early in 2026. [Migrate to PPE in one click](#one-click-migration-to-ppe) (backward compatible) | ||
|
|
||
| ::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PPR is depracted & considered legacy right now, but will be superseded by PPE early in 2026? That doesn't make sense to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It has been deprecated now and will be completely replaced with PPE. Not sure how to word that the best.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps something like this:
| :::warning Legacy pricing model | |
| Pay per result is deprecated and will be superseded by Pay per event early in 2026. [Migrate to PPE in one click](#one-click-migration-to-ppe) (backward compatible) | |
| ::: | |
| :::warning Pay per result is deprecated | |
| Pay per result is deprecated and will be removed in 2026. You can migrate to pay per event with one click, and the migration is backward compatible. | |
| [Migrate to pay per event](#one-click-migration-to-ppe) | |
| ::: |
or
| :::warning Legacy pricing model | |
| Pay per result is deprecated and will be superseded by Pay per event early in 2026. [Migrate to PPE in one click](#one-click-migration-to-ppe) (backward compatible) | |
| ::: | |
| :::warning Pay per result is deprecated | |
| Pay per result is deprecated and will be removed. You can migrate to pay per event with one click, and the migration is backward compatible. | |
| [Migrate to pay per event](#one-click-migration-to-ppe) | |
| ::: |
In v1 we mention just a year, reason being to give reasonable timeframe, but not commit to anything specific.
In v2 I've skipped a year completely to just reflect current state, without mentioning any future possibilities.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks @TC-MO! I'll go with the v1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got inspired by v1
|
Preview for this PR was built for commit |
Documentation explaining to users that PPR pricing model is now a legacy pricing model. There is an option to migrate to PPE using a migration button.
Other minor fixes.
Note
Marks PPR as a legacy model with a one-click migration to PPE; clarifies PPE spending-limit behavior and updates quality score categories.
sources/platform/actors/publishing/monetize/pay_per_result.mdx:sources/platform/actors/publishing/monetize/pay_per_event.mdx:eventChargeLimitReacheddescription to reflect user-set limit behavior.ChargeResultalready respectsACTOR_MAX_TOTAL_CHARGE_USD.sources/platform/actors/publishing/quality_score.mdx:Written by Cursor Bugbot for commit e396273. Configure here.