收到 Shodan API Key 后,不要急着直接写业务代码。先调用官方 api-info 接口,确认密钥有效、计划正确、额度符合预期。

最短操作

用一条 curl 命令完成自检

curl -X GET "https://api.shodan.io/api-info?key={YOUR_API_KEY}"

{YOUR_API_KEY} 替换为真实密钥。请勿把包含密钥的命令、终端截图或浏览器地址公开分享。

常见返回字段怎么理解

字段含义你应该关注什么
plan当前 API 计划标识确认交付计划是否符合商品说明
query_credits剩余查询积分影响带过滤器、翻页或下载等查询场景
scan_credits剩余扫描积分按官方规则,通常 1 个 IP 消耗 1 个扫描积分
monitored_ips可监控 IP 数量或当前状态用于判断网络监控相关能力
unlocked部分接口或结果是否解锁不同计划返回可能不同,以实时结果为准

推荐的验证顺序

  1. 1
    检查 HTTP 是否成功

    正常情况下会返回 JSON;如果是 401、403 或错误信息,先排查密钥和请求格式。

  2. 2
    确认 plan

    核对计划字段是否符合交付说明,不要只看某一个积分数字。

  3. 3
    记录初始额度

    保存交付当天的查询积分与扫描积分,便于后续排查消耗和刷新情况。

  4. 4
    做一次最小查询

    先用简单请求验证代码和网络,再逐步增加过滤器、翻页或批量任务。

不要这样保存 API Key

  • 不要提交到公开 Git 仓库或写死在前端 JavaScript。
  • 不要出现在截图、日志、错误上报和公开聊天记录里。
  • 生产环境优先使用环境变量或密钥管理服务。
  • 发现泄露时立即停止使用并联系售后或服务方处理。
References

参考资料

本文用于产品理解、开发学习与合法授权场景说明。第三方文档、软件版本和平台规则可能更新,请以来源页面最新内容为准。

FAQ

常见问题

返回 401 或 403 怎么办?

先检查密钥是否完整、是否包含空格、URL 是否正确;仍失败时再确认密钥状态和当前计划。不要把真实密钥发到公开聊天或截图中。

query_credits 为 0 就完全不能搜索吗?

不一定。Shodan 对不同请求的扣费规则不同;是否消耗查询积分与过滤器、页码和接口有关。

可以在浏览器地址栏直接验证吗?

技术上可以,但不推荐在共享电脑、录屏或会记录历史的环境中暴露密钥。使用终端并妥善清理历史更安全。