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.

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')}"