Sigpik 数据情报

开发者平台v1

REST
https://sigpik.com/api/v1
MCP
https://sigpik.com/api/mcp

快速上手

身份验证

公开 API 无需密钥即可使用。获得开发者体验权限后,可以在有限额度内测试 MCP 和研究 API;Pro 与 Enterprise 可用于完整的数据查询和正式工作流。

AuthorizationBearer spk_live_…
  • 已登录且获得邀请体验、Pro 或 Enterprise 权限的账户可以创建 API Key。
  • 使用 Authorization: Bearer spk_live_… 请求头发送 API Key。
  • 只启用当前集成需要的权限。发起调查须显式授予 research:execute;管理信号订阅须授予 webhooks:manage。
  • 完整 Key 只显示一次,之后可以随时撤销。
  • 同一账户下的多个 Key 共享开发者体验额度。
  • 暂不支持 OAuth,Remote MCP 当前使用 API Key 认证。
公开 API

获取公开产品信息 · Remote MCP 需要 API Key

开发者体验权限

每个 UTC 月可在受保护 REST 与 MCP 之间共享 50 次计入额度的调用 · 公开目录、API Key 管理、初始化、工具发现、ping 和通知不计入额度 · 每次最多返回 10 条结果 · 仅返回最新观测月份,最多提供 5 个产品赛道筛选项

Pro / Enterprise

完整的 Search Demand 与 Rankings 数据 · 通过 Remote MCP 使用推广调查、榜单与搜索需求 · 无每月 MCP 调用上限 · 每分钟最多 120 次请求 · 仍需遵守请求频率限制

开发者体验权限仅限邀请,需登录账户后获得授权。 SaaS Ideas 尚在开发测试,仅向活跃管理员开放网页预览,暂不提供公开 API 或 MCP 工具。

请求示例
POST/research/promotion-investigations
curl "https://sigpik.com/api/v1/research/promotion-investigations" -X POST \
  -H "Authorization: Bearer $SIGPIK_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"slug":"example-ai","locale":"en","idempotency_key":"b46b2db0-8a30-4d69-a33e-8b5b4509c279","confirm_usage":true}'

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

202 Accepted响应示例 · 节选JSON
{
  "task_id": "task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "type": "promotion_investigation",
  "status": "queued",
  "stage": "queued",
  "created_at": "2026-09-17T05:00:00.000Z",
  "updated_at": "2026-09-17T05:00:00.000Z",
  "completed_at": null,
  "status_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "result_url": null,
  "poll_after_seconds": 60,
  "error": null,
  "report": null
}

快速上手

频控与错误

开发者 Key 每 60 秒最多 120 次请求。邀请体验月额度在账户内共享。

X-Quota-* 响应头用于有限额的邀请体验;公开目录与免配额账户不返回相同的额度头。429 可能表示短期频控或月额度耗尽。

400

参数或游标无效,修正后重试。

401

缺失、无效或已撤销的 API Key。

403

Key 权限或账户访问级别不足。

404

未找到产品或资源。

409

幂等键与请求参数冲突。

429

触发频控或月额度耗尽,请检查错误码与重置响应头。

503

数据暂时不可用,请退避后重试。

429 · X-Quota-Reset
HTTP
HTTP/1.1 429 Too Many Requests
X-Quota-Limit: 50
X-Quota-Remaining: 0
X-Quota-Policy: 50;month
X-Quota-Reset: 2026-10-01T00:00:00.000Z

{
  "error": {
    "code": "PRO_API_QUOTA_EXHAUSTED",
    "message": "Developer Access call quota is exhausted.",
    "details": { "limit": 50, "remaining": 0 }
  },
  "request_id": "example-request-id"
}

核心商业情报

发起推广调查

POST/api/v1/research/promotion-investigations

复用详情页的推广历史调查,研究一个产品并生成报告。显式使用账户现有调查额度;重试相同请求时复用同一个 UUID。返回任务 ID,不提供全量数据导出。

所需权限 research:execute

请求参数

字段 / 类型说明与约束
slug
string必选body

产品或分类的规范 slug。

minLength: 1 · maxLength: 200 · pattern: ^[a-z0-9][a-z0-9-]*$
locale
enum可选body

返回语言:en 或 zh-CN。

default: "en" · en | zh-CN
idempotency_key
string必选body

UUID;重试相同产品和语言时复用,不同调查使用新值。

pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
confirm_usage
enum必选body

必须为 true,明确确认使用现有调查额度。

true
返回字段12
字段 / 类型说明与约束
task_id
string必选response

提交后返回的随机任务 ID。

pattern: ^task_[0-9a-f-]{36}$
type
enum必选response

任务类型:推广调查。

promotion_investigation
status
enum必选response

详见返回示例与完整 Schema。

queued | running | succeeded | failed | cancelled
stage
enum必选response

详见返回示例与完整 Schema。

queued | investigating | generating_report | complete
status_url
string必选response

详见返回示例与完整 Schema。

result_url
string | null必选response

详见返回示例与完整 Schema。

