> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aibase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 品牌总览汇总

> 查询指定品牌在指定时间范围内的总览汇总：包括品牌当前期与上一期的 TOP1/TOP3 占位率、曝光度、AI 声量占比、口碑得分及各项环比变化值，同时返回行业均值对比数据（行业均值曝

查询指定品牌在指定时间范围内的总览汇总：包括品牌当前期与上一期的 TOP1/TOP3 占位率、曝光度、AI 声量占比、口碑得分及各项环比变化值，同时返回行业均值对比数据（行业均值曝光率、口碑得分、TOP1/TOP3 占比、AI 声量表现、GEO 综合得分）。

<Info>
  **执行模式：SYNC · 实时请求。**
  请求发出后服务端同步执行业务，结果直接在当前响应的 `data` 中返回，不存在异步任务、无需轮询、无需二次查询。
</Info>

## 接口速查

| 项目 | 当前接口约定 |
| - | - |
| 接口状态 | 已上线 |
| 请求方式 | `POST` |
| 请求地址 | `https://geobaseapi.aibase.com/v1/openapi/execute` |
| 业务标识 | `brand.overview` |
| 执行模式 | **SYNC · 实时请求**（直接返回，无需轮询） |
| 身份认证 | Header `AIBase-API-Key` |
| 请求格式 | `application/json` |
| 返回结构 | 对象结构（含 `brand` 与 `competitor`） |

## 请求头

<ParamField header="AIBase-API-Key" type="string" required>
  开发者 API Key，例如 `AIBase_xxx`。用于身份认证、有效期与调用权限校验，请仅在服务端保存和使用。
</ParamField>

<ParamField header="Content-Type" type="string" required>
  固定为 `application/json`。
</ParamField>

<ParamField header="AIBase-Request-Id" type="string">
  开发者自定义请求 ID，用于请求追踪；不传时系统自动生成 UUID。
</ParamField>

## 请求体

<ParamField body="apiCode" type="string" required>
  固定为 `brand.overview`
</ParamField>

<ParamField body="data.brandId" type="string" required>
  所属品牌 ID，为空返回 `4001`
</ParamField>

<ParamField body="data.llmName" type="string">
  按 AI 平台筛选，如 `deepseek`；不传返回全部平台
</ParamField>

<ParamField body="data.startDate" type="string">
  格式 `yyyy-MM-dd`；默认最近 7 天
</ParamField>

<ParamField body="data.endDate" type="string">
  格式 `yyyy-MM-dd`；默认今天，不能晚于今天
</ParamField>

