---
title: "Estimate Cost"
method: POST
path: "/cost/estimate"
tags: ["Cost Tracking"]
---

# Estimate Cost

`POST /cost/estimate`

## Request

- Base URL: `https://api.vibebrowser.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.vibebrowser.app/cost/estimate`
- Auth: one of:
  - API key in header `x-litellm-api-key`
  - API key in header `x-litellm-api-key`
  - API key in header `x-litellm-api-key`
  - API key in header `x-litellm-api-key`
  - API key in header `x-litellm-api-key`
  - API key in header `x-litellm-api-key`

Estimate cost for a given model and token counts.

This endpoint uses the same cost calculation logic as actual requests,
including any configured margins and discounts.

Parameters:
- model: Model name (e.g., "gpt-4", "claude-3-opus")
- input_tokens: Expected input tokens per request
- output_tokens: Expected output tokens per request
- num_requests_per_day: Number of requests per day (optional)
- num_requests_per_month: Number of requests per month (optional)

Returns cost breakdown including:
- Per-request costs (input, output, margin)
- Daily costs (if num_requests_per_day provided)
- Monthly costs (if num_requests_per_month provided)

Example:
```json
{
    "model": "gpt-4",
    "input_tokens": 1000,
    "output_tokens": 500,
    "num_requests_per_day": 100,
    "num_requests_per_month": 3000
}
```

## Request body

- CostEstimateRequest: Request body for /cost/estimate endpoint.
  - `model` string, required: Model name (from /model_group/info)
  - `input_tokens` integer, required: Expected input tokens per request
  - `output_tokens` integer, required: Expected output tokens per request
  - `num_requests_per_day` integer, nullable: Number of requests per day
  - `num_requests_per_month` integer, nullable: Number of requests per month

## Response `200`

Successful Response

- CostEstimateResponse: Response body for /cost/estimate endpoint.
  - `model` string, required
  - `input_tokens` integer, required
  - `output_tokens` integer, required
  - `num_requests_per_day` integer, nullable
  - `num_requests_per_month` integer, nullable
  - `cost_per_request` number, required: Total cost per request (includes margin)
  - `input_cost_per_request` number, required: Input token cost per request (before margin)
  - `output_cost_per_request` number, required: Output token cost per request (before margin)
  - `margin_cost_per_request` number: Margin/fee added per request
  - `daily_cost` number, nullable: Total daily cost (includes margin)
  - `daily_input_cost` number, nullable: Daily input token cost
  - `daily_output_cost` number, nullable: Daily output token cost
  - `daily_margin_cost` number, nullable: Daily margin/fee
  - `monthly_cost` number, nullable: Total monthly cost (includes margin)
  - `monthly_input_cost` number, nullable: Monthly input token cost
  - `monthly_output_cost` number, nullable: Monthly output token cost
  - `monthly_margin_cost` number, nullable: Monthly margin/fee
  - `input_cost_per_token` number, nullable
  - `output_cost_per_token` number, nullable
  - `provider` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/vibebrowser/apis/litellm-api.md) · [All operations](https://skmtc.dev/vibebrowser/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vibebrowser/apis/litellm-api/revisions/23d8a3c192b6?raw)