poll_after_seconds
integer | null必选response

详见返回示例与完整 Schema。

created_at
string必选response

详见返回示例与完整 Schema。

updated_at
string必选response

详见返回示例与完整 Schema。

completed_at
string | null必选response

详见返回示例与完整 Schema。

error
object | null必选response

详见返回示例与完整 Schema。

report
object必选response

详见返回示例与完整 Schema。

请求示例
POST/research/promotion-investigations
curl "https://sigpik.com/api/v1/research/promotion-investigations" -X POST \
  -H "Authorization: Bearer $SIGPIK_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"slug":"example-ai","locale":"en","idempotency_key":"b46b2db0-8a30-4d69-a33e-8b5b4509c279","confirm_usage":true}'

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

202 Accepted响应示例 · 节选JSON
{
  "task_id": "task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "type": "promotion_investigation",
  "status": "queued",
  "stage": "queued",
  "created_at": "2026-09-17T05:00:00.000Z",
  "updated_at": "2026-09-17T05:00:00.000Z",
  "completed_at": null,
  "status_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "result_url": null,
  "poll_after_seconds": 60,
  "error": null,
  "report": null
}

核心商业情报

调查进度与报告 · 免费

GET/api/v1/research/promotion-investigations/{task_id}

一次读取调查进度与最终报告。queued/running 时 report 为 null,succeeded 时包含完整报告;failed/cancelled 为终态。查询不扣调查额度和 API 月度次数,月度次数用完仍可查。等待期间按 60 秒间隔轮询,未知或其他账户 ID 返回 404。

所需权限 research:read

请求参数

字段 / 类型说明与约束
task_id
string必选path

提交后返回的随机任务 ID。

返回字段12
字段 / 类型说明与约束
task_id
string必选response

提交后返回的随机任务 ID。

pattern: ^task_[0-9a-f-]{36}$
type
enum必选response

任务类型:推广调查。

promotion_investigation
status
enum必选response

详见返回示例与完整 Schema。

queued | running | succeeded | failed | cancelled
stage
enum必选response

详见返回示例与完整 Schema。

queued | investigating | generating_report | complete
status_url
string必选response

详见返回示例与完整 Schema。

result_url
string | null必选response

详见返回示例与完整 Schema。

poll_after_seconds
integer | null必选response

详见返回示例与完整 Schema。

created_at
string必选response

详见返回示例与完整 Schema。

updated_at
string必选response

详见返回示例与完整 Schema。

completed_at
string | null必选response

详见返回示例与完整 Schema。

error
object | null必选response

详见返回示例与完整 Schema。

report
object必选response

详见返回示例与完整 Schema。

请求示例
GET/research/promotion-investigations/{task_id}
curl "https://sigpik.com/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279" \
  -H "Authorization: Bearer $SIGPIK_API_KEY"

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

200 OK响应示例 · 节选JSON
{
  "task_id": "task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "type": "promotion_investigation",
  "status": "succeeded",
  "stage": "complete",
  "created_at": "2026-09-17T05:00:00.000Z",
  "updated_at": "2026-09-17T05:00:00.000Z",
  "completed_at": "2026-09-17T05:10:00.000Z",
  "status_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "result_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "poll_after_seconds": null,
  "error": null,
  "report": {
    "version": "example",
    "generated_at": "2026-09-17T05:10:00.000Z",
    "narrative": {
      "title": "Example promotion history",
      "summary": {
        "text": "Illustrative report: published sources describe a launch and later community activity.",
        "citations": []
      },
      "sections": [],
      "limitations": "Illustrative response. Actual reports include only available evidence."
    },
    "summary": {
      "actionEvidenceCount": 0,
      "channelCount": 0,
      "contextLeadCount": 0,
      "sourceCount": 0,
      "unresolvedActionCount": 0
    },
    "analysis": {
      "overview": "Illustrative report.",
      "method": "",
      "observations": [],
      "phases": [],
      "channels": [],
      "openQuestions": []
    },
    "timeline": [],
    "strategies": [],
    "sources": [],
    "context_leads": [],
    "conclusion": "Observed promotion does not establish growth causality.",
    "limitations": [
      "Examples are not live research results."
    ],
    "caveat": "Coverage depends on available public evidence.",
    "reliability": {
      "actorAttribution": "unknown",
      "coverageLevel": "limited",
      "growthCausality": "not_established",
      "growthImpact": "unknown"
    },
    "omitted_action_count": 0,
    "omitted_context_count": 0
  }
}

核心商业情报

AI 产品排名

GET/api/v1/research/rankings

比较增长、访问量、域名评分、搜索与 AI 引荐表现。

所需权限 research:read

邀请体验固定第 1 页、最多 10 条;付费访问取决于账户功能。增长值为比率,null 表示暂无数据。

请求参数

字段 / 类型说明与约束
locale
string可选query

返回语言:en 或 zh-CN。

default: "en" · maxLength: 20
category
string可选query

按分类 slug 筛选。

maxLength: 120
country
string可选query

