# Credits and usage (/docs/credits)



Trackee charges credits for data collection and analysis. Configuration and stored-data reads are free. Paid responses include the credits charged and the organization's remaining total:

```json
{
  "credits": {
    "charged": 3,
    "remaining": 497
  }
}
```

Trackee checks the balance before starting paid work. A request that costs more than the available balance returns `402 Payment Required`.

## What is free [#what-is-free]

These operations do not consume credits:

* health and authenticated health checks;
* brand creation, updates, and reads;
* model discovery;
* tracker configuration and management;
* scan status and scan list reads;
* snapshots, alerts, brand overviews, and timelines;
* recommendations based on stored snapshots;
* notification configuration and test deliveries;
* usage and balance reads.

A tracker is free to configure, but each scheduled or manual run consumes credits. Creating a bulk scan charges its full prompt × engine grid up front.

## Credit costs [#credit-costs]

| Operation             | Cost                                             |
| --------------------- | ------------------------------------------------ |
| Google rank check     | 1 credit                                         |
| Keyword metrics       | 1 per keyword, with a 20-credit minimum per call |
| Keyword ideas         | 3 credits                                        |
| AI keyword volume     | 2 per keyword                                    |
| Live AI visibility    | 3 per engine, plus 1 per engine with sentiment   |
| Raw prompt run        | 3 per engine                                     |
| Recurring tracker run | 3 per prompt per engine, plus 1 with sentiment   |
| Bulk visibility scan  | 5 per prompt per engine, plus 1 with sentiment   |
| AI mentions           | 35 credits                                       |
| AI mention history    | 35 credits                                       |
| AI citations          | 35 credits                                       |
| SERP competitors      | 5 credits                                        |
| Domain overview       | 5 credits                                        |
| Ranked keywords       | 10 credits                                       |
| Backlink profile      | 8 credits                                        |
| On-page audit         | 2 credits                                        |

For endpoints priced per engine or keyword, calculate the full request before sending it. Trackee charges only successful engines in a live visibility request, but it requires enough balance for the maximum cost first.

## Read the balance and history [#read-the-balance-and-history]

```bash
curl "https://api.trackee.dev/v1/usage?days=30" \
  -H "x-access-key: YOUR_ACCESS_KEY"
```

The response contains:

* `totalUsage`: all-time credits used;
* `usage`: monthly totals, optionally filtered with `from=YYYY-MM` and `to=YYYY-MM`;
* `dailyUsage`: the requested number of recent UTC days, including zero-usage days;
* `balance.monthly`: the plan allowance, amount used, amount remaining, and cycle dates;
* `balance.purchased`: purchased totals, usage, and remaining balance.

The `days` parameter accepts 1–90 and defaults to 30. The `from` and `to` filters affect monthly history; they do not change the daily window.

Monthly credits reset with the billing cycle. Purchased credits do not expire, and Trackee uses monthly credits before purchased credits.

## Keep recurring spend predictable [#keep-recurring-spend-predictable]

For a tracker, estimate each run as:

```text
prompts × engines × (3 + sentiment)
```

`sentiment` is `1` when enabled and `0` otherwise. Multiply that result by the number of expected runs in a billing cycle.

For a bulk scan, replace `3` with `5`. A scan with 10 prompts, three engines, and sentiment costs `10 × 3 × 6 = 180` credits.

Use a smaller prompt set while testing. Once the results look useful, expand the set or shorten the tracker interval.

See the complete [`GET /v1/usage` reference](/docs/api/usage/getUsage) for the response schema.
