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

> ## Agent Instructions
> Base URL: https://api.eventory.ai. Send your API key in the apikey header. Market Data and Live Availability calls cost credits, pings included; GET /usage is free, so use it to test a key. Costs per endpoint: https://eventory.ai/docs/credits-and-access.md

# API rate limits

> Live Availability is limited to 30 requests per minute per account. Every other API is not rate limited.

Only the **Live Availability** API is rate limited. It allows **30 requests per
minute** per account by default, across `POST /events/scrape`,
`GET /events/platforms` and `GET /events/ping` combined.

| API | Endpoints | Rate limit |
| - | - | - |
| Live Availability | `POST /events/scrape`, `GET /events/platforms`, `GET /events/ping` | **30 / minute** |
| Market Data | `/eventory/data/…` | None |
| Watchlist | `/watchlist…` | None |
| Notifications API | `wss://…/eventory/notifications/subscribe` | None |
| Account | `GET /usage` | None |

The limit is keyed on your authenticated identity, not on your IP address, so
several machines sharing one key share one budget. It is a token bucket: you can
send a burst of up to 30 requests at once, and capacity then refills at one request
every two seconds.

Exceeding it returns `429` with the gateway error envelope:

```json theme={null}
{ "error": { "code": "rate_limited", "message": "Too many requests. Please slow down." } }
```

No `Retry-After` or `X-RateLimit-*` headers are sent, so pace yourself with the
backoff below.

Rate-limited requests are **not billed**. The check runs after authentication and
before metering.

Endpoints without a rate limit are still bounded by your credits: paid Market Data
requests draw down your balance, and a runaway loop spends it. See
[Credits & access](/docs/credits-and-access.md).

## For the WebSocket stream

The stream is not rate limited, but always reconnect with exponential backoff anyway.
A tight reconnect loop gains nothing and hammers the service while it recovers. See
[Connecting to the stream](/docs/stream/connecting.md).

## Handling a 429

* Wait before retrying. Start at one second and double on each consecutive `429`,
  capping at 30 seconds.
* Do not retry in a loop without a delay; each attempt counts.
* If you legitimately need more than 30 Live Availability requests per minute,
  contact Eventory. Higher limits are configured per account.

## Timeouts

Live Availability scrapes can take up to 60 seconds and return `408` when the
platform does not answer in time. Set your client timeout to 65 seconds for
`POST /events/scrape`. Every other endpoint normally answers in well under a second.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.