两位字母国家代码。

pattern: ^[A-Za-z]{2}$
q
string可选query

搜索关键词。

maxLength: 80
sort
enum可选query

结果排序指标。

default: "growth" · growth | gain | traffic | dr_growth | organic | ai | paid
order
enum可选query

排序方向。

default: "desc" · asc | desc
min_traffic
integer可选query

最低观测流量。

default: 1000 · min: 0 · max: 9007199254740991
min_growth
number可选query

最低增长比率;0.1 表示 10%。

default: 0 · min: 0 · max: 100
min_dr
number可选query

最低域名评分。

default: 0 · min: 0 · max: 100
min_dr_gain
number可选query

最低域名评分增量。

default: 0 · min: 0 · max: 100
max_domain_age_months
integer可选query

最大域名月龄;0 关闭筛选。

default: 0 · min: 0 · max: 120
page
integer可选query

页码;邀请体验固定返回第 1 页。

default: 1 · min: 1 · max: 200
limit
integer可选query

每页最多返回的记录数。

default: 25 · min: 1 · max: 50
返回字段8
字段 / 类型说明与约束
category
object | null可选response

按分类 slug 筛选。

dataset
object必选response

数据观测时间与覆盖范围。

eligible_population
integer必选response

符合榜单条件的产品总数。

filters
object必选response

实际生效的筛选条件。

items
array必选response

结果记录,字段随端点和账户权限变化。

pagination
object必选response

页码、每页数量与翻页状态。

requested_locale
string必选response

请求的返回语言。

resolved_locale
string必选response

实际可用的返回语言。

请求示例
GET/research/rankings
curl "https://sigpik.com/api/v1/research/rankings?sort=growth&limit=10" \
  -H "Authorization: Bearer $SIGPIK_API_KEY"

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

