API v1 · HTTP · JSON

IP 查詢 API、終端機用法與準確性

使用 curl 或 PowerShell 從終端機查詢 IP、讀取 JSON 與純文字 API,並瞭解 IPv4/IPv6 探測主機、地理位置準確性限制及隱私處理方式。

GET API key JSON · UTF-8

API

HTTP 與 JSON API

無需驗證

核心端點不需要帳號或 Cookie。動態回應使用 Cache-Control: no-store,並包含限流標頭。位址家族探測使用第一方主機;請求經由錯誤的位址家族抵達時會安全失敗。

API v1

穩定 JSON

供自身與指定目標查詢使用的版本化 snake_case JSON。需要穩定回應契約的整合應使用 v1;未版本化的 JSON 與終端路由保留為便利介面。

GET/api/v1/self

目前 IP 的結構化結果,包含網路、位置與 ASN 欄位。

Shell
curl --fail --silent --show-error https://iprapid.com/api/v1/self
GET/api/v1/lookup/{ip}

查詢一個已驗證的 IPv4 或 IPv6 位址並回傳結構化結果。

Shell
curl --fail --silent --show-error https://iprapid.com/api/v1/lookup/8.8.8.8
GET/api/v1/meta

schema_version · capabilities · fields

Shell
curl --fail --silent --show-error https://iprapid.com/api/v1/meta

JSON

相容介面
路徑回應
GET /根路徑支援內容協商:CLI 與 */* 回傳 JSON,text/plain 回傳單一 IP,明確要求 text/html 時回傳 SSR 頁面。
GET /json目前 IP 的結構化結果,包含網路、位置與 ASN 欄位。
GET /json/{ip}查詢一個已驗證的 IPv4 或 IPv6 位址並回傳結構化結果。
GET /ip/{ip}供機器用戶端使用的標準目標 IP;只有明確要求 HTML 時才回傳 noindex 查詢頁。
Shell
curl -sS https://iprapid.com/json
curl -sS https://iprapid.com/json/8.8.8.8

終端機

TEXT / ANSI
路徑回應
GET /ip標準化目前 IP,結尾恰好一個換行。
GET /info[/{ip}]欄位順序穩定、沒有 ANSI 控制位元組的詳細 UTF-8 純文字。
GET /ansi[/{ip}]/info 的明確彩色版本,只使用允許的 SGR。
GET /field/{field}[/{ip}]一個允許的純量值與換行;值無法使用時回傳 204。
Shell
# Shell IPv4/IPv6
curl iprapid.com
# Shell IPv4
curl -4 iprapid.com
# Shell IPv6
curl -6 iprapid.com
PowerShell
# PowerShell IPv4/IPv6
curl.exe iprapid.com
# PowerShell IPv4
curl.exe -4 iprapid.com
# PowerShell IPv6
curl.exe -6 iprapid.com

API v1 · JSON

APPLICATION/JSON
JSON
{
  "schema_version": "1",
  "query": {
    "type": "lookup",
    "ip": "8.8.8.8",
    "ip_version": 4
  },
  "network": {
    "asn": 15169,
    "as_organization": "Google LLC"
  },
  "location": {
    "continent_code": "NA",
    "country_code": "US",
    "country": "United States",
    "region_code": null,
    "region": null,
    "city": null,
    "postal_code": null,
    "timezone": "America/Chicago",
    "coordinates": {
      "latitude": 37.751,
      "longitude": -97.822,
      "accuracy_radius_km": 1000
    }
  },
  "data": {
    "status": "available",
    "built_at": "2026-03-03T08:15:43Z"
  },
  "observed_at": "2026-07-25T12:23:07Z"
}

方法與訊號邊界

本服務分開呈現伺服器觀測到的網路事實、本機地理資料集與瀏覽器端證據,不會把一種訊號冒充成另一種。

  • 顯示的公網 IP 是服務在該 HTTP 連線上實際觀測到的位址。
  • 國家、地區、城市、時區、座標、ASN 與組織來自本機資料集;公開結果會顯示精度半徑,資料來源、建置時間與健康診斷僅供已驗證的管理員查看。
  • WebRTC、DNS、語言、時區與 IPv6 測試是彼此獨立的瀏覽器端觀測;敏感測試不會被暗中換算為安全分數。
  • 無法使用、未知、沒有觀測與不一致是不同狀態。測試失敗或未設定時,絕不會回報為通過。

準確性與資料新鮮度

IP 地理位置描述的是網路分配,不是裝置或住家。城市與座標可能與使用者相距很遠;精度半徑是不確定範圍估計,不是保證。資料集的新鮮度與品質會在內部持續監控,且僅供已驗證的管理員查看。

隱私權與保留

查詢流程不會把原始 IP、請求 URI、標頭或指紋寫入 PostgreSQL 彙總表。Caddy 存取記錄會依文件所述的受限輪替政策處理。診斷分享連結只在 URL fragment 中包含經過遮蔽的狀態,具備簽章、24 小時後失效,且不建立分享記錄。

常見問題

顯示的城市是我的精確位置嗎?

不是。IP 地理位置只是網路層級的近似估計。請參考顯示的精度半徑,且不要把座標視為裝置或街道地址。

本服務會把我的 IP 查詢存入資料庫嗎?

應用程式不會在 PostgreSQL 使用量彙總中保存原始 IP;受限的 Web 存取記錄會依隱私權政策所述的獨立規則保留與輪替。

為什麼 IPv6 可能顯示未知,而不是無法使用?

未設定的探針、遭阻擋的請求或無法得出結論的瀏覽器訊號,都不能證明 IPv6 不存在。只有第一方 IPv6 專用測試明確成功或失敗後,結果才會進入確定狀態。

診斷分享連結包含什麼?

只包含經過遮蔽的狀態、簽發與到期時間及簽章,不包含 IP、座標或 DNS 解析器位址。fragment 只會提交以驗證簽章,伺服器不會保存分享記錄。