---
title: "Estimate execution cost"
method: POST
path: "/api/burnrate/estimate"
tags: ["BurnRate"]
---

# Estimate execution cost

`POST /api/burnrate/estimate`

## Request

- Base URL: `https://plith.ai`
- URL: `https://plith.ai/api/burnrate/estimate`
- Auth: none required

Estimates total LLM cost for a multi-step agent plan. Returns per-step cost breakdown, total, and optimization suggestions. Costs 1 credit.

## Request body

- object
  - `plan` object[], required: Non-empty array of plan steps.
    - `step` union, required
      - string
      - integer
    - `provider` string, required
    - `model` string, required
    - `estimated_input_tokens` integer, required
    - `estimated_output_tokens` integer, required
    - `cache_read_tokens` integer: Optional. Cached tokens for providers with prompt caching (e.g. Anthropic).
    - `search_calls` integer: Optional. Number of search/grounding calls (e.g. Gemini).

## Response `200`

Cost estimate with per-step breakdown

- object
  - `estimate` object
    - `steps` object[]
      - `step` unknown
      - `provider` string
      - `model` string
      - `estimated_input_tokens` integer
      - `estimated_output_tokens` integer
      - `cost_usd` number, nullable: null when pricing_available is false.
      - `cost_usd_formatted` string, nullable: null when pricing_available is false.
      - `pricing_available` boolean
      - `suggestion` string, nullable
    - `total_cost_usd` number
    - `total_cost_usd_formatted` string
    - `step_count` integer
    - `estimate_complete` boolean: true only when ALL steps have pricing_available: true.
    - `unrecognized_models` string[]: List of provider/model combos that failed pricing lookup. Empty array when all recognized.
    - `recognized_step_count` integer: Count of steps where pricing_available is true.
    - `pricing_as_of` string: ISO date (YYYY-MM-DD) of the most recent effective_date in burnrate_pricing. Use to verify data freshness.
    - `pricing_source` string: Source of the pricing data used for this estimate.
  - `optimization_suggestions` string[]
  - `cross_product` object
  - `request_id` string
  - `credits_used` integer
  - `credits_remaining` integer
  - `fallback_behavior` string

## Other responses

- `400`: Missing or invalid plan
- `401`: Invalid or missing API key
- `402`: Insufficient credits

---

[API](https://skmtc.dev/plith/apis/plith-api.md) · [All operations](https://skmtc.dev/plith/apis/plith-api/llms.txt) · [OpenAPI document](https://skmtc.dev/plith/apis/plith-api/revisions/4a03164b0d75?raw)
