Namescope
免费试用

REST API

在你自己的代码中发起扫描。该 API 面向 Pro 及以上套餐开放,使用 bearer 密钥认证,并以积分计费。

最后更新:2026 年 9 月 4 日

认证

在「设置 → API 密钥」中创建密钥。明文密钥只显示一次,之后无法找回;系统仅以可读形式保存它的前缀。每次请求都需将它作为 bearer 令牌发送。

curl https://api.namescope.dev/v1/usage \
  -H "Authorization: Bearer ns_live_..."

每个密钥都带有一组作用域。若请求需要该密钥不具备的作用域,会被拒绝并返回 403,因此你交给只读集成使用的密钥无法发起付费扫描。

作用域授予的权限
scans:writePOST /v1/scans —— 发起扫描,会消耗积分
scans:readGET /v1/scans、GET /v1/scans/{id}、GET /v1/usage
reference:read/v1/ref/* 查询端点

积分与配额

每一次扫描都以积分计费,无论从这里还是网页应用发起。费用是所运行模块的总和:五个默认模块共 100 积分,少选一个即更便宜。套餐每月发放积分,未用完的可结转。

扣费发生在任何任务入队之前,因此无法付费的扫描永远不会运行,也不会留下任何记录。如果扣费后入队失败,积分会自动退回。

  • 余额不足 → 429,并在 problem 响应体中说明缺口
  • 套餐不含 API 访问权限 → 402,并附升级链接
  • 工作区已关闭积分消费 → 403

发起扫描

POST /v1/scans 会将扫描入队并立即返回 202。扫描是异步的:响应携带的是 scanId,而不是结果。

curl -X POST https://api.namescope.dev/v1/scans \
  -H "Authorization: Bearer ns_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "tion studios",
    "regions": ["TR", "EM", "US"],
    "niceClasses": [9, 41],
    "tlds": ["com", "io"],
    "modules": ["trademark", "domain", "social"]
  }'
{ "scanId": "scn_...", "totalJobs": 12, "creditsSpent": 100, "balance": 1900 }
字段是否必填含义
name要查询的品牌名称,2–64 个字符
regions要检索的商标局。默认使用工作区的默认设置
niceClasses商品/服务类别 1–45。将商标命中范围收窄到真正的冲突
tlds域名后缀,不含前面的点
modulestrademark、domain、social、dev、appstore
adapters按 id 限定为特定的来源适配器
projectId将扫描归入某个已有项目
options.alternatives同时生成备选名称并对其进行轻量扫描
options.similarSearch对近似商标进行模糊检索(Pro 及以上)

读取结果

轮询 GET /v1/scans/{id},直到 status 变为 completed 或 completed_partial。一次典型扫描在一分钟内完成;建议每秒轮询一次,并随着等待逐步拉长间隔,以免长时间扫描耗尽你的速率限额。

curl https://api.namescope.dev/v1/scans/scn_... \
  -H "Authorization: Bearer ns_live_..."
status含义
queued已受理,尚未联系任何来源
running部分检查已完成;doneJobs / totalJobs 表示进度
completed全部检查均已完成
completed_partial已完成,但至少有一个来源无法核实
failed扫描无法执行

checks 中的每一条都是一个来源针对一个目标给出的回答,包含各自的判定结果、读取时所用的 sourceUrl 以及 fetchedAt 时间戳。summary 对象在扫描结束后出现,携带评分、风险等级和商标统计。

verdict含义
available该来源显示此名称尚未被占用
taken已被使用 —— 例如已注册的账号、可解析的域名
conflict存在与所查类别重叠的有效商标
risky已被使用,但是否会构成阻碍尚不确定
unknown该来源无法核实
error该来源请求失败;errorCode 说明原因

参考数据

四个查询端点说明了扫描请求可以包含哪些内容。它们需要 reference:read 作用域,且完全免费。

端点返回内容
GET /v1/ref/nice-classes尼斯分类的 45 个类别
GET /v1/ref/regions扫描可检索的商标局
GET /v1/ref/tlds按层级分组的域名后缀
GET /v1/ref/adapters全部来源适配器及其所属模块

错误与速率限制

错误以 RFC 9457 problem 文档的形式返回,内容类型为 application/problem+json。type 字段标识失败类型,detail 进行说明,部分错误还会附带 upgradeUrl 等额外字段。

{
  "type": "https://namescope.dev/errors/quota-exceeded",
  "title": "Quota exceeded",
  "status": 429,
  "detail": "Not enough credits (balance 0, need 100). Top up or switch off a module to continue."
}
状态码触发情形
400请求体未通过校验
401密钥缺失、无效、已吊销或已过期
402当前套餐不包含公开 API
403密钥缺少作用域,或积分消费已关闭
404此工作区中不存在该扫描
429超出速率限制或积分余额

速率限制按密钥在一分钟的滑动窗口内计数,并在每个响应中回报,因此你可以在被拒绝之前主动降速。

x-ratelimit-limit: 60
x-ratelimit-remaining: 58
x-ratelimit-reset: 41

OpenAPI

完整的机器可读描述由 /v1/openapi.json 提供。它无需认证,因此你在拿到密钥之前就可以据此生成客户端。