跳转到内容
Guide

ipstack 替代方案:IP 地理定位加上 150 个端点

| 7 min read

ipstack 仅 IP 地理定位费用为 9.99 美元/月。 Botoi 捆绑了城市级 IP 查找、VPN 检测和 150 多个开发者端点,开始免费。

World map with glowing connection lines showing IP geolocation data
Photo by NASA on Unsplash

您为 ipstack 支付 9.99 美元/月的费用用于一个端点:IP 地理定位。 这就是整个产品。 当您下周需要电子邮件验证时,您将使用另一个密钥注册另一个 API,然后 另一张账单。 DNS 查找? 另一项服务。 哈希、JWT 解码、QR 码? 还有三个。

波托伊的 /v1/ip/lookup 返回 ipstack 提供的相同城市级地理位置数据, 加上单个 API 密钥下的 150 个端点。 免费层包括 HTTPS(ipstack 不包括), 每天为您提供 100 个请求,而不是每月 100 个,并且无需额外付费即可进行 VPN 检测。

并排:ipstack 与 botoi IP 查找

这两个 API 都将 IP 地理定位到城市级别。 请求格式和响应结构不同。 以下是每个人查找 Google 公共 DNS (8.8.8.8) 的情况。

ipstack 请求和响应

# ipstack (free tier: HTTP only, no HTTPS)
curl "http://api.ipstack.com/8.8.8.8?access_key=YOUR_IPSTACK_KEY"

回复:

{
  "ip": "8.8.8.8",
  "type": "ipv4",
  "continent_code": "NA",
  "continent_name": "North America",
  "country_code": "US",
  "country_name": "United States",
  "region_code": "CA",
  "region_name": "California",
  "city": "Mountain View",
  "zip": "94043",
  "latitude": 37.4223,
  "longitude": -122.085,
  "location": {
    "geoname_id": 5375480,
    "capital": "Washington D.C.",
    "languages": [{"code": "en", "name": "English"}],
    "country_flag": "https://assets.ipstack.com/flags/us.svg",
    "country_flag_emoji": "\\ud83c\\uddfa\\ud83c\\uddf8"
  }
}

请注意,URL 使用 HTTP,而不是 HTTPS。 ipstack 将 HTTPS 限制为付费计划。 您的 API 密钥 响应数据在免费层上传输时未加密。

botoi 请求和响应

# botoi (HTTPS on every tier, including free)
curl -X POST https://api.botoi.com/v1/ip/lookup \\
  -H "Content-Type: application/json" \\
  -d '{"ip": "8.8.8.8"}'

回复:

{
  "success": true,
  "data": {
    "ip": "8.8.8.8",
    "city": "Mountain View",
    "region": "California",
    "country": "US",
    "countryName": "United States",
    "latitude": 37.4223,
    "longitude": -122.085,
    "timezone": "America/Los_Angeles",
    "postalCode": "94043",
    "asn": 15169,
    "asnOrg": "Google LLC",
    "continent": "NA",
    "currency": "USD"
  }
}

Botoi 在每一层都使用 HTTPS。 响应包括时区、ASN 组织、洲、 和货币代码; 字段 ipstack 门落后于更高的计划或根本不返回。

响应场比较

这两项服务都会返回核心地理定位字段。 差异在于默认包含的内容 与额外费用相比。

场地 ipstack 发表
城市 所有计划 所有计划
地区/州 所有计划 所有计划
国家 所有计划 所有计划
纬度/经度 所有计划 所有计划
邮政编码 所有计划 所有计划
时区 所有计划 所有计划
ASN / ISP 所有计划 所有计划
货币代码 所有计划(通过位置对象) 所有计划
国旗/表情符号 所有计划 不包括在内
语言 所有计划 不包括在内
大陆 所有计划 所有计划
VPN/代理/Tor 检测 安全模块附加组件($49.99+/月) 通过 /v1/vpn-detect 免费
HTTPS 仅付费计划(9.99 美元以上/月) 所有计划

核心地质领域具有可比性。 主要差距:ipstack 返回国家标志、语言数据、 以及 botoi 没有的连接类型字段。 Botoi 包括 VPN 检测和 HTTPS ipstack 额外收费的层。

定价比较

计划 ipstack 发表
自由的 100 个请求/月,仅 HTTP,无安全模块 每天 100 个请求(每月 3,000 个),HTTPS,无需注册
入门/基础 $9.99/月,50,000 个请求,HTTPS,1 个端点 9 美元/月,300,000 个请求,HTTPS,所有 150 多个端点
专业/专业 $49.99/月,500,000 个请求,批量查找 29 美元/月,1,000,000 个请求,所有 150 多个端点
商业/企业 $99.99/月,1,000,000 需求,安全模块 199 美元/月,最高速率限制,所有 150 多个端点

