---
title: "Query Visibility V2"
method: POST
path: "/v2/reports/visibility"
tags: ["Reports", "Reports"]
---

# Query Visibility V2

`POST /v2/reports/visibility`

## Request body

- VisibilityV2Query
  - `category_id` string, required
  - `start_date` string, required — YYYY-MM-DD, ET, inclusive
  - `end_date` string, required — YYYY-MM-DD, ET, inclusive
  - `group_by` string[]
  - `metrics` string[], nullable
  - `interval` 'day' | 'week' | 'month'
  - `scope` 'owned' | 'all'
  - `assets` union — A name (`is`), a list (`in`), or {op,value} with op `is`/`in`/`not_in`.
    - string
    - string[]
    - EntityFilterClause — Select/exclude the entity, applied outside the data `filter` tree.
      - `op` 'is' | 'not_is' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'matches' | 'contains_case_insensitive' | 'not_contains_case_insensitive', required
      - `value` union, required
        - string
        - string[]
  - `filter` FilterNode — A leaf (`field`/`op`/`value`) or an `and`/`or`/`not` group.
    - `and` FilterNode[], nullable
    - `or` FilterNode[], nullable
    - `not` FilterNode — recursive
    - `field` string, nullable
    - `op` string, nullable
    - `value` unknown
  - `sort` AppRoutesV2AnswerEngineInsightsReportsVisibilitySortSpec
    - `field` 'visibility_score' | 'share_of_voice' | 'average_position'
  - `limit` integer, nullable — Page size; default 10, max 50.
  - `max_results` integer, nullable — Stream endpoint only: cap the number of streamed rows (default: all).
  - `cursor` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/cooper-square-technologies/apis/external-api.md) · [All operations](https://skmtc.net/cooper-square-technologies/apis/external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cooper-square-technologies/external-api/versions/ab03b3c80494/schema)
