# Credits and billing

Estimate a request's cost and interpret the billing information it returns.

Documentation index: https://webcite.co/llms.txt
Canonical page: https://webcite.co/api-docs/credits
API origin: https://api.webcite.co
Authentication: x-api-key header. Keep keys on your server.

## Verification prices

JSON and streaming verification use the same fixed prices. Cached and uncached requests have the same price. There is no additional API operation charge.

| Include stance | Include verdict | Credits per request |
| --- | --- | --- |
| `false` | `false` | **2 credits** |
| `true` | `false` | **3 credits** |
| `false` | `true` | **4 credits** |
| `true` | `true` | **4 credits** (default) |

A verdict requires stance analysis internally, even when the response omits stance fields. `include_numeric_assess` on JSON verification does not add a separate charge.

## Prices for every endpoint

| Endpoint | Credits |
| --- | --- |
| [POST /api/v1/verify](/api-docs/verify) | 2 credits for search only; 3 with stance; 4 with a verdict. No additional operation charge. |
| [POST /api/v1/verify/stream](/api-docs/streaming) | Same 2/3/4-credit prices as JSON verification. |
| [POST /api/v1/verify/batch](/api-docs/batch) | 1 credit per item, up to 200 items. |
| [POST /api/v1/verify/feedback](/api-docs/feedback) | 1 credit. |
| [POST /api/v1/sources/search](/api-docs/search) | 2 credits. |
| [GET /api/v1/citations](/api-docs/citations) | 1 credit. |
| [GET /api/v1/citations/{id}](/api-docs/citation) | 1 credit. |
| [POST /api/v1/citations/source-preview](/api-docs/source-preview) | 1 credit. |
| [POST /api/v1/upload](/api-docs/upload) | 1 credit for a successful upload. |
| [POST /api/v1/extract](/api-docs/extract) | 1 credit for a billable extraction outcome. |
| [POST /api/v1/extract/pages](/api-docs/chunks) | 1 credit for a billable extraction outcome. |
| [POST /api/v1/classify](/api-docs/classify) | 1 credit for a billable classification outcome. |
| [POST /api/v1/gaps](/api-docs/gaps) | 1 credit. |
| [POST /api/v1/ask](/api-docs/ask) | 5 credits to queue the work. Polling is free. |
| [GET /api/v1/ask/{id}](/api-docs/ask-result) | 0 credits. |
| [POST /api/v2/sources/{versionId}/representations/{representationId}/prepare-ocr-rescue](/api-docs/ocr) | Availability and metering depend on the configured OCR workflow; no fixed public credit price is specified. |
| [POST /api/v1/extract/figures](/api-docs/figures) | 2 credits for a billable extraction outcome. |
| [POST /api/v1/analyze/conflicts](/api-docs/conflicts) | 1 credit. |
| [POST /api/v1/analyze/document](/api-docs/analyze-document) | 3 credits. |
| [POST /api/v2/verify/numeric](/api-docs/numeric) | No fixed public credit price is specified for this V2 operation. |
| [GET /api/v1/accuracy](/api-docs/accuracy) | 1 credit. |

Document extraction and classification inspect the outcome before billing. Unsupported/error outcomes and partial outcomes without readable evidence are not charged. A useful partial result can be billable.

The V2 numeric and OCR preparation operations do not publish a fixed credit price in this contract. Do not assume they have the V1 price or a universal receipt shape.

## Read billing receipts

V1 object responses that use the billing wrapper include `operation_id` and `usage.credits`. `null` means the accounting value is unavailable, not that the work was free. A returned `0` is a known zero deduction.

```json
{"operation_id":"EXAMPLE_OPERATION_ID","usage":{"credits":4}}
```

This is an illustrative receipt. Preserve missing and null values when you store it. Streaming sends a separate `usage` event; an `accounting_error` means accounting did not complete normally.

Batch verification returns a result array. Citation list/get, feedback, and upload retain their own response shapes and do not universally add this object receipt. Free ask polling returns the job view. Do not require a top-level receipt on every endpoint.

The current streaming receipt has a legacy zero fallback when the deduction value is unavailable. A zero in an SSE usage event alone does not establish a free operation. Retain the operation ID and reconcile it with your account usage.

## Manage your plan

See [pricing](/#pricing) for current plan allocations and subscription prices. Manage credits and overage settings in your account. Repeating a successful request can incur another charge; store completed results and avoid automatic replay after an ambiguous timeout.