200 OK响应示例 · 节选JSON
{
  "dataset": {
    "methodology_version": "example"
  },
  "eligible_population": 1,
  "filters": {
    "sort": "growth",
    "limit": 10
  },
  "items": [
    {
      "rank": 1,
      "tool_id": 1042,
      "name": "Example AI",
      "slug": "example-ai",
      "normalized_domain": "example.ai",
      "primary_category_name": "Productivity",
      "primary_category_slug": "productivity",
      "latest_month": "2026-08",
      "previous_month": "2026-07",
      "latest_visits": 131400,
      "previous_visits": 100000,
      "visits_change": 31400,
      "growth_rate": 0.314,
      "domain_rating": null,
      "favicon_url": null
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "has_more": false
  },
  "requested_locale": "en",
  "resolved_locale": "en"
}

核心商业情报

关键词流量分配

GET/api/v1/research/search-demand

查看关键词流量的承接产品,份额以已追踪样本为分母;此接口不提供 SaaS Ideas。

所需权限 research:read

邀请体验固定第 1 页、最多 10 条;付费访问取决于账户功能。增长值为比率,null 表示暂无数据。

请求参数

字段 / 类型说明与约束
locale
string可选query

返回语言:en 或 zh-CN。

default: "en" · maxLength: 20
q
string可选query

搜索关键词。

maxLength: 120
market
string可选query

承接流量产品的赛道 slug。

maxLength: 120
type
enum可选query

关键词分类,默认非品牌词。

default: "non_brand" · all | non_brand | brand
min_products
enum可选query

最少观测产品数。

default: 1 · 1 | 2 | 3 | 5
min_traffic
integer可选query

最低观测流量。

default: 0 · min: 0 · max: 10000000000
min_volume
integer可选query

最低搜索量。

default: 0 · min: 0 · max: 10000000000
sort
enum可选query

结果排序指标。

default: "traffic" · traffic | volume | products
page
integer可选query

页码;邀请体验固定返回第 1 页。

default: 1 · min: 1 · max: 1000
limit
integer可选query

每页最多返回的记录数。

default: 25 · min: 1 · max: 50
keyword_id
integer可选query

关键词明细 ID;省略或使用 0 返回列表。

min: 0 · max: 9007199254740991
返回字段9
字段 / 类型说明与约束
dataset
object必选response

数据观测时间与覆盖范围。

filters
object必选response

实际生效的筛选条件。

items
array必选response

结果记录,字段随端点和账户权限变化。

keyword
object必选response

所选关键词明细,未选择时为 null。

markets
array必选response

产品赛道筛选项。

pagination
object必选response

页码、每页数量与翻页状态。

requested_locale
string必选response

请求的返回语言。

resolved_locale
string必选response

实际可用的返回语言。

summary
object必选response

覆盖范围与观测摘要。

请求示例
GET/research/search-demand
curl "https://sigpik.com/api/v1/research/search-demand?q=ai%20notes&limit=10" \
  -H "Authorization: Bearer $SIGPIK_API_KEY"

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

200 OK响应示例 · 节选JSON
{
  "items": [
    {
      "keyword": "ai notes",
      "keyword_id": 742,
      "brand_type": "generic",
      "observed_products": 4,
      "observed_traffic": 18420,
      "search_volume": 27900,
      "traffic_change1m": null,
      "product_change1m": null
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "has_more": false,
    "has_previous": false,
    "total": 1,
    "total_pages": 1
  },
  "keyword": null,
  "requested_locale": "en",
  "resolved_locale": "en"
}

异动通知

订阅产品信号

POST/api/v1/alerts/webhooks

推送你已关注产品的新发布、已确认信号。接收端须对验证 POST 返回 HTTP 2xx 和 {"challenge":"收到的值"}。保存仅显示一次的 signing_secret;通知独立于邮件和推广调查。

在 Dashboard 中管理接收端点、签名密钥和投递记录。

信号事件与验签

signal.published · JSON
{
  "id": "sig_1234_1042",
  "version": "1",
  "type": "signal.published",
  "created_at": "2026-09-17T05:00:00.000Z",
  "data": {
    "signal_id": 1234,
    "signal_type": "traffic_breakout",
    "product": {
      "id": 1042,
      "slug": "example-ai"
    },
    "title": "Traffic breakout",
    "summary": "Illustrative signal: monthly traffic increased.",
    "change": {
      "direction": "up",
      "magnitude": 0.7,
      "before": {
        "value": 10000,
        "unit": "visits"
      },
      "after": {
        "value": 17000,
        "unit": "visits"
      }
    },
    "observed_at": "2026-09-17T05:00:00.000Z",
    "period": {
      "start": "2026-08-01",
      "end": "2026-08-31"
    },
    "published_at": "2026-09-17T05:00:00.000Z",
    "evidence_summary": "Illustrative monthly observation; does not establish growth causality.",
    "url": "https://sigpik.com/tools/example-ai"
  }
}

X-Sigpik-Signature: t=<Unix 秒>,v1=<HMAC-SHA256 十六进制值>。使用完整 signing_secret 对 时间戳 + "." + 原始请求体 验签,接受 5 分钟时间窗并采用恒定时间比较;先验签再解析 JSON,并持久化事件 ID 去重。将自己的后续操作入队后返回 HTTP 2xx。通知不会自动启动调查。

运行保护:每账户滚动 24 小时最多入队 1,000 条信号,延迟超过 24 小时的事件不补发。这是新异动发布后的通知,不是产品流量实时监测。

验证签名 · Node.js
HMAC-SHA256
import { createHmac, timingSafeEqual } from "node:crypto";

// rawBody must be the original Buffer, before JSON parsing.
export function verifySigpik(rawBody, signature, secret) {
  const match = /^t=(\d{1,12}),v1=([a-f0-9]{64})$/.exec(signature ?? "");
  if (!match) return false;
  const [, timestamp, hex] = match;
  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false;
  const expected = createHmac("sha256", secret)
    .update(timestamp + ".").update(rawBody).digest();
  return timingSafeEqual(expected, Buffer.from(hex, "hex"));
}
支持的信号事件
traffic_breakout

流量快速增长
最近一个月的访问量明显高于此前水平,而且增长规模足够大,值得关注。

traffic_acceleration

流量增长加快
连续几个统计周期保持增长,最近的增幅还在扩大。

traffic_deceleration

流量增长放缓
访问量可能仍在增长,但最近几个统计周期的增幅正在缩小。

entered_category_top_10

进入赛道前 10
该产品最近进入所属主要赛道的前 10 名。

entered_category_top_20

进入赛道前 20
该产品最近进入所属主要赛道的前 20 名。

dropped_out_of_category_top_10

跌出赛道前 10
该产品最近跌出所属主要赛道的前 10 名。

market_share_shift

赛道流量占比变化
该产品在所属赛道中的流量占比明显上升或下降。

ai_referral_breakout

AI 引荐流量快速增长
来自 AI 助手的访问量明显高于此前水平。

ai_traffic_share_shift

AI 引荐流量占比变化
AI 助手带来的流量,在整体访问量中的占比明显上升或下降。

new_ai_referral_source

新增 AI 引荐来源
产品开始从一个此前未出现的 AI 平台获得访问量。

ai_referral_sources_diversified

AI 引荐来源增加
正在为产品带来访问量的 AI 平台明显增多。

price_increased

价格上涨
同一套餐或计费项目在相同地区的价格已经上涨。

price_decreased

价格下降
同一套餐或计费项目在相同地区的价格已经下降。

free_plan_added

新增免费版
产品新增了此前没有的免费版。

free_plan_removed

取消免费版
产品此前提供的免费版已经取消。

pricing_model_changed

收费模式发生变化
产品的主要收费方式已经发生变化。

trial_changed

试用规则调整
试用时长或是否需要绑定支付方式发生了变化。

enterprise_plan_introduced

新增企业版
产品首次推出企业版方案。

backlink_acquisition_spike

外链增长加快
最近一段时间,新增外链来源网站的速度明显加快。

ai_directory_push

集中收录到 AI 目录站
近期被多个已核实的 AI 目录站收录。

media_review_burst

媒体与评测曝光增加
近期新增了多篇媒体报道或产品评测。

google_ads_started

开始投放 Google Ads
此前没有检测到投放,近期开始出现 Google Ads 广告。

ad_creative_expansion

广告素材明显增加
近期使用的广告素材数量明显增加。

new_feature

推出新功能
产品官方发布了此前没有的新功能。

new_model

发布新模型
产品官方发布了一个新模型。

api_added

新增 API 支持
产品官网开始提供 API。

mcp_added

新增 MCP 支持
产品官网开始提供 MCP 接入。

positioning_shift

产品定位调整
官网首页对产品定位或核心卖点的表述发生明显变化。

product_launch

产品正式发布
官方渠道宣布该产品正式发布。

website_sitemap_expansion

Sitemap 页面明显增加
公开 Sitemap 中可索引 URL 的数量明显增加。

website_sitemap_contraction

Sitemap 页面明显减少
公开 Sitemap 中可索引 URL 的数量明显减少。

programmatic_seo_expansion

Sitemap 结构化 URL 批量增加
可比 Sitemap 中同类结构 URL 净增;不代表搜索引擎已收录或获得自然流量。

organic_keyword_breakout

非品牌关键词流量增长
两个月样本中同一非品牌词的估算流量明显增加。

brand_search_growth

品牌搜索量增长
两个月样本中共同出现、可确认归属该产品的品牌词搜索量增加。

new_market_pages

新增一批市场页面
可比 Sitemap 新增一批语言、地区或使用场景路径 URL;不据此判定首次进入该市场。

chrome_user_growth

Chrome 扩展用户增长
Chrome 扩展的用户数量明显增长。

primary_domain_changed

更换主域名
产品官网已经迁移到新的主域名。

product_discontinued

产品停止提供
官方渠道已确认该产品停止提供。

所需权限 webhooks:manage

请求参数

字段 / 类型说明与约束
url
string必选body

详见返回示例与完整 Schema。

maxLength: 2048
locale
enum可选body

返回语言:en 或 zh-CN。

default: "en" · en | zh-CN
signal_types
array必选body

需要订阅的信号类型,仅匹配已关注的产品。

返回字段9
字段 / 类型说明与约束
id
string必选response

详见返回示例与完整 Schema。

url
string必选response

详见返回示例与完整 Schema。

status
enum必选response

详见返回示例与完整 Schema。

pending | active | paused | deleted
locale
enum必选response

返回语言:en 或 zh-CN。

en | zh-CN
signal_types
array必选response

需要订阅的信号类型,仅匹配已关注的产品。

failure_count
integer必选response

详见返回示例与完整 Schema。

created_at
string必选response

详见返回示例与完整 Schema。

updated_at
string必选response

详见返回示例与完整 Schema。

signing_secret
string可选response

详见返回示例与完整 Schema。

请求示例
POST/alerts/webhooks
curl "https://sigpik.com/api/v1/alerts/webhooks" -X POST \
  -H "Authorization: Bearer $SIGPIK_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"url":"https://your-domain.com/webhooks/sigpik","locale":"en","signal_types":["traffic_breakout"]}'

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

201 Created响应示例 · 节选JSON
{
  "id": "wh_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
  "url": "https://your-domain.com/webhooks/sigpik",
  "status": "pending",
  "locale": "en",
  "signal_types": [
    "traffic_breakout"
  ],
  "failure_count": 0,
  "created_at": "2026-09-17T05:00:00.000Z",
  "updated_at": "2026-09-17T05:00:00.000Z",
  "signing_secret": "whsec_EXAMPLE_ONLY"
}

公开目录

产品档案

GET/api/v1/tools/{slug}

通过规范 slug 查询产品,可用字段取决于账户权限。

公开 · 无需 API Key

请求参数

字段 / 类型说明与约束
slug
string必选path

产品或分类的规范 slug。

返回字段20
字段 / 类型说明与约束
tool_id
integer必选response

详见返回示例与完整 Schema。

canonical_slug
string必选response

详见返回示例与完整 Schema。

localized_slug
string必选response

详见返回示例与完整 Schema。

name
string必选response

详见返回示例与完整 Schema。

tagline
string | null可选response

详见返回示例与完整 Schema。

short_description
string | null可选response

详见返回示例与完整 Schema。

long_description
string | null可选response

详见返回示例与完整 Schema。

official_url
string必选response

每次请求仅提交一个公开产品官网。

pricing_model
string必选response

详见返回示例与完整 Schema。

listed_at
string必选response

详见返回示例与完整 Schema。

verification_status
string必选response

详见返回示例与完整 Schema。

staleness_status
string必选response

详见返回示例与完整 Schema。

has_free_plan
boolean必选response

详见返回示例与完整 Schema。

has_free_trial
boolean必选response

详见返回示例与完整 Schema。

has_api
boolean必选response

按是否支持 API 筛选。

has_mcp
boolean必选response

按是否支持 MCP 筛选。

requested_locale
string必选response

请求的返回语言。

resolved_locale
string必选response

实际可用的返回语言。

available_locales
array必选response

详见返回示例与完整 Schema。

categories
array必选response

详见返回示例与完整 Schema。

请求示例
GET/tools/{slug}
curl "https://sigpik.com/api/v1/tools/example-ai"

本地模拟 · 数据仅作示例,不发送请求、不消耗额度。

200 OK响应示例 · 节选JSON
{
  "tool_id": 1042,
  "canonical_slug": "example-ai",
  "localized_slug": "example-ai",
  "name": "Example AI",
  "tagline": "An illustrative AI workspace",
  "short_description": null,
  "logo_url": null,
  "official_url": "https://example.ai",
  "primary_category_slug": "productivity",
  "primary_category_name": "Productivity",
  "pricing_model": "freemium",
  "has_free_plan": true,
  "has_api": true,
  "has_mcp": false,
  "verification_status": "verified",
  "staleness_status": "fresh",
  "requested_locale": "en",
  "resolved_locale": "en",
  "available_locales": [
    "en"
  ],
  "long_description": null,
  "listed_at": "2026-09-01T00:00:00Z",
  "has_free_trial": false,
  "categories": []
}

Remote MCP

Agent 接入

POST/api/mcp

无状态 HTTPS,使用 API Key 认证,暂不支持 OAuth。每个工具需要 mcp:tools 及列出的权限。启动与研究工具使用共享 API 次数;get_promotion_investigation 不扣月度次数和调查额度。工具发现和 ping 也不计费。

Cursor

保存到 .cursor/mcp.json,在本地替换 YOUR_API_KEY,勿将密钥提交到版本控制。

Claude Desktop

Claude Desktop 本地配置通过 mcp-remote 桥接(需要 Node.js)。写入 claude_desktop_config.json 后重启 Claude。这是第三方客户端桥接程序。

Remote MCPHTTPS
{
  "mcpServers": {
    "sigpik": {
      "url": "https://sigpik.com/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

保存到 .cursor/mcp.json,在本地替换 YOUR_API_KEY,勿将密钥提交到版本控制。

情报工具

start_promotion_investigation

复用详情页的推广历史调查,研究一个产品并生成报告。显式使用账户现有调查额度;重试相同请求时复用同一个 UUID。返回任务 ID,不提供全量数据导出。

mcp:tools + research:execute

字段 / 类型说明与约束
slug
string必选argument

产品或分类的规范 slug。

minLength: 1 · maxLength: 200 · pattern: ^[a-z0-9][a-z0-9-]*$
locale
enum可选argument

返回语言:en 或 zh-CN。

default: "en" · en | zh-CN
idempotency_key
string必选argument

UUID;重试相同产品和语言时复用,不同调查使用新值。

pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
confirm_usage
enum必选argument

必须为 true,明确确认使用现有调查额度。

true

返回 text content 与 structuredContent;工具错误设置 isError,并提供 error.code 与 error.message。

tools/call · JSON-RPC
JSON
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "start_promotion_investigation",
    "arguments": {
      "slug": "example-ai",
      "locale": "en",
      "idempotency_key": "b46b2db0-8a30-4d69-a33e-8b5b4509c279",
      "confirm_usage": true
    }
  }
}
响应示例 · 节选
JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"task_id\":\"task_b46b2db0-8a30-4d69-a33e-8b5b4509c279\",\"type\":\"promotion_investigation\",\"status\":\"queued\",\"stage\":\"queued\",\"created_at\":\"2026-09-17T05:00:00.000Z\",\"updated_at\":\"2026-09-17T05:00:00.000Z\",\"completed_at\":null,\"status_url\":\"/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279\",\"result_url\":null,\"poll_after_seconds\":60,\"error\":null,\"report\":null}"
      }
    ],
    "structuredContent": {
      "task_id": "task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
      "type": "promotion_investigation",
      "status": "queued",
      "stage": "queued",
      "created_at": "2026-09-17T05:00:00.000Z",
      "updated_at": "2026-09-17T05:00:00.000Z",
      "completed_at": null,
      "status_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
      "result_url": null,
      "poll_after_seconds": 60,
      "error": null,
      "report": null
    }
  }
}

