Back to docs

Account

GET /account

Check what your account can use, what remains, when allowances reset and what to do next.

The response below is a synthetic example.

Request

Call from your server with a secret API key in X-API-Key or Authorization: Bearer. The response covers the key's organization, including work through its other keys. Public and app keys cannot inspect the account.

Inspection is free and consumes no request allowance, included product units or additional spend. It remains available after ordinary lookup rate, allowance or spending exhaustion.

Request
curl "https://api.parseapi.com/account" \
  -H "X-API-Key: YOUR_SECRET_API_KEY"

Parse-Version does not change this response. Add pretty=true to format the JSON. The complete account snapshot is returned by default.

Example response

This full synthetic response shows one account's pooled allowance, product balances, additional-unit prices and shared spending cap. Your enabled products and account terms determine the values returned.

Example response
{
  "plan": "pro",
  "status": "available",
  "requests": {
    "allowance": "limited",
    "remaining": 49880
  },
  "requests_per_minute": 1000,
  "resets_at": "2026-11-01T00:00:00.000Z",
  "products": {
    "email": {
      "status": "available",
      "remaining": 50,
      "on_demand": true,
      "price_usd": "0.0070"
    },
    "vat": {
      "status": "available",
      "remaining": 90,
      "on_demand": true,
      "price_usd": "0.0050"
    },
    "carrier": {
      "status": "available",
      "remaining": 90,
      "on_demand": true,
      "price_usd": "0.0050"
    },
    "caller": {
      "status": "available",
      "remaining": 90,
      "on_demand": true,
      "price_usd": "0.0050"
    },
    "hlr": {
      "status": "available",
      "remaining": 90,
      "on_demand": true,
      "price_usd": "0.0050"
    }
  },
  "spend": {
    "status": "limited",
    "limit_usd": "10.0000",
    "remaining_usd": "8.5000"
  },
  "snapshot_at": "2026-10-10T12:00:00.000Z"
}

Read the snapshot

Check the top-level status for account access and pooled request availability together. A top-level restriction applies to every product. Then check each entry in products for that product's availability. An available product with a positive remaining uses included units. With zero included units, it uses paid units when on_demand is enabled and the product is available. For blocked or unknown availability, check the returned reason and actions.

Compare pooled requests with included product units separately. Additional paid units do not increase the pooled allowance. All products draw from one shared additional-spending balance. Prices and spending balances are USD decimal strings with four decimal places.

A null balance carries no finite number. Inspect its allowance or spending-cap status to distinguish unknown information from unlimited or unenforced allowance. Treat a balance as unlimited only when that status explicitly says unlimited. Relevant restrictions include a machine-readable reason and suggested actions.

Balances can include capacity held for pending work. Inspection reserves no capacity and does not guarantee that a later lookup will be admitted. snapshot_at describes the original balance-read attempt. It does not establish when account terms changed or that all values were read together.

Response fields

planstring
Effective plan code.
statusavailable | blocked | unknown
Account access and the shared request allowance together. A top-level restriction applies to every product.
reason / actionsstring / array (optional)
A reason and recovery actions appear when relevant. Shared restrictions live at the top level. Product-specific restrictions appear on that product. Each action has action and optional url or at.
requests.allowancelimited | unlimited | not_enforced | unknown
Distinguishes a finite allowance, no ceiling, an unenforced allowance and unavailable information.
requests.remaininginteger | null
Available pooled allowance. Null has different meanings. Inspect allowance. Some batches consume more than one unit. Zero can still accompany available status at the allowance boundary or during grace.
requests.grace / grace_untilstring (optional)
Grace is pending, active or expired when relevant. The UTC grace_until deadline appears only when known.
requests_per_minute / burstinteger / integer (optional)
Ordinary lookup rate and, when applicable, burst allowance. These differ from inspection limits in the response headers.
resets_atUTC timestamp
Allowance reset at 00:00 UTC on the first day of the next month, separate from subscription renewal.
productsobject keyed by product
Metered products keyed by product name. URL and Screenshot appear when enabled. Allow additional product names with the same shape.
products.*.statusavailable | blocked | unknown
Current advisory availability. A top-level restriction applies to every product.
products.*.remaininginteger | null
Included units still available, accounting for pending work. Null means unknown. Zero can still allow additional paid checks when on_demand is enabled and status is available.
products.*.on_demandboolean | null
Whether additional paid units are enabled under accepted terms. Null means unknown. Use status to check availability.
products.*.price_usdUSD string | null
Accepted price for an additional unit in USD. Included checks have no extra charge. For graduated Page pricing, the next unit has this maximum price. Its completed price can be lower as other work finishes.
spendobject
Shared spending cap: status is limited, unlimited, per_product or unknown. limit_usd and remaining_usd are USD strings or null. A null limit means unlimited only with unlimited status.
products.*.spend_capobject (optional)
Product cap exception, present when the common spend status is per_product or unknown. Products still draw from one shared spending balance.
snapshot_atUTC timestamp | null
UTC time when the balance-read attempt began, or null if no snapshot result arrived in time. It can accompany unknown balances. Reused snapshots retain this time. It is not account-term age, last-change time, or a promise that all balances were read at one instant.

Polling and errors

Check periodically and follow the returned inspection X-RateLimit-* headers. Inspection has a separate safety limit from ordinary lookups. The response's requests_per_minute describes ordinary lookups. X-RateLimit-Reset gives remaining seconds until the inspection limit resets.

Follow Retry-After whenever it is returned, including HTTP 200 snapshots with temporarily unknown balances, HTTP 429 and temporary HTTP 503 responses. A completed inspection returns HTTP 200 even when its account status is blocked or unknown. Keep responses private and keep your secret key on your server.

HTTP statusNext step
400Remove unsupported parameters or correct the pretty boolean.
401Check that the secret key is valid and active.
403Use a secret key from your server.
429Wait for Retry-After before inspecting again.
503Inspection is temporarily unavailable. Retry after the returned delay.

API key guide