GET
    /v1/usage

    Usage

    Returns how much of your daily request quota is left. Calls to this endpoint never count against the quota, and it still answers after you hit the limit, telling you when requests will be allowed again.

    How the quota works

    Your limit covers a rolling 24-hour window, not a midnight reset: each request stops counting exactly 24 hours after you made it. See Rate Limiting for how the window works.

    The quota belongs to your account. Every API key you hold and every app you've connected (ChatGPT, Claude and other MCP connectors) share it, and this endpoint reports the shared total.

    Counts refresh about once a minute, so a request you've just made can take up to a minute to show in used.

    Every data response already carries the same remaining figure in its X-RateLimit-Remaining-Day header, and a 429 carries Retry-After. Use this endpoint when you want the numbers without making a data request, or when your client can't read response headers (an AI assistant, for example).

    Parameters

    None. Send your API key in the X-API-Key header, as with every other call.

    Code Examples

    javascript
    const response = await fetch('https://api.formfav.com/v1/usage', {
      headers: { 'X-API-Key': 'your_api_key_here' }
    });
    
    const usage = await response.json();
    if (usage.overQuota) {
      console.log(`Quota used up. Requests allowed again at ${usage.availableAt}`);
    } else if (!usage.unlimited) {
      console.log(`${usage.remaining} of ${usage.limit} requests left`);
    }

    Response Fields

    tierstring
    Your plan: free, pro, premium or enterprise
    unlimitedboolean
    true when your plan has no daily limit
    limitinteger
    Requests allowed in any 24 hours. Omitted when unlimited.
    usedinteger
    Requests counted in the last 24 hours, across all your keys and connected apps
    remaininginteger
    Requests left before you reach the limit. Omitted when unlimited.
    overQuotaboolean
    true while data requests are refused with 429 because the limit has been reached
    availableAtstring
    Only while overQuota is true: when requests will be allowed again (UTC, ISO 8601). Accurate to within about five minutes, and never early.

    If live counts are briefly unavailable, used, remaining and overQuota are left out and the response carries your tier and limit only.

    Example Response

    200
    Response
    json
    {
      "tier": "free",
      "unlimited": false,
      "limit": 1000,
      "used": 577,
      "remaining": 423,
      "overQuota": false
    }

    After the limit is reached:

    200
    Response
    json
    {
      "tier": "free",
      "unlimited": false,
      "limit": 1000,
      "used": 1000,
      "remaining": 0,
      "overQuota": true,
      "availableAt": "2026-10-28T09:05:00Z"
    }