为您需要的 API 选择合适的方案
一个套餐涵盖所有 API:在浏览器中调用的访问者地理定位和邮箱检查(可公开密钥),以及从后端调用的 IP 查询、批量邮箱检查、注册检查和不可能出行检查(密钥)。每个档位除共享请求额度外,还以相同价格包含 IP 查询额度。
套餐
每个套餐都包含一个由所有 API 共享的每月请求额度——访问者地理定位、IP 查询以及邮箱、注册和不可能出行检查——另加一个单独的 IP 查询上限(后端密钥;批量请求最多接受 100 个 IP,每查询一个 IP 计为一次请求),统一价格。
Free
在个人项目中试用。
$0/月
10,000 每月包含的请求次数
30/min 持续速率限制
500 每月包含的 IP 查询次数
- 每月 10,000 次请求
- 每月 500 次 IP 查询
- 邮箱和注册检查(每个地址 1 次请求)
- 不可能出行检查(每次 1 次请求)
- 1 个来源域名
- 社区支持
Starter
适用于小型生产应用。
$9/月
或每年 $97.2——节省 10%
250,000 每月包含的请求次数
120/min 持续速率限制
≈ 每 1,000 次请求 $0.036
50,000 每月包含的 IP 查询次数
≈ 每 1,000 次查询 $0.18
- 每月 250,000 次请求
- 每月 50,000 次 IP 查询
- 邮箱和注册检查(每个地址 1 次请求)
- 不可能出行检查(每次 1 次请求)
- 多个来源域名
- VPN/Tor/威胁检测
- 邮件支持
Growth
适用于持续增长的产品。
$29/月
或每年 $313.2——节省 10%
1,500,000 每月包含的请求次数
300/min 持续速率限制
≈ 每 1,000 次请求 $0.019
300,000 每月包含的 IP 查询次数
≈ 每 1,000 次查询 $0.10
- 每月 1,500,000 次请求
- 每月 300,000 次 IP 查询
- 邮箱和注册检查(每个地址 1 次请求)
- 不可能出行检查(每次 1 次请求)
- 多个来源域名
- VPN/Tor/威胁检测
- 优先邮件支持
Scale
适用于高流量网站。
$79/月
或每年 $853.2——节省 10%
5,000,000 每月包含的请求次数
600/min 持续速率限制
≈ 每 1,000 次请求 $0.016
1,000,000 每月包含的 IP 查询次数
≈ 每 1,000 次查询 $0.08
- 每月 5,000,000 次请求
- 每月 1,000,000 次 IP 查询
- 邮箱和注册检查(每个地址 1 次请求)
- 不可能出行检查(每次 1 次请求)
- 多个来源域名
- VPN/Tor/威胁检测
- 优先支持
Enterprise
自定义用量、SLA 与支持。
自定义
Custom 每月包含的请求次数
Custom 持续速率限制
自定义 每月包含的 IP 查询次数
- 自定义请求量
- 自定义 IP 查询量
- 邮箱和注册检查(每个地址 1 次请求)
- 不可能出行检查(每次 1 次请求)
- 多个来源 + SLA
- VPN/Tor/威胁检测
- 优先支持
每个 API 分别包含什么
各 API 的响应结构并不相同。集成前请比较端点、密钥、数据来源和计费单位。
| 产品 | 端点 | 密钥 | 数据来源 | 补充信息 | 安全字段 | 计费单位 |
|---|---|---|---|---|---|---|
| 访问者地理位置 | GET /v1/geo | 公开可用,限制来源 | 网络级请求数据 | 货币、语言环境、假日、合规提示 | 仅限符合条件的方案 | 按每次成功请求 |
| IP 查询 | GET /v1/lookup/{ip} | Bearer 密钥 | 第三方 IP 地理位置数据库 | 根据所查询位置推导的货币、区域设置、节假日和合规提示 | 仅限符合条件的方案 | 按每个已查询 IP |
| 批量 IP 查询 | POST /v1/lookup | Bearer 密钥 | 第三方 IP 地理位置数据库 | 根据所查询位置推导的货币、区域设置、节假日和合规提示 | 仅限符合条件的方案 | 按每个已查询 IP,每次请求最多 100 个 |
| 邮箱检查 | POST /v1/email/validate | 公开可用,限制来源——与 GET /v1/geo 相同的密钥 | 语法、一次性域名列表、DNS 邮件服务器查询 | 拼写纠正建议、角色地址与免费邮箱提供商标记、附原因的结论 | 不包含 | 按每个已检查地址,计入您套餐的请求上限 |
| 批量邮箱检查 | POST /v1/email/batch, POST /v1/email/jobs | Bearer 密钥 | 与邮箱检查相同 | 与邮箱检查相同;列表任务返回 CSV | 不包含 | 按每个已检查地址(每批最多 100 个,每个列表任务最多 100,000 个;任务内的重复地址只计费一次) |
| 注册检查 | POST /v1/signup/check | Bearer 密钥 | 邮箱检查,外加 IP 的网络指标和域名注册时长 | 0–100 分评分,附原因的结论 | 仅限符合条件的方案 | 按每次调用,计入您套餐的请求上限 |
| 不可能旅行检测 | POST /v1/risk/check | Bearer 密钥——与 IP 查询相同的密钥 | 第三方位置与存储的每用户基线位置对比 | 无——仅提供风险与旅行相关字段 | 不包含 | 按次检查计费,计入套餐请求额度 |
比较套餐
上方明细的并排对比。
| 方案 | 每月请求数 | 查询次数/月 | 速率限制 | 来源 | 支持 | 价格 |
|---|---|---|---|---|---|---|
| Free | 10,000 | 500 | 30/min | 1 | 社区 | $0/mo |
| Starter | 250,000 | 50,000 | 120/min | 多个 | 邮件 | $9/mo |
| Growth | 1,500,000 | 300,000 | 300/min | 多个 | 优先邮件 | $29/mo |
| Scale | 5,000,000 | 1,000,000 | 600/min | 多个 | 优先 | $79/mo |
| Enterprise | Custom | 自定义 | Custom | 自定义 | 优先 + SLA | 自定义 |
常见问题
什么算作一次请求?
每个通过密钥和来源检查的已认证调用计为一次请求:一次访问者地理定位调用、每个被查询的 IP、每个被检查的邮箱地址、每次注册检查以及每次不可能出行检查。之后未通过输入校验的调用同样计数。因缺少或无效密钥、来源不被允许或每分钟速率限制而被拒绝的调用不计数,删除风险基线或轮询邮箱列表任务状态也不计数。
速率限制(例如“30/分钟”)具体是什么意思?
这是一个固定的一分钟时间窗口,与整分钟对齐——而非滑动平均值。在 Free 方案下,例如在 10:32:00 到 10:32:59 之间您最多可发起 30 次请求;计数器会在 10:33:00 归零。超出限制会返回 HTTP 429,并带有 Retry-After 响应头,告知您距离窗口重置还有多少秒。它与您下方的每月请求量相互独立——它限制的是突发速率,而非总用量。该限制按 API 调用次数计算,而不是按条目计算:一个最多包含 100 个 IP 或邮箱地址的批量请求,或创建一个邮箱列表任务,都只算一次请求——但其中的每个 IP 或地址仍会分别计入您的每月请求量。
如果我超出了每月请求量会怎样?
我们不会自动关闭您的密钥。如果您持续接近方案上限,可随时从控制台升级——无需更改代码或 API 密钥。
为什么 Watch-IP 比其他 IP 地理位置 API 更便宜?
访问者地理定位读取边缘请求数据并在本地进行地区信息补充,这使其成本——以及价格——远低于大多数提供商的同等档次。服务器端 IP 查询并非单独出售,而是捆绑在同一套餐和价格中:每个套餐都包含请求上限和 IP 查询额度,两者均从该套餐的共享月度池中扣除。
除了位置信息,API 还会返回什么?
访问者地理定位和 IP 查询响应在有源数据时包含地区补充信息。符合条件的套餐还包含基于名单的安全指标。邮箱检查返回单独的域名级结果。延迟因请求和启用的功能而异。
我可以查询任意 IP 地址,而不仅仅是我自己网站的访问者吗?
可以。GET /v1/geo 仍仅用于访问者的客户端自我查询,解析实际连接的 IP。要查询任意 IP,GET /v1/lookup/{ip}(单个)和 POST /v1/lookup(批量,每次调用最多 100 个 IP)是服务器到服务器的接口,使用保密密钥而非可公开密钥进行身份验证——密钥保留在您的后端,绝不会发送到浏览器。两者都依赖第三方 IP 地理定位数据库,而非我们自己的实时网络数据,响应结构不同,也没有经过验证的相对准确度排名——具体提供商和所需的署名信息请参见数据来源——用量按查询的 IP 计费,与地理定位请求一对一地从您套餐的共享月度池中扣除(查询总量的独立上限请参见上方套餐的 IP 查询额度)。由于该接口查询的是您的客户提供的 IP,而非访问者自行发起的调用,这使 Watch-IP 成为代表您处理该第三方数据的处理者——有关这对您自身合规义务的意义,请参阅 DPA。
你们能为我的用户检测异常位移/账户盗用吗?
POST /v1/risk/check 会将提供的 IP 的第三方解析位置与已存储的用户基线进行比较,并返回低/中/高风险等级及 impossibleTravel 标记。它使用后端密钥进行身份验证。请联系我们以确认可用性、开通情况及定价;独立的风险方案强制执行机制及结账功能的就绪程度尚未得到验证。VPN 切换及移动网络路由可能导致误报。
你们能在我的注册表单上标记一次性或临时邮箱地址吗?
可以。POST /v1/email/validate 使用限制来源的可公开密钥,检查语法、已知的一次性域名、域名是否有邮件服务器、可能的拼写错误和角色地址,并返回附带理由的接受、复核或拒绝判定。在后端,POST /v1/email/batch 每次调用最多检查 100 个地址,列表任务最多处理 100,000 个,POST /v1/signup/check 则加入注册 IP 的网络信号。每个被检查的地址计为套餐每月额度中的一次请求(列表任务中每个不重复地址只计费一次)。这些检查都不会连接邮箱,因此不能验证邮箱是否存在、归属或能否投递。
我的 API 密钥是需要保密的秘密信息吗?
取决于密钥类型。可公开密钥——用于 GET /v1/geo 和 POST /v1/email/validate——本就设计为出现在页面源代码中,就像 Stripe 或 Google Maps 的可公开密钥;访问控制依靠来源限制:每个密钥只能从您登记的域名使用,CORS 也只授予匹配的来源。密钥(secret key)——用于 IP 查询、批量邮箱检查、注册检查和不可能出行检查——必须保留在后端,绝不能出现在浏览器代码中。
是否有 SDK,还是必须直接调用 API?
我们提供 JavaScript/TypeScript、Python、PHP、Go 及 Flutter/Dart 的 SDK 源码包。使用前请确认软件包仓库的可用性及端点支持范围。GET /v1/geo 始终定位当前连接的调用方;后端调用不会定位您的网站访问者。若要查询指定的 IP,请使用密钥查询。
我可以获取访问者的主机名(反向 DNS)吗?
可以,但这是可选功能:在请求中添加 ?include=hostname(或在 SDK 中传入 include: ["hostname"]),响应中就会新增一个 hostname 字段,该字段通过 DNS-over-HTTPS 的 PTR 查询解析得出。若不存在 PTR 记录,则为 null。与上方始终启用的补充字段不同,此功能会在请求过程中执行一次真实的网络查询,因此默认不启用,以避免为每次调用增加延迟。
你们能告诉我某个访问者是否在使用 VPN、Tor,或是否为已知的威胁来源吗?
符合条件的套餐会在访问者地理定位和 IP 查询响应中都包含基于名单的 isVpn、isTor、isDatacenter、isThreat 和 isSanctionedNetwork 标记;Free 套餐不含安全信息。IPv4 支持名单和 ASN 匹配。IPv6 支持 VPN、数据中心和威胁网段以及 ASN 匹配,但不覆盖 Tor。生产环境的覆盖范围取决于可用的数据源。false 表示在可用数据中未找到匹配,并不保证安全;这些信号也不是最终的制裁筛查。
API 能否告诉我某项隐私法规(GDPR、CCPA、LGPD 等)是否适用于某位访问者?
可以——每个响应都包含一个 compliance 对象:isGDPR(欧盟/欧洲经济区 + 英国)、usPrivacyLaw(适用的美国州法律,例如 CCPA/CPRA 或 VCDPA,依据访问者所在州判定)、isLGPD(巴西)、推导得出的 requiresCookieConsent 标记、粗粒度的 dataResidencyZone,以及 isEmbargoedCountry(OFAC 全面制裁国家)。该功能包含在所有方案中,不产生额外费用,与货币和国家电话区号相同。这是根据访问者位置计算出的初步管辖区域信号,并非法律意见——请务必与您自己的法律顾问确认合规要求。
API 能否为我的界面建议合适的语言环境?
可以——每个响应都包含一个 locale 对象:suggestedLocale 是结合访问者国家与其浏览器自带的 Accept-Language 请求头得出的 BCP47 语言环境,优先选择当地实际使用的语言(例如,一位加拿大访问者的 Accept-Language 为“fr”时,会得到“fr-CA”,而非“fr-FR”),当请求头中没有匹配项时,则回退到该国家的默认语言环境。同一对象还包含 measurementSystem(公制/英制)、firstDayOfWeek 及 dateFormat,让您无需自行重新推导区域格式约定。该功能包含在所有方案中,不产生额外费用。
API 能否告诉我今天对某位访问者而言是否为公共假日?
可以——每个响应都包含一个 holiday 对象:isPublicHolidayToday、todayHolidayName,以及该访问者所在国家的 nextHoliday(日期与名称),其数据来自一份精心整理的静态表格(目前约覆盖 40 个国家/地区——G20 + 欧盟/欧洲经济区 + 英国),数据源自 Nager.Date,并以每年一到两次的人工节奏更新,而非在请求时实时计算。对于列表之外的国家,该字段为 null,且仅统计全国性公共假日,不包含仅限州/省的假期。该功能包含在所有方案中,不产生额外费用;如有需要,可申请增加更多国家。
API 能否告诉我某位访问者所在的州是否要求对成人内容进行年龄验证?
静态映射根据近似的 IP 位置提供年龄与管辖区域提示信息。它们不验证身份或年龄;请自行确认适用的具体要求。