New Orchly MCP & API are live. Build custom workflows with your SEO & AI visibility data.
GET /shopping/visibility

Shopping visibility

Your product visibility in AI shopping answers.

Authenticate with Authorization: Bearer obk_live_xxx. See authentication.

Parameters

NameInTypeRequiredDescription
X-Workspace-Id header string required The workspace to scope the request to. Can also be passed as a `workspace_id` query parameter.
start_date query string (date) optional Start of the range, YYYY-MM-DD. Defaults to 28 days ago.
end_date query string (date) optional End of the range, YYYY-MM-DD. Defaults to today.
brand_id query string optional Which brand to report on. You can also pass `brand_name` or `brand_domain`. Defaults to your own brand.
platform query string optional Comma-separated AI platforms (e.g. `chatgpt,perplexity`). Defaults to all.
topic_id query string optional Comma-separated topic IDs. Defaults to all.
country query string optional Comma-separated countries. Defaults to all.

Responses

200 OK
FieldTypeDescription
workspace_id string
range Range
visibility object[]
403 The key lacks the required scope, or the feature needs a higher plan

Example request

curl --request GET \
  --url https://app.orchly.ai/api/v1/shopping/visibility \
  --header 'Authorization: Bearer obk_live_xxx' \
  --header 'X-Workspace-Id: ws_xxx'
const res = await fetch(`https://app.orchly.ai/api/v1/shopping/visibility`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer obk_live_xxx',
    'X-Workspace-Id': 'ws_xxx',
  },
});
const data = await res.json();
import requests

resp = requests.get(
    "https://app.orchly.ai/api/v1/shopping/visibility",
    headers={
        "Authorization": "Bearer obk_live_xxx",
        "X-Workspace-Id": "ws_xxx",
    },
)
data = resp.json()

Example response

A 200 response. Dynamic fields are shown as their type.

{
  "workspace_id": "string",
  "range": {
    "start_date": "2026-01-01",
    "end_date": "2026-01-01"
  },
  "visibility": [
    {}
  ]
}