<Note>
  时间范围规则：`startDate`/`endDate` 不传时默认查询最近 7 天；`endDate` 晚于今天会被自动截断为今天；起止时间跨度最大 6 个月；开始日期晚于结束日期将直接报错。上一期（previous）数据为当前时间范围往前平移相同天数所得。
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl --location 'https://geobaseapi.aibase.com/v1/openapi/execute' \
    --header 'Content-Type: application/json' \
    --header 'AIBase-API-Key: AIBase_xxxxxxxxxxxxxxxx' \
    --header 'AIBase-Request-Id: req-20260924-001' \
    --data '{
      "apiCode": "brand.overview",
      "data": {
        "brandId": "brand-001",
        "llmName": "deepseek",
        "startDate": "2026-09-01",
        "endDate": "2026-09-23"
      }
    }'
  ```

  ```python Python theme={null}
  import os
  import requests

  api_key = os.environ["AIBASE_API_KEY"]
  headers = {
      "AIBase-API-Key": api_key,
      "Content-Type": "application/json",
      "AIBase-Request-Id": "req-20260924-001",
  }

  res = requests.post(
      "https://geobaseapi.aibase.com/v1/openapi/execute",
      headers=headers,
      json={"apiCode": "brand.overview", "data": {"brandId": "brand-001", "llmName": "deepseek", "startDate": "2026-09-01", "endDate": "2026-09-23"}},
      timeout=60,
  )
  res.raise_for_status()
  payload = res.json()

  if payload["code"] == 200:
      print(payload["data"])
  ```

  ```javascript Node.js theme={null}
  const res = await fetch("https://geobaseapi.aibase.com/v1/openapi/execute", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "AIBase-API-Key": process.env.AIBASE_API_KEY,
      "AIBase-Request-Id": "req-20260924-001",
    },
    body: JSON.stringify({"apiCode": "brand.overview", "data": {"brandId": "brand-001", "llmName": "deepseek", "startDate": "2026-09-01", "endDate": "2026-09-23"}}),
  });

  const payload = await res.json();
  if (payload.code === 200) {
    console.log(payload.data);
  }
  ```

  ```java Java theme={null}
  String body = """
  {
    "apiCode": "brand.overview",
    "data": {
      "brandId": "brand-001",
      "llmName": "deepseek",
      "startDate": "2026-09-01",
      "endDate": "2026-09-23"
    }
  }
  """;

  HttpRequest request = HttpRequest.newBuilder()
      .uri(URI.create("https://geobaseapi.aibase.com/v1/openapi/execute"))
      .header("Content-Type", "application/json")
      .header("AIBase-API-Key", "AIBase_xxxxxxxxxxxxxxxx")
      .header("AIBase-Request-Id", "req-20260924-001")
      .POST(BodyPublishers.ofString(body))
      .build();

  HttpResponse<String> response = HttpClient.newHttpClient()
      .send(request, BodyHandlers.ofString());
  System.out.println(response.body());
  ```
</RequestExample>

## 返回参数

业务结果位于 `data`，为对象结构，包含品牌趋势分析（`brand`）与竞品平均指标（`competitor`）两部分。

<ResponseField name="brand" type="object">
  品牌当前期与上一期的核心指标及变化值。
</ResponseField>

<ResponseField name="brand.currentTop3Rate" type="number">
  品牌当前 TOP3 占位率（%）。
</ResponseField>

<ResponseField name="brand.currentTop1Rate" type="number">
  品牌当前 TOP1 占位率（%）。
</ResponseField>

<ResponseField name="brand.currentVisibilityRate" type="number">
  品牌当前曝光度（%）。
</ResponseField>

<ResponseField name="brand.currentBrandRate" type="number">
  品牌当前 AI 声量占比（%）。
</ResponseField>

<ResponseField name="brand.previousTop3Rate" type="number">
  上一期 TOP3/TOP1 占位率、曝光度、AI 声量占比（%）。
</ResponseField>

<ResponseField name="previousTop1Rate" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="previousVisibilityRate" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="previousBrandRate" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="brand.top3RateDiff" type="number">
  TOP3/TOP1 占位率、曝光度、AI 声量占比较上期的变化值（百分点）。
</ResponseField>

<ResponseField name="top1RateDiff" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="visibilityRateDiff" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="brandRateDiff" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="brand.currentSentimentScore" type="number">
  当前口碑得分、上一期口碑得分、口碑得分较上期变化值。
</ResponseField>

<ResponseField name="previousSentimentScore" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="sentimentScoreDiff" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="brand.avgComprehensiveScore" type="number">
  品牌 GEO 综合得分。
</ResponseField>

<ResponseField name="competitor" type="object">
  行业/竞品均值对比数据。
</ResponseField>

<ResponseField name="competitor.avgVisibilityRatePercent" type="number">
  行业均值曝光率（%）。
</ResponseField>

<ResponseField name="competitor.avgSentimentScore" type="number">
  行业均值口碑得分。
</ResponseField>

<ResponseField name="competitor.avgTop1Rate" type="number">
  行业均值 TOP1 占比、TOP3 占比（%）。
</ResponseField>

<ResponseField name="avgTop3Rate" type="number">
  同上，见上方分页字段说明。
</ResponseField>

<ResponseField name="competitor.avgBrandRate" type="number">
  行业均值 AI 声量表现（%）。
</ResponseField>

<ResponseField name="competitor.avgComprehensiveScore" type="number">
  行业均值 GEO 综合得分。
</ResponseField>

<ResponseExample>
  ```json 200 (成功响应) theme={null}
  {
    "code": 200,
    "msg": "成功",
    "data": {
      "brand": {
        "currentTop3Rate": 85.5,
        "currentTop1Rate": 42.1,
        "currentVisibilityRate": 78.2,
        "currentBrandRate": 35.6,
        "previousTop3Rate": 80.1,
        "previousTop1Rate": 38.9,
        "previousVisibilityRate": 72.5,
        "previousBrandRate": 31.2,
        "top3RateDiff": 5.4,
        "top1RateDiff": 3.2,
        "visibilityRateDiff": 5.7,
        "brandRateDiff": 4.4,
        "currentSentimentScore": 82.5,
        "previousSentimentScore": 80.1,
        "sentimentScoreDiff": 2.4,
        "avgComprehensiveScore": 86.3
      },
      "competitor": {
        "avgVisibilityRatePercent": 45.2,
        "avgSentimentScore": 75.6,
        "avgTop1Rate": 18.3,
        "avgTop3Rate": 46.8,
        "avgBrandRate": 22.5,
        "avgComprehensiveScore": 72.4
      }
    },
    "timeStamp": 1788830174812
  }
  ```
</ResponseExample>

## 接入注意事项

1. `apiCode` 必须固定为 `brand.overview`。
2. `brandId` 为必填参数，为空返回 `4001`（所需参数不足）。
3. `startDate`/`endDate` 格式必须为 `yyyy-MM-dd`，默认最近 7 天，最大查询跨度 6 个月。
4. 返回结构为对象（非分页、非数组），包含 `brand` 与 `competitor` 两部分。
5. 上一期（previous）数据由当前时间范围向前平移相同天数得到。
6. 各指标字段可能为 `null` 或 `0`，解析时做好空值兼容。
7. 变化值（diff）单位为百分点。

<AccordionGroup>
  <Accordion title="Java 返回对象">
    ```java theme={null}
    public class BrandOverviewData {
        private BrandTrendAnalysis brand;
        private CompetitorAverageMetrics competitor;
    }

    public class BrandTrendAnalysis {
        private BigDecimal currentTop3Rate;
        private BigDecimal currentTop1Rate;
        private BigDecimal currentVisibilityRate;
        private BigDecimal currentBrandRate;
        private BigDecimal previousTop3Rate;
        private BigDecimal previousTop1Rate;
        private BigDecimal previousVisibilityRate;
        private BigDecimal previousBrandRate;
        private BigDecimal top3RateDiff;
        private BigDecimal top1RateDiff;
        private BigDecimal visibilityRateDiff;
        private BigDecimal brandRateDiff;
        private BigDecimal currentSentimentScore;
        private BigDecimal previousSentimentScore;
        private BigDecimal sentimentScoreDiff;
        private BigDecimal avgComprehensiveScore;
    }

    public class CompetitorAverageMetrics {
        private BigDecimal avgVisibilityRatePercent;
        private BigDecimal avgSentimentScore;
        private BigDecimal avgTop1Rate;
        private BigDecimal avgTop3Rate;
        private BigDecimal avgBrandRate;
        private BigDecimal avgComprehensiveScore;
    }
    ```

    完整响应类型可表示为 `ReturnResult<BrandOverviewData>`（`ReturnResult` 定义见 6.2.5）。
  </Accordion>

  <Accordion title="TypeScript 类型">
    ```typescript theme={null}
    export interface BrandOverviewData {
      brand: BrandTrendAnalysis;
      competitor: CompetitorAverageMetrics;
    }

    export interface BrandTrendAnalysis {
      currentTop3Rate: number | null;
      currentTop1Rate: number | null;
      currentVisibilityRate: number | null;
      currentBrandRate: number | null;
      previousTop3Rate: number | null;
      previousTop1Rate: number | null;
      previousVisibilityRate: number | null;
      previousBrandRate: number | null;
      top3RateDiff: number | null;
      top1RateDiff: number | null;
      visibilityRateDiff: number | null;
      brandRateDiff: number | null;
      currentSentimentScore: number | null;
      previousSentimentScore: number | null;
      sentimentScoreDiff: number | null;
      avgComprehensiveScore: number | null;
    }

    export interface CompetitorAverageMetrics {
      avgVisibilityRatePercent: number | null;
      avgSentimentScore: number | null;
      avgTop1Rate: number | null;
      avgTop3Rate: number | null;
      avgBrandRate: number | null;
      avgComprehensiveScore: number | null;
    }
    ```

    可按以下 TypeScript 类型定义解析响应数据。
  </Accordion>
</AccordionGroup>

<Note>
  本页的 cURL 与 Java 示例来自官方接口文档；Python 与 Node.js 示例为等价转写，未经服务端联调，请以实际返回结果为准。
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.