Apify Actor Cost Estimator
Pricing
$1.00 / 1,000 estimate returneds
Apify Actor Cost Estimator
Estimate what an Apify Actor will cost before you run it, across its pricing model and your workload.
Pricing
$1.00 / 1,000 estimate returneds
Rating
0.0
(0)
Developer
Ken Agland
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Estimate what an Apify Actor will cost before you run it, across its pricing model and your workload.
What it does
- Reads the live pricing for each Actor from the Apify API.
- Computes an estimate from the pricing model and your workload (results per run, number of runs, events per run).
- Handles FREE, PRICE_PER_DATASET_ITEM, PAY_PER_EVENT, and FLAT_PRICE_PER_MONTH.
- States its assumptions on every item, and flags any Actor it cannot estimate.
- Returns an aggregate summary: total estimated cost, plus the cheapest and most expensive Actor.
Example input
{"actors": ["apify/instagram-scraper","compass/crawler-google-places"],"resultsCount": 1000,"runs": 1}
For a PAY_PER_EVENT Actor you can set exact event counts per run:
{"actors": ["compass/crawler-google-places"],"resultsCount": 500,"runs": 4,"eventsPerRun": {"place-scraped": 500,"filter-applied": 500}}
Input
| Field | Type | Description |
|---|---|---|
actors | array | Actors to estimate, each as username/name or an Actor id. Required. |
resultsCount | integer | Expected dataset items per run. Used for per-result and per-event pricing. Default 1000. |
runs | integer | How many runs to estimate. The total multiplies the per-run cost by this. Default 1. |
eventsPerRun | object | Optional. For PAY_PER_EVENT Actors, a map of event name to count per run. |
Output
Each dataset item is one Actor:
{"fullName": "apify/instagram-scraper","title": "Instagram Scraper","pricingModel": "PAY_PER_EVENT","unitLabel": "per Result","unitPriceUsd": 0.0027,"estimatedCostPerRunUsd": 2.7,"estimatedTotalUsd": 2.7,"assumptions": "Charged events per run: result x1000 (results per run). Add-on events not listed are assumed unused. Prices use the FREE plan tier across 1 run(s). Provide eventsPerRun to override counts. Paid plans get lower tiers. Platform compute is billed separately.","pricingDetail": {"pricingModel": "PAY_PER_EVENT","minimalMaxTotalChargeUsd": 0.0027,"events": {"result": {"unitPriceUsd": 0.0027,"isPrimary": true,"isOneTime": false}}}}
When a model cannot be estimated from the inputs, estimatedTotalUsd is null and assumptions explains why.
Run summary (OUTPUT)
The run's default key-value store record OUTPUT holds an aggregate:
{"workload": {"resultsCount": 1000,"runs": 1,"planTier": "FREE"},"actorsRequested": 2,"actorsEstimated": 2,"actorsNotEstimated": 0,"totalEstimatedUsd": 6.7,"cheapest": {"fullName": "apify/instagram-scraper","estimatedTotalUsd": 2.7},"mostExpensive": {"fullName": "compass/crawler-google-places","estimatedTotalUsd": 4.0},"pricingBreakdown": {"PAY_PER_EVENT": 2}}
How it works
For each Actor the Actor calls https://api.apify.com/v2/acts/<username~name> and reads currentPricingInfo, falling back to the most recent entry in pricingInfos. It then applies the pricing model:
- FREE: no charge for the Actor.
- PRICE_PER_DATASET_ITEM: price per result times results per run, across runs.
- PAY_PER_EVENT: per-event prices; the primary per-result event defaults to your results per run, one-time events count once, add-ons are assumed unused unless set in
eventsPerRun. - FLAT_PRICE_PER_MONTH: a fixed monthly rental, independent of runs.
When an Actor uses tiered pricing, the estimate uses the FREE plan tier, which is the highest per-unit price and therefore a conservative upper bound. Paid plans get lower tiers. A per-run minimum charge is applied where the Actor defines one. Apify platform compute (memory and CPU time) is billed separately and is not included.
This Actor uses the run's APIFY_TOKEN automatically for the pricing lookups.
MIT licensed.


