---
title: "Credits · API docs · CheckAnySite"
description: "What each request costs, what is free, and the credits every account gets each month."
url: "https://docs.checkanysite.com/credits"
---

Concepts

# Credits

What each request costs, what is free, and the credits every account gets each month.

## Cost of a request

A request costs credits for each [check](https://docs.checkanysite.com/questions) it asks for. A check costs its stored price when the answer comes from a stored result: from the Lookup API, or from the Scan API when a result from the last day exists. It costs its scan price when it needs a new scan. A request never costs more than asking for every check at once, which is what a request without `checks` does.

| Check | Stored | New scan |
| --- | --- | --- |
| `ai` | 1 | 3 |
| `readiness` | 1 | 4 |
| `popularity` | 1 | 1 |
| `tech` | 1 | 3 |
| `dns` | 1 | 1 |
| `trust` | 2 | 6 |
| `summary` | 2 | 5 |
| `history` | 1 | 2 |
| Every check (the most a request costs) | 3 | 15 |

For example, `?checks=ai,dns` from a stored result costs 2 credits, and a new scan for `popularity` alone costs 1 credit. A call to an MCP tool costs the same as the equivalent API request.

## Batches

A [batch](https://docs.checkanysite.com/batches) costs the same as its sites requested one by one: each stored result at its checks’ stored price, and each new scan at its checks’ scan price. A site without a stored result, or an input that isn’t a domain, costs nothing.

## Free requests

These requests cost nothing:

- Reading a scan, however often you poll it ([GET /v1/scans/{id}](https://docs.checkanysite.com/api/get-scan)), and reading your usage.
- A `304 Not Modified` response. `GET /v1/sites/{domain}` returns an `ETag`; send it back in `If-None-Match`, and if the result hasn’t changed, the API returns `304` with no body.
- A replayed response. A POST request sent again with the same `Idempotency-Key` returns its first response, marked `Idempotent-Replayed: true`, and isn’t charged again ([Idempotency](https://docs.checkanysite.com/idempotency)).
- A lookup that finds no stored result (`no_result`), and any request that fails.

## Your monthly credits

- The API is free during launch. Every account gets 300 credits each calendar month (UTC), with no card required. All of the account’s keys and agent connections share them.
- An account can start up to 25 new scans a day (UTC). After that, new scans return [scan\_limit\_reached](https://docs.checkanysite.com/errors#scan_limit_reached), and stored results still work.
- You can give a key its own monthly limit. Once the key reaches it, its requests return [key\_limit\_reached](https://docs.checkanysite.com/errors#key_limit_reached).
- We email you when your monthly credits pass 80% and 100%.
- [GET /v1/usage](https://docs.checkanysite.com/api/get-usage) returns your current usage, for free.
- Need more than 300 credits a month? [Ask on your usage page](https://checkanysite.com/account/usage#more-credits) and tell us what you’re building. Extra credits are free during launch too.
- Paid plans will come later, and a free allowance will remain. We’ll email every account at least 7 days before paid plans start or before its credits change.

## Credit headers

| Header | Sent with | Value |
| --- | --- | --- |
| `X-Credits-Cost` | Requests that cost credits | The credits this request cost |
| `X-Credits-Remaining` | Requests that cost credits | The credits left this month |
| `X-Credits-Reset` | Requests that cost credits | When your monthly credits reset |
| `X-Request-Id` | Every response | The request’s ID, to include when you contact us |

[Rate limits](https://docs.checkanysite.com/rate-limits) explains how many requests a key can make each minute, and the headers that report it.
