---
title: "List Plans"
method: GET
path: "/api/keys/plans"
tags: ["api-keys"]
---

# List Plans

`GET /api/keys/plans`

## Request

- Base URL: `https://api.halalterminal.com`
- URL: `https://api.halalterminal.com/api/keys/plans`
- Auth: none required

List all available API plans with pricing.

Returns every plan tier including name, monthly price, token
limits, overage rates, and included features. No authentication required.

**curl example**:
```bash
curl https://api.halalterminal.com/api/keys/plans
```

**Python example**:
```python
import requests

resp = requests.get("https://api.halalterminal.com/api/keys/plans")
for plan in resp.json()["plans"]:
    print(f"{plan['display_name']}: ${plan['price_monthly']}/mo — {plan['tokens_limit']} tokens")
```

## Response `200`

All available API subscription plans

- PlansResponse: List of all available API plans.
  - `plans` PlanInfo[], required: Available API subscription plans
    - `name` string, required: Machine-readable plan identifier
    - `display_name` string, required: Human-readable plan name
    - `price_monthly` number, nullable: Monthly price in USD, null for free tier
    - `tokens_limit` integer, required: Monthly token allowance (-1 = unlimited)
    - `requests_limit` integer, required: Monthly API request quota
    - `overage_rate` number, nullable: Per-token overage rate in USD, null if no overage
    - `features` string[], required: List of features included in this plan
    - `is_popular` boolean: Whether to highlight this plan in the UI

## Other responses

- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/halalterminal/apis/halal-terminal-api.md) · [All operations](https://skmtc.dev/halalterminal/apis/halal-terminal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/halalterminal/apis/halal-terminal-api/revisions/78768b250943?raw)
