---
title: "Current ledger balance for the caller's org."
method: GET
path: "/v1/credits"
tags: ["Credits"]
---

# Current ledger balance for the caller's org.

`GET /v1/credits`

## Request

- Base URL: `https://api.on-page.ai`
- URL: `https://api.on-page.ai/v1/credits`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/on-page/apis/on-page-ai-api/docs/v1/credits/get.ts> (a function with typed inputs; its response is checked against the schema)

## Response `200`

Credit balance

- CreditsResponse: Current ledger snapshot for the caller's org. Use `available_credits` and `reserved_credits`; the millicredit fields remain for existing integrations.
  - `poweredBy` 'On-Page.ai', required
  - `available_credits` number, required
  - `reserved_credits` number, required
  - `available_millicredits` integer, required
  - `reserved_millicredits` integer, required

## Other responses

- `401`: Unauthorized
- `403`: Scope forbidden
- `429`: Too many requests. Body is a `oneOf` of rate-limit / org-active-limit / org-queued-limit / scan-queue-saturated variants — branch on `error.code`. `Retry-After` is present when the limiter emits it; `X-RateLimit-*` is present on rate-limit-middleware 429s; `X-Concurrency-*` is present on concurrency-limit 429s (ORG_ACTIVE_LIMIT_REACHED / ORG_QUEUED_LIMIT_REACHED).
- `500`: Internal error

---

[API](https://skmtc.dev/on-page/apis/on-page-ai-api.md) - [All operations](https://skmtc.dev/on-page/apis/on-page-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/on-page/apis/on-page-ai-api/revisions/a081e8701c19?raw)
