# Errors, Rate Limits & Credits

Requests are metered two ways - how fast you call, and how many credits you spend. Both are visible in your responses, so there are no surprises.

## Request rate

Requests are rate-limited per token, by default about **1 request per second** per endpoint. Sending faster returns `429`:

```json
{ "detail": "rate limit exceeded" }
```

Pace your calls and use [Pagination](news-blogs-forums-pagination) to collect large result sets.

## Credits

Every request consumes credits from your plan:

- Searches over the last 31 days cost **1 credit**; older windows cost 2-4 - see [Time Range & History](news-blogs-forums-time-range).
- Segmentation requests cost **1 credit**.
- `requests_left` in every response shows your remaining balance.

When your balance runs out, requests return `429` with an insufficient-credits message.

## Error responses

Errors are JSON with a `detail` field:

```json
{ "detail": "Unknown API token" }
```

| Status | When |
| --- | --- |
| `400` | Invalid parameters: unbalanced quotes or parentheses in `q`, more than 10 proximity operators, `size` out of `1`-`100`, negative `from`, unknown `sort`, `order`, or `field` value |
| `401` | Missing or unknown token, or your account lacks access to this product |
| `403` | Account not activated, trial ended, or a `trust.source.type` filter your plan does not include |
| `429` | Rate limit exceeded or insufficient credits |

> [!TIP]
> Need higher rate limits, more credits, or additional products? Contact **support@webz.io**.
