API Reference
Analytics
Aggregated metrics computed across the project's analyzed responses. Every analytics endpoint accepts a start_date and end_date together with a shared set of filter axes (platforms, countries, monitors, segments, and tags), and returns either a time series bucketed by interval (day, week, month, or year) or an aggregate list. When the window includes today, the result is cached until the next UTC midnight; otherwise it is cached for 24 hours.
Endpoints
-
GET
/api/v1/analytics/visibility-time-seriesVisibility time-seriesReturns the share of analyzed responses that mention each tracked brand, bucketed by
interval. You may scope the chart to a single brand by passingbrand_id, or to every brand in a segment by passingsegments. Otherwise, the result is capped to the toptop_nbrands by mention count, which defaults to 20 and may not exceed 50. -
GET
/api/v1/analytics/sentiment-time-seriesSentiment time-seriesReturns the average sentiment score, on a 0-100 scale, of each tracked brand's mentions, bucketed by
interval. You may scope the chart to a single brand by passingbrand_id, or to every brand in a segment by passingsegments. Otherwise, the result is capped to the toptop_nbrands by mention count. A per-bucket value isnullwhen the brand had no mentions in that bucket. -
GET
/api/v1/analytics/position-time-seriesPosition time-seriesReturns the average position of each tracked brand within the answers that mention it, bucketed by
interval. Position counts the brands in the order they appear in an answer, so a lower number is a more prominent placement and1is the first brand named. You may scope the chart to a single brand by passingbrand_id, or to every brand in a segment by passingsegments. Otherwise, the result is capped to the toptop_nbrands by mention count. A per-bucket value isnullwhen the brand had no mentions in that bucket. -
GET
/api/v1/analytics/share-of-voice-time-seriesShare-of-voice time-seriesReturns each tracked brand's mentions as a share of the mentions of the brands in the filter scope, per bucket. Without a
brand_idorsegmentsparameter, the scope is every tracked brand in the project. You may passsegmentsto read each share within the selected segments, since the segment scopes both the series and the denominator, orbrand_idto scope the ratio to a single brand, which reads100in any bucket where the brand has mentions and0where it has none. Thetop_ncap only limits how many series are returned and never affects the denominator. -
GET
/api/v1/analytics/source-usage-time-seriesSource usage time-seriesFor each top source, returns the percentage of analyzed responses in each bucket that cited that source. The result is capped to the top
top_nsources by citation count. Source-keyed analytics cannot be scoped by segment. -
GET
/api/v1/analytics/source-url-usage-time-seriesSource-URL usage time-seriesFor each top URL, returns the percentage of analyzed responses in each bucket that cited that exact URL. The result is capped to the top
top_nURLs. Source-keyed analytics cannot be scoped by segment. -
GET
/api/v1/analytics/brandsBrand analyticsReturns per-brand aggregates across the window: visibility, share of voice, average sentiment (0-100), and average position. Sentiment and position are
nullwhen the brand has no mentions in the window. Every tracked brand in scope is returned, including those with no mentions. The response is paginated. -
GET
/api/v1/analytics/monitorsMonitor analyticsReturns per-monitor aggregates across the filter window, scoped to a single brand. The response is paginated.
-
GET
/api/v1/analytics/promptsPrompt analyticsReturns per-prompt aggregates across the filter window, scoped to a single brand. Each row also lists the distinct tracked brands that were mentioned in the prompt's responses during the window. The response is paginated.
-
GET
/api/v1/analytics/platformsPlatform analyticsReturns per-platform aggregates across the filter window, scoped to a single brand. Every platform present in the filtered response set is returned; the result is not paginated.
-
GET
/api/v1/analytics/sourcesSource analyticsReturns per-source aggregates: the percentage of analyzed responses in the window that cited each domain, together with the average number of citations from that domain per analyzed response. The response is paginated. This endpoint may not be scoped by segment.
-
GET
/api/v1/analytics/source-urlsSource-URL analyticsReturns per-URL aggregates: the percentage of analyzed responses in the window that cited each URL, together with the average number of citations to it per analyzed response. The response is paginated. This endpoint may not be scoped by segment.
-
GET
/api/v1/analytics/source-urls/{source_url}/promptsSource URL prompt analyticsReturns per-prompt aggregates scoped to a single source URL: how many distinct analyzed responses on each prompt cited the URL during the window, and when the URL was most recently cited. The response is paginated. This endpoint may not be scoped by segment.
-
GET
/api/v1/analytics/source-typesSource-type breakdownReturns a citation breakdown across the source-type classifications, such as
blog,news, orforum. The result is unpaginated and contains one row per enum value. This endpoint may not be scoped by segment. -
GET
/api/v1/analytics/source-url-typesSource-URL-type breakdownReturns a citation breakdown across the URL-type classifications, such as
article,documentation, orproduct_page. The result is unpaginated and contains one row per enum value. This endpoint may not be scoped by segment.