PPE Cost Estimator avatar

PPE Cost Estimator

Pricing

Pay per event

Go to Apify Store
PPE Cost Estimator

PPE Cost Estimator

PPE Cost Estimator analyzes any Apify actor's recent run history and calculates the true cost per result — including compute units, dataset storage, and pay-per-event charges. It projects costs to your target volume with confidence intervals so you can budget accurately before scaling.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

PPE Cost Estimator — Know Your Per-Result Costs Before You Scale

What does PPE Cost Estimator do?

PPE Cost Estimator analyzes any Apify actor's recent run history and calculates the true cost per result — including compute units, dataset storage, and pay-per-event charges. It projects costs to your target volume with confidence intervals so you can budget accurately before scaling.

Why use PPE Cost Estimator?

  • No guesswork — get data-driven cost estimates from real run history, not theoretical calculations
  • Full cost breakdown — see CU costs, event charges, and storage fees separately
  • Volume projections — estimate total cost for 100, 1,000, or 100,000 results with low/high confidence bounds
  • PPE event analysis — automatically detects pay-per-event pricing and computes per-event averages
  • What-if scenarios — override event prices to test different pricing tiers before committing
  • Optimization tips — actionable recommendations to reduce costs (memory, batch size, failure rate)

How much does it cost?

PPE Cost Estimator uses pay-per-event pricing:

EventPriceWhen charged
start$0.035Once per run
actor-analyzed$0.005Per actor analyzed

Typical run: Analyzing one actor costs $0.04 total (1 start + 1 actor-analyzed). Platform compute costs are minimal since this actor only calls APIs.

What data can you extract?

FieldExample
actorName"web-scraper"
analyzedRuns10
avgResultsPerRun47.3
avgDurationSecs125.6
avgComputeUnits0.0682
avgCostPerRun.totalUsd0.0371
costPerResult0.000785
eventPrices[].eventName"page-scraped"
projection.estimatedCostUsd16.60
projection.costPerResult0.000785
projection.lowEstimateUsd12.40
projection.highEstimateUsd21.80
recommendations[]"Memory is 8192 MB but runs are short..."

How to estimate actor costs

  1. Open PPE Cost Estimator on Apify Console.
  2. Enter the Actor ID (e.g., apify/web-scraper or a full ID like VOERbTZDFEs88Xpyi).
  3. Set Sample runs (default 10) — more runs = more accurate estimates.
  4. Set Target volume — how many results you want to project costs for.
  5. Click Start and review the cost breakdown in the dataset.

Example input

{
"actorId": "apify/web-scraper",
"sampleRunCount": 10,
"targetVolume": 5000
}

Input parameters

ParameterTypeRequiredDefaultDescription
actorIdstringYesActor ID or username/name
sampleRunCountintegerNo10Recent runs to analyze (1–50)
targetVolumeintegerNo1000Results to project costs for
customEventPricesobjectNoOverride event prices for what-if analysis

Output example

{
"actorId": "automation-lab/google-maps-lead-finder",
"actorName": "google-maps-lead-finder",
"analyzedRuns": 8,
"successfulRuns": 7,
"avgResultsPerRun": 4.6,
"avgDurationSecs": 156.3,
"avgComputeUnits": 0.1737,
"avgMemoryMbytes": 4096,
"avgCostPerRun": {
"computeUnitsUsd": 0.0434,
"datasetStorageUsd": 0.000002,
"eventChargesUsd": 0.0776,
"totalUsd": 0.121
},
"costPerResult": 0.0263,
"eventPrices": [
{ "eventName": "start", "priceUsd": 0.05, "avgCountPerRun": 1 },
{ "eventName": "lead", "priceUsd": 0.006, "avgCountPerRun": 4.6 }
],
"projection": {
"targetVolume": 1000,
"estimatedRuns": 218,
"estimatedCostUsd": 26.38,
"costPerResult": 0.02638,
"lowEstimateUsd": 19.50,
"highEstimateUsd": 34.20
},
"recommendations": [
"No issues detected. Cost profile looks healthy."
]
}

Tips for best results

  • Run the actor at least 5 times before estimating — more samples mean more accurate estimates.
  • Use customEventPrices to test pricing changes before updating your actor's actual pricing.
  • Check the recommendations array — it flags common cost optimization opportunities.
  • Compare lowEstimateUsd vs highEstimateUsd — a wide gap means high run-to-run variance.
  • Filter failed runs — the estimator automatically prefers successful runs for accuracy.

Integrations

Connect PPE Cost Estimator with Make, Zapier, n8n, or any HTTP-based automation tool. Use the Apify API to trigger runs and retrieve dataset results programmatically.

Using the Apify API

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('automation-lab/ppe-cost-estimator').call({
actorId: 'apify/web-scraper',
targetVolume: 10000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Cost per result: $${items[0].costPerResult}`);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('automation-lab/ppe-cost-estimator').call(run_input={
'actorId': 'apify/web-scraper',
'targetVolume': 10000,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(f"Cost per result: ${items[0]['costPerResult']}")

FAQ

Can I analyze any actor? Yes, any actor you have access to — your own actors, public Store actors, or actors shared with your organization.

Does it work with flat-rate (CU-only) actors? Yes. It calculates CU costs even without PPE pricing. Event charges will show as $0 if no PPE pricing is configured.

How accurate are the estimates? Accuracy depends on sample size and run consistency. With 10+ similar runs, estimates are typically within the low/high confidence bounds.

Can I test different pricing before publishing? Yes, use customEventPrices to override event prices and see projected costs under different pricing tiers.

Does it actually run the target actor? No. It only reads historical run data via the Apify API. No compute is used on the target actor.

What if the actor has no runs? The actor needs at least one completed run. You'll get an error message suggesting to run it first.