HackMyIP

批量IP查詢API

向 /api/bulk 提交最多50個IP — 免費批量地理位置和ISP,無需金鑰、無需註冊

需要一次性取得一批IP的地理位置和ISP資料?HackMyIP的批量端點單次POST最多接受50個IP,並為每個IP回傳一條結果——免費、無需金鑰、無需註冊。它比50次循序呼叫更快,也更省速率配額。如果你更想在瀏覽器裡貼上清單,還有互動式 批量查詢工具。完整參考見 API文件

POST /api/bulk

發送包含 "ips" 陣列的JSON主體(最多50個):

curl -X POST -H "Content-Type: application/json" \
  -d '{"ips":["8.8.8.8","1.1.1.1","208.67.222.222"]}' \
  https://hackmyip.com/api/bulk

回應——每個IP一列,包含國家、城市、ISP、組織和座標:

{
  "success": true,
  "data": {
    "total": 3,
    "results": [
      { "ip": "8.8.8.8", "country": "US", "city": "...",
        "isp": "Google LLC", "org": "...", "lat": 0, "lon": 0 },
      { "ip": "1.1.1.1", "country": "...", "city": "...",
        "isp": "...", "org": "...", "lat": 0, "lon": 0 }
    ]
  }
}

無效或無法解析的條目會以 { "ip": "...", "error": "invalid format" } 回傳,因此單個壞IP不會讓整批失敗。

程式碼範例

JavaScript (fetch)

const res = await fetch('https://hackmyip.com/api/bulk', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ ips: ['8.8.8.8', '1.1.1.1', '9.9.9.9'] })
});
const { data } = await res.json();
data.results.forEach(r => console.log(r.ip, r.country, r.isp));

Python (requests)

import requests

ips = ['8.8.8.8', '1.1.1.1', '208.67.222.222']
r = requests.post('https://hackmyip.com/api/bulk', json={'ips': ips})
for row in r.json()['data']['results']:
    print(row['ip'], row.get('country'), row.get('isp'))

查詢超過50個IP

批量端點每次請求上限為50個IP。對於更大的清單,可將其分成每批50個,或當你需要更豐富的單IP欄位(如數字ASN)時迴圈呼叫單IP的 /api/lookup 端點。請保持在每分鐘60次請求以內:

import requests, time

ips = [ ... ]  # any number of IPs
for ip in ips:
    r = requests.get('https://hackmyip.com/api/lookup', params={'ip': ip})
    d = r.json()['data']
    print(ip, d['network']['asn'], d['network']['isp'])
    time.sleep(1)  # stay under 60 requests/minute

免費批量IP API對比

各免費IP API的批量限制差異很大——有的無需金鑰,有的批量上限很小,有的把批量功能放在付費層。下表資料於2026年7月依據各服務商自己的文件核對;服務商經常調整限制,請在建置前到其官網確認。

服務 每次請求IP數 需要金鑰 備註
HackMyIP (/api/bulk)50無需註冊,60次/分鐘
ip-api.com (batch)10015次/分鐘,非商業用途
ipapi.co (bulk)25 (免費)否(25個內)付費計劃每次可查更多
ipinfo.io (/batch)1000是(權杖)批量需要權杖
ipgeolocation.io僅付費批量為付費訂閱功能

要查看各免費IP API回傳內容(不僅是批量)的完整對比,請見 最佳免費IP地理定位API彙總

為什麼批量優於逐個查詢

批量端點的存在是為了攤薄速率限制。每次單IP呼叫都會為一個結果花掉你速率配額的一個單位;而一次批量請求可以把多個IP裝進同一次請求。ip-api.com 的文件直接說明了這一點——其批量為每次POST 100個IP、每分鐘15次請求(每分鐘最多1,500個IP),而單IP端點為每分鐘45次請求。無論哪種方式,速率限制都是上限;批量只是把遠更多的IP裝進這個上限之下。

批量IP地理定位有多準確?

批量只改變吞吐量,而非準確度——無論你查1個還是50個,每個IP都針對同一個地理定位資料庫解析。而這類資料本質上是近似的。IP地理定位的主要來源之一 MaxMind 明確表示,其資料「絕不足以精確到識別或定位特定的家庭、個人或街道地址」。請把批量結果視為用於日誌分析、濫用甄別、建立白名單/黑名單的國家與城市級估計——而不是家庭住址。

需要檢查整個IP範圍?用 CIDR計算器 將CIDR區塊展開為單個位址(或用 IP範圍轉CIDR 轉換範圍),然後貼上清單。要取得IP背後的數字ASN和組織,可迴圈呼叫 ASN查詢

常見問題

有免費的批量IP查詢API嗎?

有。HackMyIP的 POST /api/bulk 每次請求接受最多50個IP的JSON陣列,並為每個IP回傳地理位置和ISP——無需金鑰、無需註冊。超過50個IP時,可分多批發送或迴圈呼叫單IP的 /api/lookup 端點。

批量IP WHOIS 怎麼辦?

HackMyIP不提供批量WHOIS端點。要查詢網路歸屬,可對每個IP使用單IP的 /api/lookup(回傳ASN、ISP和組織)或 /api/asn?q={ip}。/api/whois 端點用於網域RDAP,而非IP WHOIS。請在你的清單上迴圈呼叫這些端點,並遵守每分鐘60次請求的限制。

我一次可以查詢多少個IP?

每次 POST /api/bulk 請求最多50個IP。該端點將陣列上限設為50並並行查詢,因此一次批量比50次循序呼叫快得多。更大的清單請分多批發送。

批量IP查詢需要API金鑰嗎?

在這裡不需要——HackMyIP 的 /api/bulk 端點無需金鑰、無需註冊。免費服務之間各有不同:ip-api.com 的批量請求無需金鑰(非商業用途,其文件記錄為每分鐘15次請求),而 ipinfo.io 等服務需要權杖,有些還把批量功能放在付費層。使用前請務必查看具體服務的限制。

批量IP地理定位和單個查詢一樣準確嗎?

一樣準確。批量和單個查詢讀取的是同一個地理定位資料庫,因此每個IP的準確度完全相同——批量只改變每次請求處理的數量,而不改變資料品質。請記住,IP地理定位是近似的:MaxMind 明確表示其資料的精度絕不足以識別特定家庭或街道地址,因此應預期國家和城市層級的估計。

我可以批量查詢一個IP範圍或CIDR區塊嗎?

批量端點接受的是單個IP,而不是直接的CIDR表示法。請先用CIDR計算器將 192.0.2.0/24 這樣的範圍展開為其256個位址,然後貼上清單。在從已知區塊建立白名單或黑名單時,這很方便。

批量查詢工具 完整API文件 單IP查詢