ipstack 每月 9.99 美元可以为您购买 50,000 个请求 一个端点。 波托伊的 每月 9 美元即可为您购买 300,000 个请求 所有 150 多个端点

免费套餐的差距甚至更大。 ipstack 每月通过 HTTP 提供 100 个请求,无需 加密。 Botoi 每天通过 HTTPS 发出 100 个请求(大约 3,000 个/月),无需 需要帐户。

VPN 检测:包含与附加组件

ipstack 提供了一个“安全模块”,可以检测 VPN、代理、Tor 出口节点和已知的 攻击者。 这是商业计划(49.99 美元/月)及以上的附加服务。 上 基本和专业计划,您无法以任何价格访问它。

波托伊的 /v1/vpn-detect 端点包含在每个层中,包括免费的 匿名访问。

curl -X POST https://api.botoi.com/v1/vpn-detect \\
  -H "Content-Type: application/json" \\
  -d '{"ip": "8.8.8.8"}'

回复:

{
  "success": true,
  "data": {
    "ip": "8.8.8.8",
    "isVpn": false,
    "isProxy": false,
    "isTor": false,
    "isDatacenter": true,
    "riskScore": "medium",
    "provider": "Google LLC"
  }
}

响应包括 VPN、代理、Tor 和数据中心连接的布尔标志,以及 风险评分。 对于结账流程中的欺诈预防或地理限制实施,这包括 无需额外订阅的常见用例。

botoi 还能带来什么

ipstack 是一个 IP 地理定位 API。 这就是它的整个产品表面。 Botoi是一款开发者工具 具有 150 多个端点的平台。 当您为 IP 地理定位创建 botoi API 密钥时,您还可以获得:

  • 电子邮件验证和一次性电子邮件检测 (取代 Mailgun 验证、ZeroBounce)
  • DNS 查找、SPF/DMARC/DKIM 检查 (取代 MXToolbox API 访问)
  • SSL证书监控 (取代 UptimeRobot 的 SSL 检查)
  • WHOIS 和域名可用性 (取代 WhoisXML API)
  • 哈希生成、JWT 签名/解码 (取代手动实用函数)
  • QR 码和条形码生成 (取代 QR 服务器、条形码 API)
  • 从 HTML 和 Markdown 生成 PDF (替换 html-pdf-service)
  • 网站截图捕捉 (替换屏幕截图)
  • JSON 到 TypeScript、JSON 到 Zod 架构转换 (替换本地工具)
  • 货币换算和汇率 (取代 Fixer.io)

所有这些都共享相同的 API 密钥、相同的速率限制池和相同的每月发票。 完整列表位于 API文档

# DNS lookup
curl -X POST https://api.botoi.com/v1/dns/lookup \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -d '{"domain": "google.com", "type": "A"}'

# Email validation
curl -X POST https://api.botoi.com/v1/email/validate \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -d '{"email": "dev@company.io"}'

# SHA-256 hash
curl -X POST https://api.botoi.com/v1/hash \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -d '{"text": "hello world", "algorithm": "sha256"}'

# QR code generation
curl -X POST https://api.botoi.com/v1/qr/generate \\
  -H "Content-Type: application/json" \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -d '{"text": "https://botoi.com", "format": "png"}'

迁移:在 Express 中将 ipstack 替换为 botoi

如果您在 Express 中间件中使用 ipstack 对传入请求进行地理定位,则以下是 之前和之后。

之前 (ipstack)

