---
title: "Estimate request cost"
method: POST
path: "/estimate"
tags: ["Billing"]
---

# Estimate request cost

`POST /estimate`

## Request

- Base URL: `https://riskmodels.app/api`
- URL: `https://riskmodels.app/api/estimate`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://riskmodels.app/oauth/authorize`, token URL `https://riskmodels.app/api/oauth/token`, scopes: `mcp:read`)

Returns predicted cost before a request is made. Free to call, requires authentication. Used by AI agents for pre-flight cost checks.

## Request body

- object
  - `endpoint` string, required: Target endpoint (ticker-returns, batch-analyze, l3-decomposition, etc.)
  - `params` object: Same params as the target endpoint

## Response `200`

Cost estimate

- EstimateResponse: Cost estimate for a request before it is made.
  - `estimated_cost_usd` number, float, required
  - `estimated_tokens` integer
  - `estimated_rows` integer: Estimated row count for time-series endpoints.
  - `estimated_bytes` integer: Estimated response size in bytes.
  - `capability` string, required
  - `pricing_model` 'per_request' | 'per_position' | 'per_token' | 'subscription', required
  - `unit_cost_usd` number, float
  - `min_charge` number, float
  - `note` string, required

## Other responses

- `400`: Unknown endpoint or invalid request
- `401`: Authentication required
- `429`: Rate limit exceeded.

---

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