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"
}
}'
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"])
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);
}
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());
{
"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
}
品牌总览汇总
查询指定品牌在指定时间范围内的总览汇总:包括品牌当前期与上一期的 TOP1/TOP3 占位率、曝光度、AI 声量占比、口碑得分及各项环比变化值,同时返回行业均值对比数据(行业均值曝
POST
/
v1
/
openapi
/
execute
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"
}
}'
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"])
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);
}
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());
{
"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
}
查询指定品牌在指定时间范围内的总览汇总:包括品牌当前期与上一期的 TOP1/TOP3 占位率、曝光度、AI 声量占比、口碑得分及各项环比变化值,同时返回行业均值对比数据(行业均值曝光率、口碑得分、TOP1/TOP3 占比、AI 声量表现、GEO 综合得分)。
完整响应类型可表示为
可按以下 TypeScript 类型定义解析响应数据。
执行模式:SYNC · 实时请求。
请求发出后服务端同步执行业务,结果直接在当前响应的
data 中返回,不存在异步任务、无需轮询、无需二次查询。接口速查
| 项目 | 当前接口约定 |
|---|---|
| 接口状态 | 已上线 |
| 请求方式 | POST |
| 请求地址 | https://geobaseapi.aibase.com/v1/openapi/execute |
| 业务标识 | brand.overview |
| 执行模式 | SYNC · 实时请求(直接返回,无需轮询) |
| 身份认证 | Header AIBase-API-Key |
| 请求格式 | application/json |
| 返回结构 | 对象结构(含 brand 与 competitor) |
请求头
string
required
开发者 API Key,例如
AIBase_xxx。用于身份认证、有效期与调用权限校验,请仅在服务端保存和使用。string
required
固定为
application/json。string
开发者自定义请求 ID,用于请求追踪;不传时系统自动生成 UUID。
请求体
string
required
固定为
brand.overviewstring
required
所属品牌 ID,为空返回
4001string
按 AI 平台筛选,如
deepseek;不传返回全部平台string
格式
yyyy-MM-dd;默认最近 7 天string
格式
yyyy-MM-dd;默认今天,不能晚于今天时间范围规则:
startDate/endDate 不传时默认查询最近 7 天;endDate 晚于今天会被自动截断为今天;起止时间跨度最大 6 个月;开始日期晚于结束日期将直接报错。上一期(previous)数据为当前时间范围往前平移相同天数所得。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"
}
}'
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"])
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);
}
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());
返回参数
业务结果位于data,为对象结构,包含品牌趋势分析(brand)与竞品平均指标(competitor)两部分。
object
品牌当前期与上一期的核心指标及变化值。
number
品牌当前 TOP3 占位率(%)。
number
品牌当前 TOP1 占位率(%)。
number
品牌当前曝光度(%)。
number
品牌当前 AI 声量占比(%)。
number
上一期 TOP3/TOP1 占位率、曝光度、AI 声量占比(%)。
number
同上,见上方分页字段说明。
number
同上,见上方分页字段说明。
number
同上,见上方分页字段说明。
number
TOP3/TOP1 占位率、曝光度、AI 声量占比较上期的变化值(百分点)。
number
同上,见上方分页字段说明。
number
同上,见上方分页字段说明。
number
同上,见上方分页字段说明。
number
当前口碑得分、上一期口碑得分、口碑得分较上期变化值。
number
同上,见上方分页字段说明。
number
同上,见上方分页字段说明。
number
品牌 GEO 综合得分。
object
行业/竞品均值对比数据。
number
行业均值曝光率(%)。
number
行业均值口碑得分。
number
行业均值 TOP1 占比、TOP3 占比(%)。
number
同上,见上方分页字段说明。
number
行业均值 AI 声量表现(%)。
number
行业均值 GEO 综合得分。
{
"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
}
接入注意事项
apiCode必须固定为brand.overview。brandId为必填参数,为空返回4001(所需参数不足)。startDate/endDate格式必须为yyyy-MM-dd,默认最近 7 天,最大查询跨度 6 个月。- 返回结构为对象(非分页、非数组),包含
brand与competitor两部分。 - 上一期(previous)数据由当前时间范围向前平移相同天数得到。
- 各指标字段可能为
null或0,解析时做好空值兼容。 - 变化值(diff)单位为百分点。
Java 返回对象
Java 返回对象
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)。TypeScript 类型
TypeScript 类型
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;
}
本页的 cURL 与 Java 示例来自官方接口文档;Python 与 Node.js 示例为等价转写,未经服务端联调,请以实际返回结果为准。