// BEFORE: ipstack in Express middleware
app.use(async (req, res, next) => {
  const ip = req.headers["x-forwarded-for"] || req.ip;
  const response = await fetch(
    \`http://api.ipstack.com/\${ip}?access_key=\${process.env.IPSTACK_KEY}\`
  );
  const geo = await response.json();

  req.geo = {
    city: geo.city,
    region: geo.region_name,
    country: geo.country_code,
    lat: geo.latitude,
    lng: geo.longitude,
  };
  next();
});

之后(发布)

// AFTER: botoi in Express middleware
app.use(async (req, res, next) => {
  const ip = req.headers["x-forwarded-for"] || req.ip;
  const response = await fetch("https://api.botoi.com/v1/ip/lookup", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: \`Bearer \${process.env.BOTOI_API_KEY}\`,
    },
    body: JSON.stringify({ ip }),
  });
  const { data } = await response.json();

  req.geo = {
    city: data.city,
    region: data.region,
    country: data.country,
    lat: data.latitude,
    lng: data.longitude,
  };
  next();
});

三处变化:URL 从路径中包含 IP 的 GET 切换为包含 IP 的 POST 身体。 这 access_key 查询参数变为 Bearer 令牌。 响应字段名称略有变化(region_name 变成 region, country_code 变成 country)。 其他一切都保持不变。

ipstack 更强的地方

诚实比较 ipstack 的优势:

  • 任意 IP 查找。 ipstack 可以对您传递给它的任何 IP 地址进行地理定位。 波托伊的 /v1/ip/lookup 适用于调用者的 IP 或您在正文中传递的 IP, 使用来自 Cloudflare 边缘网络的地理位置数据。 用于离线批处理 来自日志文件、ipstack 的数据库支持方法或自托管的数百万个 IP MaxMind GeoLite2数据库比较合适。
  • 国家国旗和语言数据。 ipstack 返回 SVG 标志 URL、标志表情符号、 每个响应中的语言元数据。 Botoi 不包含这些字段。
  • 连接类型。 ipstack识别连接是否是宽带, 有线、无线或拨号。 Botoi 不对连接类型进行分类。
  • 威胁情报。 ipstack 的安全模块包括威胁评分和 已知攻击者检测。 Botoi 的 VPN 检测涵盖 VPN、代理、Tor 和数据中心 标记,但不包括基于声誉的威胁评分。

如果您的产品依赖于跨任意地址的深度 IP 智能,ipstack 的 数据库支持的模型为您提供的数据是 botoi 基于边缘的方法无法比拟的。 如果您使用 案例是“对我自己的访问者进行地理定位、阻止 VPN,并拥有 150 个其他开发人员端点 可用”,botoi 是更具成本效益的选择。

要点

  • ipstack 的免费套餐:100 个请求/月,仅 HTTP,无 VPN 检测。 Botoi 的免费等级: 每天 100 个请求,包含 HTTPS、VPN 检测,无需注册。
  • ipstack 的基本计划为 9.99 美元/月,您可以向一个端点发出 50,000 个请求。 波托伊的 9 美元/月的入门计划为您提供跨 150 多个端点的 300,000 个请求。
  • ipstack(安全模块附加组件)上的 VPN 检测费用为每月 49.99 美元以上。 botoi 上是免费的。
  • ipstack 对于任意 IP 查找、国家标志数据、连接类型检测、 和威胁情报评分。
  • Botoi 的广度更强:一键、一张账单、150 多个涵盖 IP 地理定位的端点, 电子邮件验证、DNS、哈希、QR 码、PDF 生成等。

FAQ

botoi 是 ipstack 的免费替代品吗?
是的。 Botoi 的 /v1/ip/lookup 端点返回城市、地区、国家、坐标、时区、邮政编码和 ASN 数据。 免费套餐包括 HTTPS,无需注册,并且允许每分钟 5 个请求或每天 100 个请求。 ipstack 的免费套餐每月提供 100 个请求,无需 HTTPS。
botoi 在免费套餐上支持 HTTPS 吗?
是的。 每个 botoi 请求在所有层上都通过 HTTPS 运行,包括匿名免费访问。 ipstack 将 HTTPS 限制为付费计划,起价为 9.99 美元/月。 他们的免费套餐仅使用 HTTP,这意味着地理位置数据和您的 API 密钥在传输时未加密。
我可以使用 botoi 检测 VPN 和代理吗?
是的。 /v1/vpn-Detect 端点返回 VPN、代理、Tor 和数据中心连接的布尔标志以及风险评分。 它包含在每个级别中,无需额外付费。 ipstack 对其安全模块附加组件收取额外费用,该附加组件仅在商业计划中提供,价格为 49.99 美元/月或更高。
如何从 ipstack 迁移到 botoi?
将 ipstack GET 请求替换为 https://api.botoi.com/v1/ip/lookup 的 POST。 在 JSON 正文中传递 IP,而不是 URL 路径。 将 access_key 查询参数替换为 Authorization 标头中的 Bearer 令牌。 响应字段紧密映射:ipstack 的“city”是 botoi 的“city”,“region_name”是“region”,“latitude”/“longitude”保持不变。
除了 IP 地理定位之外,使用 botoi API 密钥还能获得什么?
一个 botoi API 密钥可让您访问 6 个类别的 150 多个端点:查找(DNS、WHOIS、电子邮件验证、SSL 检查)、文本和数据(JSON、CSV、Markdown、Base64)、开发人员实用程序(散列、JWT、cron、UUID)、图像和媒体(QR 代码、屏幕截图、PDF 生成)、安全性(IBAN、增值税、违规检查)和存储(webhooks、URL 缩短器、粘贴箱)。

开始使用 botoi 构建

150+ 个 API 端点,涵盖查询、文本处理、图片生成和开发者工具。免费套餐,无需信用卡。