Shopping
Brands
POST
This report shows brand visibility in ChatGPT shopping results. It gives how
often each brand appears, its average position, and its rank. Select the brands
with
assets. Divide the results with group_by. Each metric is a named field
on the row.
- Metrics:
visibility_score(the share of shopping results that include the brand);average_position(the average rank when the brand appears — a lower number is better);visibility_rank. group_by:date,topic,region, orprompt.- Brand selection: Select the brands with the
assetsparameter. Give one name or a list.scope: "all"ranks all brands.scope: "owned"(the default) returns only your brands. Anassetsselection returns one page and ignoreslimit. - Filter fields:
topic,region,persona,prompt,tag.
Shopping data comes from ChatGPT only. No shopping report has a
model
group_by or a model filter.The v2 reports share one request shape. For the filter tree, grouping, and
pagination, see Filtering & concepts.
Streaming (SSE) variant (same body, /stream)
Streaming (SSE) variant (same body, /stream)
POST /v2/reports/shopping/brands/stream uses the same request body. It
returns Server-Sent Events:
one summary event (the info block), then one result event for each row.
The stream rejects limit and cursor. It returns all rows by default. To
set a maximum, use max_results (maximum 50000). Use the stream to get a
large result in one request.Authorizations
Body
application/json
YYYY-MM-DD, ET, inclusive
YYYY-MM-DD, ET, inclusive
Available options:
date, topic, region, prompt Available options:
visibility_score, average_position, visibility_rank Available options:
day, week, month Available options:
owned, all Restrict to these asset names (a name or list). Overrides scope.
A leaf (field/op/value) or an and/or/not group.
Page size for scope=all; default 10, max 50.
Required range:
0 < x <= 50Stream endpoint only: cap the number of streamed rows (default: all).
Required range:
0 < x <= 50000