---
title: "GET /api/feed/v1/usage"
method: GET
path: "/api/feed/v1/usage"
tags: ["Feed"]
---

# GET /api/feed/v1/usage

`GET /api/feed/v1/usage`

## Request

- Base URL: `https://api.findticker.com`
- URL: `https://api.findticker.com/api/feed/v1/usage`
- Auth: HTTP bearer

## Response `200`

This account's feed spend: the billing cycle's budget, what each key spent today, and 30 UTC days of history, newest first. Two sources answer two different questions. The unit counts are the meter, written on every billed request, and they are authoritative. The per-route and per-key splits are the request log, which records the route and the key and can be turned off or drop rows under load; a date the log cannot account for is marked partial and its units stay the meter's number. This route costs no units and the unit budget does not refuse it.

- FeedUsage
  - `cycle` FeedUsageCycle, required
    - `first` string, required: The first UTC date of the account's billing cycle.
    - `renews_on` string, required: The UTC date the next billing cycle begins.
    - `limit` integer, required: Units this account may spend in one billing cycle.
    - `used` integer, required: Units the meter has counted this billing cycle. A batch admitted with one unit of headroom left may finish above the limit, so this can exceed limit.
    - `remaining` integer, required
    - `burst_per_minute` integer, required: Requests per minute, per account, above which a request is refused.
    - `burst_per_hour` integer, required: Requests per hour, per account, above which a request is refused.
    - `resets_at` string, required: When the cycle's allowance refills: 00:00 UTC on renews_on.
  - `today` FeedUsageToday, required: Deprecated. Read `cycle`.
    - `limit` integer, required: Deprecated: read cycle.limit. The billing cycle's allowance.
    - `used` integer, required: Deprecated: units the meter counted today (UTC date). The allowance is cycle.used.
    - `remaining` integer, required: Deprecated: read cycle.remaining. What the billing cycle has left.
    - `burst_per_minute` integer, required: Deprecated: read cycle.burst_per_minute.
    - `resets_at` string, required: Deprecated: the next 00:00 UTC, when `used` starts again. The allowance resets at cycle.resets_at.
  - `keys` FeedUsageKey[], required: The account's live keys, plus any revoked key that spent today, ordered by what they spent today.
    - `key_prefix` string, required: The key's public prefix, the same string the settings page shows. The secret and its hash are never returned.
    - `label` string, required
    - `units_today` integer, required: Units this key spent today, from the request log. Keys share one account allowance.
    - `last_used_at` string, nullable, required
  - `history` FeedUsageDay[], required: 30 UTC days, newest first, inclusive of today.
    - `day` string, required
    - `units` integer, required: Units the meter counted on this UTC date.
    - `by_route` object, required: Units per route on this day, from the request log. A route that was called but cost nothing appears at 0.
    - `partial` boolean, required: True when the request log cannot account for the day's units, so by_route and the per-key split are incomplete for it. units stays the meter's number and is always whole.

## Other responses

- `400`: Validation error, an unknown `columns` name (the message lists the valid set), or a batch over the size bound.
- `401`: Missing or invalid API key.
- `403`: The key's account is not entitled to the feed, or the account or the address it calls from is blocked (`reason` `blocked`).
- `429`: Per-minute burst ceiling exhausted. The unit budget never refuses this route.
- `500`: Internal Server Error.

---

[API](https://skmtc.dev/findticker/apis/ticker-api.md) · [All operations](https://skmtc.dev/findticker/apis/ticker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/findticker/apis/ticker-api/revisions/b6229ca924f4?raw)
