Skip to main content
POST
Get Shopping Report

Authorizations

X-API-KEY
string
header
required

Body

application/json

Request parameters for the Shopping Report API.

project_id
string
required

Unique identifier of the project to query. Get valid project IDs from get_all_projects.

Minimum string length: 1
Example:

"550e8400-e29b-41d4-a716-446655440000"

dimensions
enum<string>[]
required

Dimensions to group shopping data by. At least one dimension is required.

Minimum array length: 1

Dimensions to group report data by. Each report accepts a subset; unsupported dimensions are rejected with 400.

  • topic: Group by topic/category
  • tag: Group by tag
  • market: Group by market/region
  • model: Group by AI model (e.g. ChatGPT, Perplexity)
  • query: Group by individual query/prompt
  • date: Group by date (requires date_aggregation_interval)
  • website: Group by tracked website
  • shopping: Group by whether the response has a shopping card (true/false)
  • ads: Group by whether the response has sponsored/ad placements (true/false)
  • branded: Group by whether the underlying query is branded (true/false)
  • persona: Group by the persona prompt target attached to the query
  • intent_stage: Group by the intent-stage prompt target attached to the query
  • locality: Group by the locality prompt target attached to the query
  • search_intent: Group by the query's dominant search intent (transactional, navigational, informational, commercial)
  • domain: Group by cited domain (citations report only)
  • page: Group by cited page URL (citations report only)
  • source_type: Group by cited source type: owned, competitor, social_forums, third_party (citations report only)
  • theme: Group by sentiment theme (sentiments report only)
  • subtheme: Group by sentiment subtheme (sentiments report only)
  • keyword: Group by sentiment keyword (sentiments report only)
  • product: Group by shopping product / ad creative (shopping and ads reports only)
  • merchant: Group by the merchant offering a purchase link (shopping report only)
  • advertiser: Group by the advertiser that placed the ad (ads report only)
  • placement_type: Group by placement type (e.g. SHOPPING_CARD, AD_TEXT)
Available options:
topic,
tag,
market,
model,
query,
date,
website,
shopping,
ads,
branded,
persona,
intent_stage,
locality,
search_intent,
domain,
page,
source_type,
theme,
subtheme,
keyword,
product,
merchant,
advertiser,
placement_type
Examples:
start_date
string<date-time>

Start of the date range (ISO 8601). Limits results to data collected on or after this date. When omitted: defaults to the latest run's start date for metric queries, or earliest available date for list queries.

Examples:

"2026-01-01T00:00:00Z"

"2026-03-01T00:00:00Z"

end_date
string<date-time>

End of the date range (ISO 8601). Limits results to data collected on or before this date. When omitted: defaults to today. Date-only strings (no 'T') are extended to end of day.

Examples:

"2026-01-31T23:59:59Z"

"2026-03-17T23:59:59Z"

current_from
string<date-time>

Alias for start_date (analytics-tool date naming).

current_to
string<date-time>

Alias for end_date (analytics-tool date naming).

comparison_start_date
string<date-time>

Start of the comparison (past) date range (ISO 8601). Provide together with comparison_end_date to additionally compute every measure over this past range — each row then includes previous_ values calculated with identical dimensions, measures, and filters.

Example:

"2026-07-25T00:00:00Z"

comparison_end_date
string<date-time>

End of the comparison (past) date range (ISO 8601). Required together with comparison_start_date. Date-only strings (no 'T') are extended to end of day, same as end_date.

Example:

"2026-07-31T23:59:59Z"

previous_from
string<date-time>

Alias for comparison_start_date (analytics-tool date naming).

previous_to
string<date-time>

Alias for comparison_end_date (analytics-tool date naming).

order_by
SortingOrder · object[]

Sort results by one or more fields. Each entry specifies a field name and direction. Results are sorted by the first entry, then ties broken by subsequent entries.

Examples:
pagination
PaginationInput · object

Control result pagination. Set limit for page size and offset to skip results. Omit to return all results (use with caution on large datasets).

Examples:
measures
enum<string>[]

Shopping metrics to include. If empty, all measures are returned.

Shopping metrics to include in the report.

  • shopping_visibility: Percentage of shopping answers featuring this entity's product (0-100)
  • direct_link_share: Percentage of this entity's placements carrying a purchase link to its own site (0-100)
  • share_of_shopping_voice: This entity's placements as a percentage of all tracked-brand placements in the group (0-100)
  • product_rank: Average position of the product within the shopping card (lower is better)
  • answers_with_product: Number of distinct answers featuring this entity's product
  • product_mentions: Total number of product placements
  • unique_products: Number of distinct products placed
  • unique_merchants: Number of distinct merchants offering a purchase link
  • buy_link_count: Number of purchase links attributed to this entity
  • buy_link_share: Purchase links attributed to this entity as a percentage of the group total (0-100)
  • shopping_answers: Total answers in the group containing any shopping placement (the shopping_visibility denominator)
  • avg_price: Average quoted price across purchase links; also returns avg_price_currency
Available options:
shopping_visibility,
direct_link_share,
share_of_shopping_voice,
product_rank,
answers_with_product,
product_mentions,
shopping_answers,
unique_products,
unique_merchants,
buy_link_count,
buy_link_share,
avg_price
Example:
filters
ShoppingFiltersInput · object

Narrow results by topics, markets, products, merchants, price, etc. All filters combine with AND logic.

date_aggregation_interval
enum<string>

Optional. When using the 'date' dimension, controls time-series bucket size. Defaults to 'day'.

Available options:
day,
week,
month
Examples:

"week"

"month"

website_type
enum<string>

Scope results by brand ownership. 'SELF' = your brand's products only, 'SELF+COMPETITORS' = plus competitors, 'ALL' = including untracked third-party brands.

Available options:
SELF,
SELF+COMPETITORS,
ALL
Example:

"SELF+COMPETITORS"

Response

Successful Response

Response containing shopping report data.

info
ResponseInfo · object

Information of the API request including total count and query details

data
ShoppingDataRow · object[]

Array of shopping data rows grouped by the requested dimensions