Per-step cost tracking, and why estimates are not enough

An agent's cost is decided step by step. BrowserPilot prices it that way instead of guessing at the end.

Mar 2026

Most automation platforms price by the minute or the run. You start a browser, run some steps, and at the end they add up the tokens and tell you what it cost. This is convenient for the platform but unhelpful for you — you do not know which step was expensive, why it was expensive, or whether a different approach would be cheaper.

Token and action cost accrue as the agent works. Every action has a cost: a navigation, a click, a form fill, a screenshot, a GPT call. Some steps are cheap (click a button) and some are expensive (extract data from a complex table). By the time the run ends, you have no visibility into where your spend went.

BrowserPilot attributes cost per step as it happens. Every action in the step gets a line in the log: action type, token count, cost. As the agent finishes a step, the step cost is summed. As the run finishes, you see the total cost per run.

That cost data is then rolled up: per run, per project (if you tag your tasks), per template (if you save it), and per plan quota. In the billing section of the dashboard, you can see your spend for the month broken down by template, by project, or just raw.

Why does this matter? Because knowing where your spend goes helps you optimize. A template that seemed cheap might be accidentally running expensive queries. A workflow that uses the same extraction in ten places could be deduplicated. A site might have cheaper alternative endpoints. Without per-step cost data, you are flying blind.

It also makes billing conversation possible with your stakeholders. Instead of 'this automation costs $500 a month', you can say 'the price-monitor template costs $500 a month because it uses 45 steps per run, and each run makes 3 GPT calls to extract pricing data. If we changed to a cheaper site or a more stable selector, we could drop it to $300.' That is a conversation with numbers, not feelings.