情报工具

get_promotion_investigation

一次读取调查进度与最终报告。queued/running 时 report 为 null,succeeded 时包含完整报告;failed/cancelled 为终态。查询不扣调查额度和 API 月度次数,月度次数用完仍可查。等待期间按 60 秒间隔轮询,未知或其他账户 ID 返回 404。

mcp:tools + research:read

字段 / 类型说明与约束
task_id
string必选argument

提交后返回的随机任务 ID。

pattern: ^task_[0-9a-f-]{36}$

返回 text content 与 structuredContent;工具错误设置 isError,并提供 error.code 与 error.message。

tools/call · JSON-RPC
JSON
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_promotion_investigation",
    "arguments": {
      "task_id": "task_b46b2db0-8a30-4d69-a33e-8b5b4509c279"
    }
  }
}
响应示例 · 节选
JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"task_id\":\"task_b46b2db0-8a30-4d69-a33e-8b5b4509c279\",\"type\":\"promotion_investigation\",\"status\":\"succeeded\",\"stage\":\"complete\",\"created_at\":\"2026-09-17T05:00:00.000Z\",\"updated_at\":\"2026-09-17T05:00:00.000Z\",\"completed_at\":\"2026-09-17T05:10:00.000Z\",\"status_url\":\"/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279\",\"result_url\":\"/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279\",\"poll_after_seconds\":null,\"error\":null,\"report\":{\"version\":\"example\",\"generated_at\":\"2026-09-17T05:10:00.000Z\",\"narrative\":{\"title\":\"Example promotion history\",\"summary\":{\"text\":\"Illustrative report: published sources describe a launch and later community activity.\",\"citations\":[]},\"sections\":[],\"limitations\":\"Illustrative response. Actual reports include only available evidence.\"},\"summary\":{\"actionEvidenceCount\":0,\"channelCount\":0,\"contextLeadCount\":0,\"sourceCount\":0,\"unresolvedActionCount\":0},\"analysis\":{\"overview\":\"Illustrative report.\",\"method\":\"\",\"observations\":[],\"phases\":[],\"channels\":[],\"openQuestions\":[]},\"timeline\":[],\"strategies\":[],\"sources\":[],\"context_leads\":[],\"conclusion\":\"Observed promotion does not establish growth causality.\",\"limitations\":[\"Examples are not live research results.\"],\"caveat\":\"Coverage depends on available public evidence.\",\"reliability\":{\"actorAttribution\":\"unknown\",\"coverageLevel\":\"limited\",\"growthCausality\":\"not_established\",\"growthImpact\":\"unknown\"},\"omitted_action_count\":0,\"omitted_context_count\":0}}"
      }
    ],
    "structuredContent": {
      "task_id": "task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
      "type": "promotion_investigation",
      "status": "succeeded",
      "stage": "complete",
      "created_at": "2026-09-17T05:00:00.000Z",
      "updated_at": "2026-09-17T05:00:00.000Z",
      "completed_at": "2026-09-17T05:10:00.000Z",
      "status_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
      "result_url": "/api/v1/research/promotion-investigations/task_b46b2db0-8a30-4d69-a33e-8b5b4509c279",
      "poll_after_seconds": null,
      "error": null,
      "report": {
        "version": "example",
        "generated_at": "2026-09-17T05:10:00.000Z",
        "narrative": {
          "title": "Example promotion history",
          "summary": {
            "text": "Illustrative report: published sources describe a launch and later community activity.",
            "citations": []
          },
          "sections": [],
          "limitations": "Illustrative response. Actual reports include only available evidence."
        },
        "summary": {
          "actionEvidenceCount": 0,
          "channelCount": 0,
          "contextLeadCount": 0,
          "sourceCount": 0,
          "unresolvedActionCount": 0
        },
        "analysis": {
          "overview": "Illustrative report.",
          "method": "",
          "observations": [],
          "phases": [],
          "channels": [],
          "openQuestions": []
        },
        "timeline": [],
        "strategies": [],
        "sources": [],
        "context_leads": [],
        "conclusion": "Observed promotion does not establish growth causality.",
        "limitations": [
          "Examples are not live research results."
        ],
        "caveat": "Coverage depends on available public evidence.",
        "reliability": {
          "actorAttribution": "unknown",
          "coverageLevel": "limited",
          "growthCausality": "not_established",
          "growthImpact": "unknown"
        },
        "omitted_action_count": 0,
        "omitted_context_count": 0
      }
    }
  }
}

