> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skinai.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Limits

> Free allowances per scan, and rate limits.

## Free allowances

Catalog tools report usage in an `entitlement` object on every response:

```json theme={null}
{ "tier": "free_guest", "used": 1, "included": 3, "remaining": 2, "upgrade_required": false, "more_in_app": "…" }
```

| Capability            | Included                                                                                      |
| --------------------- | --------------------------------------------------------------------------------------------- |
| Scan (full metrics)   | Every completed scan can be read repeatedly, within the rate limits below                     |
| `recommend_products`  | 1 match per completed scan                                                                    |
| `find_product`        | 3 lookups per completed scan; a scan is required. A lookup that finds nothing is not counted. |
| `analyze_ingredients` | 10 per scan, or 5 per day with no scan                                                        |

When an allowance is spent, the tool returns an empty result with `upgrade_required: true` and `more_in_app` guidance pointing to the Skan app. Starting another scan to reset an allowance is not permitted, and the guidance tells the model so.

## Rate limits

Exceeding a limit returns `rate_limited` (or `busy` for concurrency) with `retry_after_seconds`. Service-wide ceilings return `scan_limit_reached`, `session_limit_reached`, `capacity_paused`, `service_paused` or `admissions_paused`.

| Limit                            | Value                                                                   |
| -------------------------------- | ----------------------------------------------------------------------- |
| MCP requests per network address | 60 per minute                                                           |
| Direct-photo scans per caller    | 60 per hour                                                             |
| Product calls per caller         | 10 per minute, 50 per day                                               |
| Ingredient calls per caller      | 15 per minute, 40 per day                                               |
| Deletions per network address    | 30 per minute (a separate budget, so deletion keeps working under load) |
| Account endpoint, per account    | 120 requests per minute, 10 scans per day                               |
| Admitted scans, service-wide     | 100 per day                                                             |

Guest limits are keyed on a hashed network address, not on a person. An assistant platform calling from shared servers shares these budgets across its users. Values are configuration and may change.
