Aggregated metrics summary
Changed onSame as /metrics/timeseries but adds a summary block with total/min/max/last per metric per actor, plus a position_distribution block (Position 1, Position 2, Position 3+). Citations and citation rate include visible citations and background source references. Background references use position 0 and are excluded from avg_position and position distributions. total is a SUM for count metrics (mentions, citations, responses) and an AVERAGE across periods for rate/percentage and average metrics (visibility/mention_rate, citation_rate, ai_visibility_score, sentiment shares, avg_position, avg_mention_position, net_sentiment); rates are never summed. Each summary row carries an aggregation field (sum or average).
Request
- Base URLhttps://api.llmpulse.ai/api/v1
- AuthAPI key in header Authorization
Query parameters
Project ID
Comma-separated list of metrics: mentions, citations, responses, mention_rate, visibility (alias for mention_rate), weighted_visibility, ai_visibility_score (alias for weighted_visibility), citation_rate, avg_position, avg_mention_position, net_sentiment, sentiment_very_positive, sentiment_positive, sentiment_neutral, sentiment_negative, sentiment_very_negative. Citations and citation_rate include visible citations and background source references; avg_position uses visible citations only.
Number of days to look back (alternative to from/to)
End of the window. A date-only value such as 2026-09-01 covers that whole day. Pass a full timestamp to end the window earlier.
Comma-separated competitor IDs (unknown IDs return ERR_INVALID_PARAM)
Filter by one AI model. It must be a model enabled for the API key's user: an unknown value, or a model the user has not enabled, returns 422 ERR_INVALID_PARAM with the valid values in the message. The legacy values google-ai-mode and google-ai-overview are also accepted, as ai_mode and ai_overview.
One collection/tag ID or a comma-separated list of IDs. A query value is always a string on the wire, so it is typed as one: the previous integer-or-string union made generators emit a wrapper type they could not serialize.
Filter by prompt ID
One prompt type or a comma-separated list: informational, navigational, commercial, transactional
Filter by brand kind: brand (own brand/products), brand_other (competitors/other brands), non_brand (generic, no brand named). For fair 1:1 brand-vs-competitor comparisons (visibility, share of voice), use non_brand: brand-focused prompts skew results toward the brand they name. The in-app Overview page applies non_brand by default.
Rectangular output for BI tools (Tableau, Excel, Sheets, ELT). Omit for the default nested JSON. 'flat' returns the same metadata plus 'columns' and 'rows'; 'csv' returns those rows as text/csv. Errors are always returned as JSON.
One ISO country code or a comma-separated list (e.g. US,GB,DE)
One ISO language code or a comma-separated list (e.g. en,es,de)
Response
Summary metrics
Changes
- info
added the new optional
queryrequest parametercountry_code - info
added the new optional
queryrequest parameterinclude_project - info
added the new optional
queryrequest parameterlanguage_code
- info
- info
added the non-success response with the status
- info
added the non-success response with the status
- info