情报工具

search_ai_demand

查看关键词流量的承接产品,份额以已追踪样本为分母;此接口不提供 SaaS Ideas。

mcp:tools + research:read

字段 / 类型说明与约束
locale
string可选argument

返回语言:en 或 zh-CN。

default: "en" · maxLength: 20
q
string可选argument

搜索关键词。

maxLength: 120
market
string可选argument

承接流量产品的赛道 slug。

maxLength: 120
type
enum可选argument

关键词分类,默认非品牌词。

default: "non_brand" · all | non_brand | brand
min_products
enum可选argument

最少观测产品数。

default: 1 · 1 | 2 | 3 | 5
min_traffic
integer可选argument

最低观测流量。

default: 0 · min: 0 · max: 10000000000
min_volume
integer可选argument

最低搜索量。

default: 0 · min: 0 · max: 10000000000
sort
enum可选argument

结果排序指标。

default: "traffic" · traffic | volume | products
page
integer可选argument

页码;邀请体验固定返回第 1 页。

default: 1 · min: 1 · max: 1000
limit
integer可选argument

每页最多返回的记录数。

default: 25 · min: 1 · max: 50
keyword_id
integer可选argument

关键词明细 ID;省略或使用 0 返回列表。

min: 0 · max: 9007199254740991

返回 text content 与 structuredContent;工具错误设置 isError,并提供 error.code 与 error.message。

