# Pricing and credits

> The same table the API charges from (`GET /billing/manifest`). A call needs its minimum in balance to start and is charged what it actually cost; cache hits and failed calls cost 0.

Canonical page: https://clawifi.dev/docs/pricing-and-credits

## Plans

| Plan | Price a month | Credits a month | Requests at once |
| --- | --- | --- | --- |
| Free | $0 | 1,000 | 2 |
| Starter | $19 | 10,000 | 5 |
| Pro | $99 | 125,000 | 25 |
| Scale | $299 | 500,000 | 75 |

Plan credits roll over up to 3 months of your allowance; credit packs (120k credits for $99, 500k credits for $349) never expire. See [Pricing](https://clawifi.dev/pricing).

## Credits per operation

| Operation | Credits | Per | Notes |
| --- | --- | --- | --- |
| `search` | 1 | call | search, plain fetch/scrape, article extract, package/dataset/code/archive/academic lookup, single OSINT lookup, social reads |
| `browser_render` | 3 | call | browser render, or a fetch/scrape that escalates to the browser; a Reddit thread the browser could not open and the Wayback Machine copy answered counts as rendered (the renders ran), while a page reached in the archive without a render costs the base call |
| `pdf` | 2 | started 50 pages | in place of the base call: 2 for 1-50 pages, 4 for 51-100 |
| `llm_extract` | 4 | call | an extract that runs a language model; hosted extraction is deterministic today |
| `map` | 1 | started 10 URLs returned | at least 1 |
| `crawl` | 1 | page | +2 per page that needed JS rendering; at least 1 |
| `monitor_check` | 1 | check | 3 with the browser |
| `osint_recon_bundle` | 5 | call | domain recon, email recon, username sweep |
| `research` | 30 | call | 5 per source searched + 10 per page read, at least 30, at most 300 |
| `research_plan` | 5 | call |  |
| `cloud_render` | 6 | started browser-minute | Pro and Scale plans (500 and 2,500 minutes a month); at least 6. Renders JavaScript-heavy pages in a hosted browser. It does not bypass bot protection or CAPTCHAs. |
| `passages` | 0 | call | query/top_k on fetch, scrape and browse add nothing |
| `playground` | 0 | call |  |

## Cost before a run

Add `"dry_run": true` to any paid call to see its cost first; nothing runs and nothing is charged. Billable answers carry `X-Clawifi-Credits-Charged` and `X-Clawifi-Credits-Remaining`.

**cURL**

```sh
curl https://api.clawifi.dev/fetch \
  -H "Authorization: Bearer $CLAWIFI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "dry_run": true}'
```
