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

# Solutions 概览

> 了解 GTM 的六项预定义数据能力及各自支持的操作。

**Solution** 是面向某类用户的一组预定义数据能力。 Glasser 当前提供用于销售与营销研究的 **GTM Solution** (`gtm`)，包含下列六项能力。

**Capability** 是 Solution 中的一项能力，例如 `company_intelligence` 或 `people_search`，各有固定的支持操作和输入。

## 为什么使用 Solution？

例如，**公司信息**能力可按域名查询公司。你只需发送 `domain`，Glasser 会选择受支持的数据提供商，将输入转换为其接口格式，并在支持的失败类型下尝试下一家符合条件的数据提供商。

这样，集成无需处理各数据提供商不同的输入格式：无论所选数据提供商要求 `domain`、`website` 还是 `company_website`，你都只需发送 `domain`。

当 Solution 的输入能够满足任务时，可使用此方式。如果需要指定接口、完整输入选项，或在执行前确定其准确价格，请通过 [搜索](https://glasser.ai/docs/zh/api-reference/endpoints/search.md)、[检查](https://glasser.ai/docs/zh/api-reference/endpoints/inspect.md) 和[运行](https://glasser.ai/docs/zh/api-reference/runs/create.md)直接选择并调用接口。

## 可用能力

各能力在 `/v1/solutions/gtm/` 下有独立请求路径。

| 能力 | 可请求的数据 |
| - | - |
| [网页研究](https://glasser.ai/docs/zh/api-reference/solutions/gtm/web_research.md) | 网页与新闻搜索、地点、购物结果和页面内容。 |
| [公司信息](https://glasser.ai/docs/zh/api-reference/solutions/gtm/company_intelligence.md) | 公司资料、技术栈、流量、竞争对手、融资和新闻。 |
| [人员搜索](https://glasser.ai/docs/zh/api-reference/solutions/gtm/people_search.md) | 查找人员、补全资料、查询商务联系信息。 |
| [SEO 研究](https://glasser.ai/docs/zh/api-reference/solutions/gtm/seo_research.md) | 关键词数据、排名、外链、搜索竞争对手、关键词与外链差距、排名历史、网站抓取、页面检查及 AI 回答引用。 |
| [社交数据研究](https://glasser.ai/docs/zh/api-reference/solutions/gtm/social_research.md) | 各平台的资料、帖子、评论和搜索结果。 |
| [市场数据](https://glasser.ai/docs/zh/api-reference/solutions/gtm/market_data.md) | 美国房产记录、估值和租金估算、房源及股票报价。 |

各能力的参考页列出了支持的操作、数据提供商和必填字段。多数能力使用 `action` 选择操作；社交数据研究使用 `platform` 和 `mode`。

## 示例：获取公司资料

按 [API 概览](https://glasser.ai/docs/zh/api-reference/overview.md)配置 API Key。以下请求会执行付费数据查询：

```bash theme={null}
curl --request POST \
  --url https://api.glasser.ai/v1/solutions/gtm/company_intelligence \
  --header "Authorization: Bearer $GLASSER_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: company-profile-glasser-001" \
  --data '{"domain":"glasser.ai"}'
```

此能力的请求正文只要求 `domain`。省略 `action` 时使用 `enrich`，省略 `provider` 时使用 `auto`。`metadata` 可选，可以省略。重试此请求时保持 `Idempotency-Key` 不变；重新查询或发起不同请求时，使用新值。

## 数据提供商如何选择

| 选择 | 行为 |
| - | - |
| `provider: "auto"`，默认 | 按 Glasser 偏好顺序使用第一家符合条件的数据提供商，不比较实时价格。 |
| 指定数据提供商，例如 `"apollo"` | 只使用该数据提供商，不尝试其他家；它必须支持请求，且当前 API Key 有权使用。 |

使用 `auto` 时，遇到数据提供商错误、超时或接口不可用， Glasser 可以尝试下一家符合条件的数据提供商。搜索结果为空不会触发切换。 Fetch (`scrape`) 还可在输出为空、无效或缺少受支持的格式时，在请求预算内切换。内容措辞和长度不会触发切换。所选接口必须支持你的输入，并获得当前 API Key 的允许。

## 结果与费用

网页研究的所有操作均返回规范化 `output`。Scrape 提供 `text`、`markdown`、`html` 和 `raw_html`，缺失格式为 null。Search 提供 `output.results[]`；news、places、scholar、shopping、images、videos 和 similar 提供每行字段固定的 `output.items[]`；answer 提供 `output.answer` 和 `citations[]`。数据提供商原生输出不在 `output` 中重复，而是保留在 Run 中，可通过 Get Run 读取。Glasser 不将 HTML 转为文本，也不合并抓取内容。

通过 `result_status` 判断交付结果：`success`、`partial`、`no_result`、`error` 或 `pending`。缺失的请求格式列在 `missing_formats` 中。交付错误返回 `output: null` 和 `error`。内容语义仍未经验证。

`charge_usd` 是所列 `runs` 的费用总和，包括收费的失败和空结果。每个 Run 在 `runs[]` 中有独立费用及计费条款。存在未结算 Run 时，总费用为 null；多个 Run 不存在单一的顶层 `charge_basis`。 `id`、`provider` 和大写的 `status` 仍描述最终 Run。

POST 在 Run 结束时返回 HTTP 200，执行中返回 202。在 API 服务地址上，使用 API Key 轮询返回的 `result_url`，以保留规范化输出和费用总和。即使仍在等待，该读取请求也返回 HTTP 200，请检查正文。轮询不会创建 Run，也不会恢复数据提供商切换。[获取 Run](https://glasser.ai/docs/zh/api-reference/runs/get.md) 保留原生输出和单笔费用。仅轮询 Get Run 的旧插件必须更新轮询路径。仅凭 `COMPLETED` 无法确认内容可用。

SEO 研究的所有操作均返回规范化 `output`。列表类操作提供每行字段固定的 `output.items[]`，例如 ranked\_keywords 包含 `keyword`、 `position`、`url`、`volume`、`cpc_usd`、`traffic`；概览类操作提供固定顶层字段，例如 backlinks\_overview 包含 `backlinks`、`referring_domains`、 `semrush_authority_score`、`dataforseo_rank`、`serpstat_domain_rank`、`dofollow_backlinks`、 `nofollow_backlinks`。所选数据提供商的原生输出保留在 Run 中，不进入 `output`。数据提供商未报告的值为 `null`；金额统一为美元。权威度分数不在数据提供商之间换算，均保留各自的名称和量表，只填写实际响应方的字段。`volume`、`traffic` 和 `cpc_usd` 均为各数据提供商自身估算，只宜在同一家内比较。`result_status` 为 `success`、`no_result`、`error` 或 `pending`，上述计费和轮询规则保持不变。各操作的字段列表见 [SEO 研究](https://glasser.ai/docs/zh/api-reference/solutions/gtm/seo_research.md)参考页。

公司信息的所有操作均返回规范化 `output`：`enrich` 和 `traffic` 提供固定顶层字段；`tech_stack`、`competitors`、`news` 和 `jobs` 提供 `output.items[]`； `funding` 提供 `total_funding_usd` 和 `items[]`；`ads` 提供 `total_ads` 和 `items[]`。员工数和营收区间拆分为 `*_range_min` / `*_range_max`，相似度分数带有数据提供商名称，如 `predictleads_similarity_score`、`exa_similarity_score`。各操作字段见 [公司信息](https://glasser.ai/docs/zh/api-reference/solutions/gtm/company_intelligence.md)参考页。

市场数据的所有操作均返回规范化 `output`，共享同一组房产字段，包括 `address`、`property_type`、`bedrooms`、`bathrooms`、`living_area_sqft`、`lot_size_sqft`、 `year_built`、`latitude`、`longitude`。房产搜索增加产权人字段；房源增加挂牌、MLS、HOA、经纪人和经纪机构字段；出售房源使用 `price_usd`，出租房源使用 `monthly_rent_usd`；估值报告 `comparables_count`。股票报价包含 `currency`、常规交易时段的 `price`、`change`、`change_percent`，其中百分比以百分点表示，以及 `extended_hours_*` 报价和 `as_of_text`。各操作字段见[市场数据](https://glasser.ai/docs/zh/api-reference/solutions/gtm/market_data.md) 参考页。

社交数据研究按 mode 返回规范化 `output`，六个平台共享同一结构： `profile` 返回单个账号，`search` 和 `feed` 返回帖子列表 `output.items[]`，`post` 返回单篇帖子， `find` 返回 `output.profiles[]`。帖子包含 `title`、仅含正文的 `text` 和 `published_at`；详见[社交数据研究](https://glasser.ai/docs/zh/api-reference/solutions/gtm/social_research.md) 参考页。

人员搜索的所有操作均返回规范化 `output`：`search` 提供 `total_matches` 及每人一行的 `output.items[]`；`enrich` 和 `find_email` 在顶层提供相同字段的单个人员。姓名、职称、`seniority` 和 `department` 均按数据提供商报告保留。`email_status` 为数据提供商自身的验证标签，需结合 `email_catch_all` 和 `email_source` 阅读。Hunter 的 `generated` 表示邮箱按域名模式生成。`find_email` 未返回邮箱时为 `no_result`。字段详情见 [人员搜索](https://glasser.ai/docs/zh/api-reference/solutions/gtm/people_search.md)参考页。

## 字段约定

所有规范化 `output` 均遵循相同的命名规则：

| 规则 | 含义 |
| - | - |
| 带数据提供商名称的分数 | 数据提供商自身模型或量表中的分数、评分、排名、难度、可能性和置信度，均命名为 `<provider>_<metric>`，例如 `ahrefs_domain_rating`、`exa_similarity_score`。只有实际响应的数据提供商填写，其他家为 `null`，不在不同数据提供商之间换算。`industry`、`category`、`round`、`intent` 等标签使用普通字段名，值保留响应方的词汇。 |
| 日期和时间 | `*_at` 为 ISO 8601 UTC 时间戳，`*_date` 为 `YYYY-MM-DD`，`*_text` 为原样返回且不解析的展示文本；例如 "3 hours ago" 相对于 Run 的 `completed_at`。无法解析的值为 `null`，不估算。 |
| 域名与 URL | `domain` 和 `*_domain` 为小写裸主机名，不含 `www.` 和端口。 |
| 金额 | 使用 `*_usd` 命名的数值；其他币种的价格为数值加 `currency` 字段；展示价格使用 `*_text`。 |
| 数量与区间 | 数量使用普通复数名词；区间使用 `*_min` / `*_max`；从 1 开始的列表顺序为 `position`。 |
| 空结果 | 有效空结果保留操作结构：各字段为 `null`，或列表为 `[]`，并返回 `result_status: "no_result"`。无论数据提供商返回空正文，还是以不收费的 404 或 "no results" 信息表示未找到，均适用。不得返回 `null`、`{}` 或原生正文。唯一例外是网页研究的 `scrape`：它没有空结果，页面无法交付时为 `error`，且 `output: null`。 |
| 共享名称 | 含义和单位相同的字段，在各能力中使用相同名称，例如 `organic_traffic`、`organic_keywords`、`organic_traffic_value_usd`、`published_at`、`source`。 |

Fetch 控制参数为 `formats`、`timeout_ms`，默认 90000，`max_charge_usd` 和 `cache_max_age_seconds`，后两项可选。请求格式用于选择数据提供商和决定是否切换；实际可用格式位于固定输出字段中。费用上限包括本请求中的全部 Run，也包括重放 Run。存在未结算 Run 时停止切换。使用同一个键重试会复用 Run，并开始新的请求时间窗口。

自动模式先使用 Serper，再使用 Firecrawl。请求 HTML 或明确指定缓存年龄时，直接使用 Firecrawl，但排除 X/Twitter 和 LinkedIn 信息补全路径。显式只请求文本时使用 Serper。Exa 可通过明确指定使用。每次数据提供商调用都以所属 Endpoint 的自身窗口开启；当该窗口会超出请求预算时，Serper、Firecrawl 与 Exa 仍按实际剩余调用时间运行，并预留结算及响应时间；剩余调用时间少于一秒时跳过这一跳。如果没有 Run 能被受理，API 返回受理错误。如果预算阻止继续切换，则报告最后受理 Run 的交付结果及全部已受理费用。

Firecrawl 数据源返回原生 Run 输出，不切换数据提供商。Fetch Solution 增加了路由、结构检查、格式检查和共享请求预算。其 search/scrape 响应遵循上述规范化契约。可选的 `metadata` 保存追踪值，不影响数据提供商选择或价格。


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