tools/call · JSON-RPC
JSON
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_ai_demand",
    "arguments": {
      "q": "ai notes",
      "limit": 10
    }
  }
}
响应示例 · 节选
JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"items\":[{\"keyword\":\"ai notes\",\"keyword_id\":742,\"brand_type\":\"generic\",\"observed_products\":4,\"observed_traffic\":18420,\"search_volume\":27900,\"traffic_change1m\":null,\"product_change1m\":null}],\"pagination\":{\"page\":1,\"limit\":10,\"has_more\":false,\"has_previous\":false,\"total\":1,\"total_pages\":1},\"keyword\":null,\"requested_locale\":\"en\",\"resolved_locale\":\"en\"}"
      }
    ],
    "structuredContent": {
      "items": [
        {
          "keyword": "ai notes",
          "keyword_id": 742,
          "brand_type": "generic",
          "observed_products": 4,
          "observed_traffic": 18420,
          "search_volume": 27900,
          "traffic_change1m": null,
          "product_change1m": null
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 10,
        "has_more": false,
        "has_previous": false,
        "total": 1,
        "total_pages": 1
      },
      "keyword": null,
      "requested_locale": "en",
      "resolved_locale": "en"
    }
  }
}

情报工具

rank_ai_products

比较增长、访问量、域名评分、搜索与 AI 引荐表现。

