Count the AI usage of a site over time

get_site_ai_stats

Counts the AI requests, tokens and credits of a site over a period, per hour, day or month and per model, the way the Insights tab shows them.

The answer is stats. totals covers the whole window with requests, errors, inputTokens, outputTokens and credits. series holds one entry per hour, day or month, as granularity says, with the bucket in date as YYYY-MM-DDTHH:00, YYYY-MM-DD or YYYY-MM in UTC and the same five counts. A bucket without a request comes back as zeros, so the list always covers the full window. day and 24h come by the hour, 12mo and all by the month and the other periods by the day, and a custom range by the hour, day or month depending on how long it is.

models splits the counts of the window per model the site asked for, with each model's averageLatencyMs, most credits first. errors counts the requests that failed, which cost nothing. credits is what the requests cost, rounded to two decimals, which is not the same as the usage the site bought from the workspace: get_site_ai_settings carries this month's purchases as creditsBought.

These are the numbers the Insights tab of the AI tab draws, and list_site_ai_requests lists the requests behind them one by one. Only these counts are kept: what your visitors asked and what the AI answered is never stored. See Insights and history.

Inputs

Input Type Required Description
projectId string Yes The site id.
period string No One of day, 24h, 7d, 30d, 90d, 12mo or all. day is today so far, from midnight UTC, 24h is the current hour and the 23 before it, 7d, 30d and 90d are the last 7, 30 and 90 days counting today, 12mo is this month and the 11 before it, and all reaches back to the first request. Defaults to the last 30 days, and is left out when you send from and to.
from string No The first day of a custom range as YYYY-MM-DD in UTC, sent together with to.
to string No The last day of a custom range as YYYY-MM-DD in UTC, included in the range and sent together with from.