Skip to main content
POST
Per-brand sentiment as positive/negative percentages (0–100). asset is required (sentiment is per-brand). Add comparison_start_date / comparison_end_date to get a previous block on each row for period-over-period deltas in a single call.
  • Metrics: positive_sentiment, negative_sentiment (sum to 100 per row), and occurrence (opt-in; needs theme/claim grouping or filtering).
  • group_by: up to two of topic, region, model, prompt, persona, tag, theme, claim, run, competitor (plus date).
  • Entity filters: theme / claim accept is/in, single value, name or id.
  • include_cited_websites: true adds cited_websites per row (with theme/claim grouping).
New to the v2 reports? See Filtering & concepts for the shared request shape, filter tree, grouping, and pagination.
POST /v2/reports/sentiment/stream takes the same request body and returns Server-Sent Events: one summary event (the info block), then one result event per row. limit/cursor are ignored; it returns everything by default. Pass max_results to cap.
Response (text/event-stream)

Authorizations

X-API-Key
string
header
required

Body

application/json
category_id
string<uuid>
required
asset
string
required

The brand name to analyze (sentiment is extracted on name, not id).

start_date
string
required

YYYY-MM-DD, ET, inclusive

end_date
string
required

YYYY-MM-DD, ET, inclusive

comparison_start_date
string | null

YYYY-MM-DD, ET, inclusive (with end).

comparison_end_date
string | null

YYYY-MM-DD, ET, inclusive (with start).

group_by
enum<string>[]
Available options:
date,
model,
topic,
region,
prompt,
persona,
tag,
theme,
claim,
run,
competitor
metrics
enum<string>[] | null
Available options:
positive_sentiment,
negative_sentiment,
occurrence
interval
enum<string>
default:day
Available options:
day,
week,
month
filter
FilterNode · object | null

A leaf (field/op/value) or an and/or/not group.

sort
SortSpec · object
include_cited_websites
boolean
default:false

Return cited websites per row (only when grouping by theme/claim).

limit
integer | null

Page size; default 10, max 50.

Required range: 0 < x <= 50
max_results
integer | null

Stream endpoint only: cap the number of streamed rows (default: all).

Required range: x > 0
cursor
string | null

Response

Successful Response

The response is of type Response Query Sentiment V2 V2 Reports Sentiment Post · object.