Ruby guide
Use FindIP with Ruby
Call FindIP with Ruby's standard library and parse the combined IP geolocation and intelligence response.
Endpoint
Authenticated IP lookup
GET https://api.findip.net/{ip}/?token={token}
No dependency requiredThe example uses
net/http, uri, and json.Security signalsRead
intelligence.summary and flags for concise risk decisions.Response guideView the full response model
Ruby example
Includes timeout and status handling.
require 'json'
require 'net/http'
require 'uri'
ip = '8.8.8.8'
token = 'YOUR_API_KEY'
uri = URI("https://api.findip.net/#{ip}/")
uri.query = URI.encode_www_form(token: token, returnIp: true)
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true, open_timeout: 5, read_timeout: 10) do |http|
request = Net::HTTP::Get.new(uri)
request['Accept'] = 'application/json'
http.request(request)
end
raise "FindIP request failed: #{response.code}" unless response.is_a?(Net::HTTPSuccess)
data = JSON.parse(response.body)
intelligence = data['intelligence']
puts "City: #{data.dig('city', 'names', 'en')}"
puts "Country: #{data.dig('country', 'names', 'en')}"
puts "ISP: #{data.dig('traits', 'isp')}"
puts "ASN: #{data.dig('traits', 'autonomous_system_number')}"
puts "Verdict: #{intelligence.dig('summary', 'verdict')}"
puts "Risk: #{intelligence.dig('risk', 'score')} #{intelligence.dig('risk', 'level')}"
puts "VPN: #{intelligence.dig('flags', 'is_vpn')}"
puts "Proxy: #{intelligence.dig('flags', 'is_proxy')}"
puts "Tor: #{intelligence.dig('flags', 'is_tor')}"