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":"source.brand.waiting.cover","data":{"brandId":"brand-001","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",
}
payload = {
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"startDate": "2026-09-01",
"endDate": "2026-09-23"
}
}
res = requests.post(
"https://geobaseapi.aibase.com/v1/openapi/execute",
headers=headers,
json=payload,
timeout=60,
)
res.raise_for_status()
body = res.json()
if body["code"] == 200:
print(body["data"])
const payload = {
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"startDate": "2026-09-01",
"endDate": "2026-09-23"
}
};
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(payload),
});
const body = await res.json();
if (body.code === 200) {
console.log(body.data);
}
String body = """
{
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"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": {
"records": [
{
"citationUrl": "https://www.example.com/article/001",
"citationTitle": "示例文章标题",
"platformName": "deepseek",
"platformIcon": "https://cdn.example.com/icon.png",
"domain": "www.example.com",
"urlType": "新闻媒体",
"citationCount": 3,
"llmCount": 2,
"keywords": [
"竞品A",
"竞品B"
],
"competitorsRate": 35.5
}
],
"total": 1,
"size": 50,
"current": 1,
"pages": 1
},
"timeStamp": 1788830174812
}
品牌待覆盖URL
查询指定品牌在指定时间范围内建议优先监测、待覆盖的引用 URL 列表,返回 URL 标题、平台、引用次数、命中关键词及竞品关键词命中占比,支持分页。
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":"source.brand.waiting.cover","data":{"brandId":"brand-001","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",
}
payload = {
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"startDate": "2026-09-01",
"endDate": "2026-09-23"
}
}
res = requests.post(
"https://geobaseapi.aibase.com/v1/openapi/execute",
headers=headers,
json=payload,
timeout=60,
)
res.raise_for_status()
body = res.json()
if body["code"] == 200:
print(body["data"])
const payload = {
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"startDate": "2026-09-01",
"endDate": "2026-09-23"
}
};
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(payload),
});
const body = await res.json();
if (body.code === 200) {
console.log(body.data);
}
String body = """
{
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"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": {
"records": [
{
"citationUrl": "https://www.example.com/article/001",
"citationTitle": "示例文章标题",
"platformName": "deepseek",
"platformIcon": "https://cdn.example.com/icon.png",
"domain": "www.example.com",
"urlType": "新闻媒体",
"citationCount": 3,
"llmCount": 2,
"keywords": [
"竞品A",
"竞品B"
],
"competitorsRate": 35.5
}
],
"total": 1,
"size": 50,
"current": 1,
"pages": 1
},
"timeStamp": 1788830174812
}
查询指定品牌在指定时间范围内建议优先监测、待覆盖的引用 URL 列表,返回 URL 标题、平台、引用次数、命中关键词及竞品关键词命中占比,支持分页。
完整响应类型可表示为
可按以上 TypeScript 类型定义解析响应数据。
执行模式:SYNC · 实时请求。
请求发出后服务端同步执行业务,结果直接在当前响应的
data 中返回,不存在异步任务、无需轮询、无需二次查询。接口速查
| 项目 | 当前接口约定 |
|---|---|
| 接口状态 | 已上线 |
| 请求方式 | POST |
| 请求地址 | https://geobaseapi.aibase.com/v1/openapi/execute |
| 业务标识 | source.brand.waiting.cover |
| 执行模式 | SYNC · 实时请求(直接返回,无需轮询) |
| 身份认证 | Header AIBase-API-Key |
| 请求格式 | application/json |
| 返回结构 | 分页结构(records + total / size / current / pages) |
请求头
string
required
开发者 API Key,例如
AIBase_xxx。用于身份认证、有效期与调用权限校验,请仅在服务端保存和使用。string
required
固定为
application/json。string
开发者自定义请求 ID,用于请求追踪;不传时系统自动生成 UUID。
请求体
string
required
固定为
source.brand.waiting.cover。object
required
业务请求参数对象。
string
required
品牌 ID。所属品牌 ID,为空返回 4001
string
AI平台。按 AI 平台筛选,如 deepseek;不传返回全部平台
string
开始日期。格式 yyyy-MM-dd;默认最近 7 天
string
结束日期。格式 yyyy-MM-dd;默认今天,不能晚于今天
integer
页码。默认 1
integer
每页条数。默认 50,最大 100,超限自动截断为 100
时间范围规则:startDate/endDate 不传时默认查询最近 7 天;endDate 晚于今天会被自动截断为今天;起止时间跨度最大 6 个月;开始日期晚于结束日期将直接报错。
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":"source.brand.waiting.cover","data":{"brandId":"brand-001","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",
}
payload = {
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"startDate": "2026-09-01",
"endDate": "2026-09-23"
}
}
res = requests.post(
"https://geobaseapi.aibase.com/v1/openapi/execute",
headers=headers,
json=payload,
timeout=60,
)
res.raise_for_status()
body = res.json()
if body["code"] == 200:
print(body["data"])
const payload = {
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"startDate": "2026-09-01",
"endDate": "2026-09-23"
}
};
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(payload),
});
const body = await res.json();
if (body.code === 200) {
console.log(body.data);
}
String body = """
{
"apiCode": "source.brand.waiting.cover",
"data": {
"brandId": "brand-001",
"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,为分页结构,其中 records 为建议优先监测、待覆盖的 URL 列表。无数据时 records 为空数组 []。object[]
待覆盖 URL 列表。建议优先监测、待覆盖的 URL 明细。
string
引用 URL。被引用的来源 URL。
string
标题。来源页面标题。
string
平台名称。引用该 URL 的平台名称。
string
平台图标。平台图标 URL。
string
域名。来源域名。
string
URL 类型。来源 URL 的内容类型。
integer
引用次数。该 URL 被引用的次数。
integer
引用 AI 平台数。该 URL 被多少个 AI 平台引用。
object
命中关键词列表。该 URL 命中的关键词列表,可能为空。
number
竞品关键词命中占比。竞品关键词命中占比(%)。
integer
required
记录总数。
integer
required
每页条数。
integer
required
当前页码。
integer
required
总页数。
{
"code": 200,
"msg": "成功",
"data": {
"records": [
{
"citationUrl": "https://www.example.com/article/001",
"citationTitle": "示例文章标题",
"platformName": "deepseek",
"platformIcon": "https://cdn.example.com/icon.png",
"domain": "www.example.com",
"urlType": "新闻媒体",
"citationCount": 3,
"llmCount": 2,
"keywords": [
"竞品A",
"竞品B"
],
"competitorsRate": 35.5
}
],
"total": 1,
"size": 50,
"current": 1,
"pages": 1
},
"timeStamp": 1788830174812
}
接入注意事项
- apiCode 必须固定为 source.brand.waiting.cover。
- brandId 为必填参数,为空返回 4001(所需参数不足)。
- startDate/endDate 格式必须为 yyyy-MM-dd,默认最近 7 天,最大查询跨度 6 个月。
- 返回为分页结构;无数据时 records 为空数组 []。
- pageNo 默认 1,pageSize 默认 50、最大 100,超限自动截断为 100。
- keywords 为关键词列表,可能为空;当其为空时 competitorsRate 默认为 0。
Java 返回对象
Java 返回对象
public class CompetitorSourceCitationUrl {
private String citationUrl;
private String citationTitle;
private String platformName;
private String platformIcon;
private String domain;
private String urlType;
private Integer citationCount;
private Integer llmCount;
private Object keywords;
private double competitorsRate;
}
ReturnResult<PageResult<CompetitorSourceCitationUrl>>(PageResult 定义见 6.2.5)。TypeScript 类型
TypeScript 类型
export interface CompetitorSourceCitationUrl {
citationUrl: string;
citationTitle: string | null;
platformName: string | null;
platformIcon: string | null;
domain: string | null;
urlType: string | null;
citationCount: number;
llmCount: number;
keywords: unknown[] | null;
competitorsRate: number;
}
本页的 cURL 与 Java 示例来自官方接口文档;Python 与 Node.js 示例为等价转写,未经服务端联调,请以实际返回结果为准。