mcp:tools + research:read

字段 / 类型说明与约束
locale
string可选argument

返回语言:en 或 zh-CN。

default: "en" · maxLength: 20
category
string可选argument

按分类 slug 筛选。

maxLength: 120
country
string可选argument

两位字母国家代码。

pattern: ^[A-Za-z]{2}$
q
string可选argument

搜索关键词。

maxLength: 80
sort
enum可选argument

结果排序指标。

default: "growth" · growth | gain | traffic | dr_growth | organic | ai | paid
order
enum可选argument

排序方向。

default: "desc" · asc | desc
min_traffic
integer可选argument

最低观测流量。

default: 1000 · min: 0 · max: 9007199254740991
min_growth
number可选argument

最低增长比率;0.1 表示 10%。

default: 0 · min: 0 · max: 100
min_dr
number可选argument

最低域名评分。

default: 0 · min: 0 · max: 100
min_dr_gain
number可选argument

最低域名评分增量。

default: 0 · min: 0 · max: 100
max_domain_age_months
integer可选argument

最大域名月龄;0 关闭筛选。

default: 0 · min: 0 · max: 120
page
integer可选argument

页码;邀请体验固定返回第 1 页。

default: 1 · min: 1 · max: 200
limit
integer可选argument

每页最多返回的记录数。

default: 25 · min: 1 · max: 50

返回 text content 与 structuredContent;工具错误设置 isError,并提供 error.code 与 error.message。

tools/call · JSON-RPC
JSON
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rank_ai_products",
    "arguments": {
      "sort": "growth",
      "limit": 10
    }
  }
}
响应示例 · 节选
JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"dataset\":{\"methodology_version\":\"example\"},\"eligible_population\":1,\"filters\":{\"sort\":\"growth\",\"limit\":10},\"items\":[{\"rank\":1,\"tool_id\":1042,\"name\":\"Example AI\",\"slug\":\"example-ai\",\"normalized_domain\":\"example.ai\",\"primary_category_name\":\"Productivity\",\"primary_category_slug\":\"productivity\",\"latest_month\":\"2026-08\",\"previous_month\":\"2026-07\",\"latest_visits\":131400,\"previous_visits\":100000,\"visits_change\":31400,\"growth_rate\":0.314,\"domain_rating\":null,\"favicon_url\":null}],\"pagination\":{\"page\":1,\"limit\":10,\"has_more\":false},\"requested_locale\":\"en\",\"resolved_locale\":\"en\"}"
      }
    ],
    "structuredContent": {
      "dataset": {
        "methodology_version": "example"
      },
      "eligible_population": 1,
      "filters": {
        "sort": "growth",
        "limit": 10
      },
      "items": [
        {
          "rank": 1,
          "tool_id": 1042,
          "name": "Example AI",
          "slug": "example-ai",
          "normalized_domain": "example.ai",
          "primary_category_name": "Productivity",
          "primary_category_slug": "productivity",
          "latest_month": "2026-08",
          "previous_month": "2026-07",
          "latest_visits": 131400,
          "previous_visits": 100000,
          "visits_change": 31400,
          "growth_rate": 0.314,
          "domain_rating": null,
          "favicon_url": null
        }
      ],
      "pagination": {
        "page": 1,
        "limit": 10,
        "has_more": false
      },
      "requested_locale": "en",
      "resolved_locale": "en"
    }
  }
}

TypeScript / Python

客户端接入

Node.js 可直接使用 fetch;Python 请先安装 httpx。鉴权请求应在服务端执行,从环境变量读取 SIGPIK_API_KEY。

复制所需端点的 TypeScript 或 Python 示例,也可使用 OpenAPI 文档生成类型化客户端。

获取开发者权限