- 
                Notifications
    
You must be signed in to change notification settings  - Fork 133
 
feat: add docs on Apify store tiered discount pricing options #1572
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
          
     Merged
      
      
    
  
     Merged
                    Changes from 4 commits
      Commits
    
    
            Show all changes
          
          
            14 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      31a4ad3
              
                feat: add docs on Apify store tiered discount pricing options
              
              
                mhamas c461972
              
                nit
              
              
                mhamas e5d2258
              
                feat: polish after feedback from Ondra
              
              
                mhamas 25d63e1
              
                polish docs
              
              
                mhamas bdb2899
              
                Update sources/platform/actors/running/store.md
              
              
                mhamas 6292c73
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas d210ff6
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas f6a0d01
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas 904fe6e
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas 156096f
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas 2b4374b
              
                nits
              
              
                mhamas d681066
              
                fix lint
              
              
                mhamas 944c24d
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas 1720832
              
                Update sources/platform/actors/publishing/monetize.mdx
              
              
                mhamas File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          
            
          
           | 
    @@ -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 | ||||||||||||
| 
     | 
||||||||||||
| 
        
          
        
         | 
    @@ -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. | ||||||||||||
| 
        
          
        
         | 
    @@ -41,30 +43,14 @@ The first user pays their first rent 7 days after the free trial, i.e., on the 2 | |||||||||||
| 
     | 
||||||||||||
| ### Pay-per-result pricing model | ||||||||||||
                
      
                  mhamas marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||||||||||||
| 
     | 
||||||||||||
| 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> | ||||||||||||
| 
        
          
        
         | 
    @@ -91,8 +77,6 @@ The pay-per-event pricing model offers a flexible monetization option for Actors | |||||||||||
| 
     | 
||||||||||||
| 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: | ||||||||||||
| 
        
          
        
         | 
    @@ -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. | ||||||||||||
| 
     | 
||||||||||||
| 
          
            
          
           | 
    @@ -138,6 +122,45 @@ 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 Actor belongs to a specific Apify Store discount tier, namely `FREE`, `BRONZE`, `SILVER`, or `GOLD` tier. | ||||||||||||
                
      
                  mhamas marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
                
      
                  mhamas marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||||||||||||
| 
     | 
||||||||||||
| When setting pricing for a PPE/PPR Actor, you can define different prices for different tiers. | ||||||||||||
| While optional, we strongly recommend offering progressively lower prices for higher discount tiers to attract large enterprise customers who may spend thousands or tens of thousands of dollars on your Actor. | ||||||||||||
| The unit platform usage costs for higher tiers will also be lower, helping you maintain healthy profit margins, as explained in the [Computing your costs for PPE and PPR Actors](#computing-your-costs-for-ppe-and-ppr-actors) section. | ||||||||||||
| 
     | 
||||||||||||
| While we don't recommend setting very high prices for free users by default, because it limits the users' ability to evaluate your Actor, we understand that sometimes it's necessary to protect you from fraud or excessive use of your internal APIs, in which case setting a high price for free users might be justified. | ||||||||||||
| 
     | 
||||||||||||
| During an Actor run, you can access the user's discount tier through run environment variables or by querying user data via our API. This allows you to potentially provide premium services to users in higher discount tiers. | ||||||||||||
| 
     | 
||||||||||||
| Apart from these standard tiers listed above, there are further tiers reserved for enterprise customers, such as `PLATINUM` and `DIAMOND`. If you are interested in providing enterprise level services and attracting large customers, please reach out to us. | ||||||||||||
                
      
                  mhamas marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||||||||||||
| 
     | 
||||||||||||
| ### 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. | ||||||||||||
| 
         There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should fix mdlint 
        Suggested change
       
    
  | 
||||||||||||
| 
     | 
||||||||||||
| 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 that usage by free users is covered by Apify and doesn't affect your costs. To calculate costs in dollars, multiply the unit cost of each service by the quantity consumed. For example, if a run uses 10 compute units (CUs) at $0.5/CU, your cost would be $5. | ||||||||||||
| 
     | 
||||||||||||
| As mentioned in the [How to attract larger customers of PPE and PPR Actors](#how-to-attract-larger-customers-of-ppe-and-ppr-actors) section, the user's discount tier determines the unit costs applied to their runs if the Actor has tiered discounts set up. Higher tiers have lower unit costs, allowing you to offer lower prices to high-tier customers while maintaining healthy profit margins. | ||||||||||||
| 
     | 
||||||||||||
| The table below summarizes the unit prices for 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 customres, please reach out to us. | ||||||||||||
                
      
                  mhamas marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||||||||||||
| 
     | 
||||||||||||
                
      
                  mhamas marked this conversation as resolved.
               
          
            Show resolved
            Hide resolved
         | 
||||||||||||
| ## 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. | ||||||||||||
| 
          
            
          
           | 
    ||||||||||||
        
          
  
    
      
          Binary file added
          
            BIN
              
                +63.2 KB
              
          
        
  sources/platform/actors/running/images/store/apify_store_discounts_console.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +31.9 KB
              
          
        
  sources/platform/actors/running/images/store/apify_store_discounts_full_table.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
        
          
  
    
      
          Binary file added
          
            BIN
              
                +81.6 KB
              
          
        
  sources/platform/actors/running/images/store/apify_store_discounts_web.png
  
  
      
      
   
        
      
      
    
      
      Loading
      
  Sorry, something went wrong. Reload?
      Sorry, we cannot display this file.
      Sorry, this file is invalid so it cannot be displayed.
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| 
          
            
          
           | 
    @@ -208,3 +208,18 @@ 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]). | ||
| 
     | 
||
|  | ||
| 
     | 
||
| ## Apify Store discounts | ||
| Each Apify subscription plan includes a discount tier (Bronze, Silver, Gold) that provides access to increasingly lower prices on selected Actors. | ||
| Please note that offering these discounts is at the discretion of the Actor owners. Since this is a relatively new feature, not all Actors currently participate in the discount program at the moment. | ||
| 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. | ||
| 
     | 
||
|  | ||
| 
     | 
||
| In the Apify Console, you can find information about pricing and available discounts in the Actor's header section. | ||
| 
     | 
||
|  | ||
| 
     | 
||
|  | ||
                
      
                  mhamas marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||
      
      Oops, something went wrong.
        
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Uh oh!
There was an error while loading. Please reload this page.