Agent Cost Estimator - Predict Actor PPE Spend
Pricing
Pay per event
Agent Cost Estimator - Predict Actor PPE Spend
Let your AI agent budget before it spends. Reads any Apify actor's public pricing and returns a transparent low-to-high dollar estimate with a per-event breakdown and confidence flag - no token required. Stop agents running blind or capping spend they can't predict.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Creator Fusion
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Agent Cost Estimator
Predict what a target Apify Actor will cost before you run it. Point this Actor at any public Actor, tell it how many items you expect, and it reads that Actor's public pricing metadata, parses the pricing model, and returns a transparent per-event cost breakdown with a low/high USD range, the assumptions it used, and a confidence flag.
Built for AI agents and pipelines that dispatch other Actors: call this first so your agent budgets the spend instead of running blind.
- No target token required — only public pricing metadata is read (the run's own account token is used server-side).
- Honest by design: it never fabricates historical usage numbers. For compute-billed (
FREE) Actors it says so and flags low confidence rather than inventing a figure. - One estimate row per run, fully auditable (
breakdown+assumptions).
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
targetActorId | string | yes | — | Actor to price, as username~name / username/name (e.g. apify/instagram-scraper) or a raw Actor ID. |
expectedItems | integer | no | 100 | How many result rows you expect. Drives per-item event pricing. |
memoryMbytes | integer | no | target default | Run memory in MB. Only affects the built-in per-GB apify-actor-start event. |
{ "targetActorId": "apify/instagram-scraper", "expectedItems": 500 }
Output (one row)
{"targetActorId": "apify/instagram-scraper","targetActorName": "apify/instagram-scraper","pricingModel": "PAY_PER_EVENT","estCostUsdMin": 0.25,"estCostUsdMax": 1.35,"expectedItems": 500,"breakdown": [{ "event": "result", "eventTitle": "Result", "unitUsd": 0.0027, "tieredUnitUsdMin": 0.0005, "assumedCount": 500, "subtotal": 1.35 }],"assumptions": ["Per-item events assumed to fire once per expected item (expectedItems=500).","Tiered pricing present: max = FREE-plan (list) price, min = highest-volume discount tier."],"confidence": "high"}
How the estimate is built
- PAY_PER_EVENT — every charge event is multiplied by an assumed count: one-time /
actor-startevents fire once (the built-inapify-actor-startfires once per GB of memory); per-item events fireexpectedItemstimes. Tiered events report the FREE-plan (list) price as the high and the deepest volume tier as the low. Confidence: high when explicit per-item events exist. - PRICE_PER_DATASET_ITEM —
expectedItems x price-per-result. Confidence high. - FLAT_PRICE_PER_MONTH (rental) — flat monthly subscription; item count does not change spend. Confidence medium.
- FREE — no per-Actor charge, but you still pay Apify platform compute + proxy, which are not in public metadata.
estCostUsdMaxisnulland confidence is low — item count is only a proxy.
Published event prices already include Apify's platform margin, so the numbers are what the caller actually pays.
Integration
MCP (Apify MCP server)
Add the Apify MCP server to your agent, then call this Actor as a tool with { "targetActorId": "...", "expectedItems": N }. The estimate row comes back in the run's default dataset.
API (curl)
curl -X POST "https://api.apify.com/v2/acts/apricot_blackberry~agent-cost-estimator/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{ "targetActorId": "apify/instagram-scraper", "expectedItems": 500 }'
JavaScript (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('apricot_blackberry/agent-cost-estimator').call({ targetActorId: 'apify/instagram-scraper', expectedItems: 500 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]); // { pricingModel, estCostUsdMin, estCostUsdMax, breakdown, confidence, ... }
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("apricot_blackberry/agent-cost-estimator").call(run_input={"targetActorId": "apify/instagram-scraper", "expectedItems": 500})row = next(client.dataset(run["defaultDatasetId"]).iterate_items())print(row["estCostUsdMin"], row["estCostUsdMax"], row["confidence"])
Billing
Pay-per-event. actor-start once per run, plus one estimate event per successful estimate. Error rows (target not found, no public pricing) are not charged the estimate event.
Limitations
- Estimates come from published pricing metadata; an Actor author can change prices at any time.
- Item and memory counts are your assumptions — the accuracy of the estimate depends on them.
- Compute-billed (
FREE) Actors cannot be priced from metadata alone; the estimate flags this with low confidence.