Actor pricing and costs
When deciding on your pay-per-event (PPE) Actor pricing, consider two things: how much users pay per event and how much the platform usage costs you.
Calculate your profit
Your profit is calculated from the following formula:
profit = (0.8 * revenue) - platform costs
where:
revenueis the amount charged for events through the PPE charging API or JS/Python SDK. You receive 80% of this revenue.platform costsare the underlying platform usage costs for running the Actor.
Only revenue and cost generated by users on paid plans count toward your profit. Users on the free plan are excluded from the calculation. They don't bring you revenue and Apify covers their platform usage costs.
Discount tiers
Each user that runs your PPE Actor belongs to one of the following discount tiers:
- FREE
- BRONZE
- SILVER
- GOLD
Implement discount tiers
You can define different prices for different tiers.
Apify recommends offering progressively lower prices for higher discount tiers. This approach can make your Actor more attractive to large customers. Your platform usage costs are also lower for higher tiers.
Don't set excessively high prices for FREE tier users. It prevents them from testing your Actor on enough data to see its value. A higher price makes sense only to protect your Actor from fraudulent activity or to cover third-party costs, such as LLM API calls.
To identify the discount tier that the user belongs to, use the APIFY_USER_IS_PAYING environment variable and the Get private user data API endpoint.
Enterprise tiers
In addition to the standard tiers, there're two tiers for enterprise customers only: PLATINUM and DIAMOND.
If you're interested in offering enterprise-level services and attracting major clients, contact us.
Calculate platform usage costs
Running your Actor generates platform usage in the form of compute units, data traffic, or API operations.
To calculate your costs for a specific run, multiply the unit cost of each service by the quantity consumed. For example, if a BRONZE tier user starts a run that uses 10 compute units (CUs) at $0.2 each, your cost is $2.
The unit cost depends on the discount tier. Your costs are lower for higher tiers, so you can offer more competitive pricing to these customers and still maintain healthy profit margins. If you don't implement tiered discounts, the unit prices for the FREE tier apply.
The following table shows the unit costs for all discount tiers:
| Service (unit) | FREE | BRONZE | SILVER | GOLD |
|---|---|---|---|---|
| Compute unit (per CU) | $0.2 | $0.2 | $0.16 | $0.13 |
| Residential proxies (per GB) | $8 | $8 | $7.5 | $7 |
| SERPs proxy (per 1,000 SERPs) | $2.5 | $2.5 | $2 | $1.7 |
| Data transfer - external (per GB) | $0.2 | $0.2 | $0.19 | $0.18 |
| Data transfer - internal (per GB) | $0.05 | $0.05 | $0.045 | $0.04 |
| Dataset - reads (per 1,000 reads) | $0.0004 | $0.0004 | $0.00036 | $0.00032 |
| Dataset - writes (per 1,000 writes) | $0.005 | $0.005 | $0.0045 | $0.004 |
| Key-value store - reads (per 1,000) | $0.005 | $0.005 | $0.0045 | $0.004 |
| Key-value store - writes (per 1,000) | $0.05 | $0.05 | $0.045 | $0.04 |
| Key-value store - lists (per 1,000) | $0.05 | $0.05 | $0.045 | $0.04 |
| Request queue - reads (per 1,000) | $0.004 | $0.004 | $0.0036 | $0.0032 |
| Request queue - writes (per 1,000) | $0.01 | $0.01 | $0.009 | $0.008 |
If you monetize your Actor in Standby mode using the pay-per-event pricing model only, you're not responsible for covering platform usage costs of your users' runs.
Example of a PPE pricing
Let's analyze the following example. You created a social media monitoring Actor with the following events and prices:
post: $0.002 per post. Count every social media post that the Actor extracts.profile: $0.005 per profile. Count every user profile that the Actor extracts.sentiment-analysis: $0.01 per post. Count every post analyzed for sentiment, engagement metrics, and content classification using external LLM APIs.
There are two ways to charge for AI-related operations:
- Fixed event pricing (like
sentiment-analysisin our example): Charge a fixed amount per operation, regardless of actual LLM costs - Usage-based pricing: Use events like
llm-tokenthat charge based on actual LLM usage costs
Fixed pricing is simpler for users to predict, while usage-based pricing more accurately reflects your actual costs.
Three different users run your Actor:
| User | Plan | Events | Charges | Total | Platform cost |
|---|---|---|---|---|---|
| 1 | Paid plan | 5,000 × post1,000 × sentiment-analysis | 5,000 × $0.002 1,000 × $0.01 | $20 | $2.50 |
| 2 | Paid plan | 3,000 × post500 × sentiment-analysis | 3,000 × $0.002 500 × $0.01 | $11 | $1.50 |
| 3 | Free plan | 1,000 × post100 × sentiment-analysis | 1,000 × $0.002 100 × $0.01 | $3 | $0.40 |
Your profit and costs are computed only from the first two users, because they're on the paid plans:
- Your revenue: $20 + $11 = $31
- Generated platform usage cost: $2.50 + $1.50 = $4
- Your profit: 0.8 * $31 - $4 = $20.80