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

# Get quota

> Check the caller's current credit balance and limit.

Returns the current credit balance for whoever is calling — anonymous, signed-in, or an API key. This is the same data that powers the credits bar on pocketutils.com. It's free to call, uncached, and doesn't count toward your rate limit's credit spend (it still counts as a request).

## Headers

<ParamField header="Authorization" type="string">
  `Bearer pu_live_...`. Omit entirely to check the anonymous allowance for your IP instead.
</ParamField>

## Response

The shape of `data` depends on the caller. Both share `callerKind`, `limit`, and `remaining`; a signed-in caller additionally gets `plan`.

<ResponseField name="success" type="boolean" required>
  Always `true` for this endpoint.
</ResponseField>

<ResponseField name="data" type="object" required>
  <Expandable title="properties" defaultOpen>
    <ResponseField name="callerKind" type="string" required>
      One of `"anonymous"`, `"session"`, `"apikey"`.
    </ResponseField>

    <ResponseField name="plan" type="string">
      `"FREE"`, `"STARTER"`, `"GROWTH"`, `"SCALE"`, or `"ENTERPRISE"`. Omitted when `callerKind` is `"anonymous"`.
    </ResponseField>

    <ResponseField name="limit" type="integer" required>
      Total credits available this cycle (or, for anonymous, per day).
    </ResponseField>

    <ResponseField name="remaining" type="integer" required>
      Credits left. For a signed-in caller this is cycle credits plus any unused top-up credits combined.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.pocketutils.com/v1/quota \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch("https://api.pocketutils.com/v1/quota", {
    headers: { Authorization: "Bearer YOUR_API_KEY" },
  });
  const { data } = await res.json();
  ```

  ```python Python theme={null}
  import requests

  res = requests.get(
      "https://api.pocketutils.com/v1/quota",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
  )
  data = res.json()["data"]
  ```
</RequestExample>

<ResponseExample>
  ```json API key / Starter plan theme={null}
  {
    "success": true,
    "data": {
      "callerKind": "apikey",
      "plan": "STARTER",
      "limit": 5000,
      "remaining": 4312
    }
  }
  ```

  ```json Anonymous theme={null}
  {
    "success": true,
    "data": {
      "callerKind": "anonymous",
      "limit": 10,
      "remaining": 7
    }
  }
  ```
</ResponseExample>


## Related topics

- [Rate Limits & Credits](/rate-limits-and-credits.md)
- [Introduction](/index.md)
- [Quickstart](/quickstart.md)
- [Errors](/errors.md)
- [Async Jobs & Polling](/async-jobs.md)
