---
title: "Get Account API Limits"
method: GET
path: "/account/limits"
tags: ["account"]
---

# Get Account API Limits

`GET /account/limits`

Endpoint to retrieve the authenticated user's Predictions API usage tier and token-bucket limits. Public Predictions tiers include Basic, Advanced, Expert, Premier, Paragon, Prime, and Prestige.

## Response `200`

Account API tier limits retrieved successfully

- GetAccountApiLimitsResponse
  - `usage_tier` string, required — User's effective Predictions API usage tier for these limits (for example, basic, advanced, expert, premier, paragon, prime, or prestige).
  - `read` BucketLimit, required — Token-bucket budget for one rate-limit bucket. Each request deducts tokens equal to its endpoint cost; the bucket refills at refill_rate tokens per second up to bucket_capacity. A request is allowed if the bucket holds enough tokens to cover its cost; otherwise the request is rejected with HTTP 429.
    - `refill_rate` integer, required — Tokens added to the bucket per second.
    - `bucket_capacity` integer, required — Maximum tokens the bucket can hold. When equal to refill_rate the bucket holds one second of budget; larger values represent burst headroom that idle clients accumulate and can spend in a single pulse (e.g. write buckets at non-Basic tiers hold two seconds of budget).
  - `write` BucketLimit, required — Token-bucket budget for one rate-limit bucket. Each request deducts tokens equal to its endpoint cost; the bucket refills at refill_rate tokens per second up to bucket_capacity. A request is allowed if the bucket holds enough tokens to cover its cost; otherwise the request is rejected with HTTP 429.
    - `refill_rate` integer, required — Tokens added to the bucket per second.
    - `bucket_capacity` integer, required — Maximum tokens the bucket can hold. When equal to refill_rate the bucket holds one second of budget; larger values represent burst headroom that idle clients accumulate and can spend in a single pulse (e.g. write buckets at non-Basic tiers hold two seconds of budget).
  - `grants` ApiUsageLevelGrant[], required — The caller's active API usage level grants across exchange lanes, where each grant applies to its exchange_instance and usage_tier reflects the effective tier for the lane reported by this endpoint.
    - `exchange_instance` 'event_contract' | 'margined', required — The exchange instance type
    - `level` string, required — API usage level this grant confers (for example, expert, premier, paragon, prime, or prestige).
    - `expires_ts` integer, nullable — Unix timestamp (seconds) when the grant expires. Absent for permanent grants.
    - `source` string, required — How the grant was created: "volume" (earned from trading volume) or "manual" (assigned by Kalshi).

## Other responses

- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.net/kalshi/apis/kalshi-trade-api-manual-endpoints.md) · [All operations](https://skmtc.net/kalshi/apis/kalshi-trade-api-manual-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kalshi/kalshi-trade-api-manual-endpoints/revisions/6aec27d55fba/schema)
