The Result Object Explained

The Result Data Object (RDO) is what Netscan returns after a scan has been completed.

Table of Contents

  1. Root Properties
  2. summary Root Summary Properties
    1. summary.latency Summary Latency Properties
  3. results Root Results Properties
    1. results.screen Screen Results
    2. result.supports Browser Capabilities
      1. WebRTC Browser Supports
      2. Video Codecs Browser Supports
    3. results.headers Request Headers
    4. results.useragent Browser Type Information
    5. results.xhr XHR Tests
    6. results.websockets WebSocket Connectivity Tests
    7. results.webrtc WebRTC Connectivity Tests
    8. results.plugins Browser Plugins
    9. results.latency ICMP Latency tests performed
    10. results.geoip Geo IP Query

Root Properties

These are the root properties that can be found in the RDO:

  • id Type: String Sample: "xxxxx" The reference id of this scan item.
  • url Type: String Sample: "https://www.netscan.co/r/xxxxx" The full url to the rendered view of the result.
  • finalized Type: Boolean Sample: true If the scan result has been finalized, if this is set to false then the results attribute will not be available.
  • version Type: String Sample: '1.2.0' The Result Data Object version.
  • token Type: String Sample: 'xxx' The token used for this scan.
  • user Type: String Sample: 'xxx' The user id of the token owner.
  • createdAt Type: String Sample: '2015-06-04T16:51:49.646Z' The full date of creation in ISO-8601 Format.
  • data Type: Object Custom data passed when scan was initialized.
  • scanSource Type: String An enumeration of possible scan sources, today there are two: api When the scan is originated from the JS SDK. scanPage When the scan originates from the Scan Pages.
  • summary Type: Object A Summary of the scan results.
  • results Type: Object The results as explained bellow, will not be available if finalized attribute is false.

⬆ back to TOC


Summary Properties

A summary of the scan results is available at the summary root path. To properly represent the various states of each summary property an enumeration of values have been created:

Summary Enumeration Values

  • undetermined The test could not be performed, the reason why this happened can vary from browser not supporting the feature to failures in the network.
  • maybe The tests could not reliably determine an outcome.
  • false The test definitely fails, no connectivity.
  • true The test definitely passes, there is connectivity.

The Summary Properties

summary.supportsWebrtc

Type: Summary.Values Sample: "true"

If the browser is WebRTC capable.

summary.supportsWebsockets

Type: Summary.Values Sample: "true"

If the browser is WebSockets capable.

summary.hasIpv6

Type: Summary.Values Sample: "true"

If the client supports IPv6.

summary.inboundTcp

Type: Summary.Values Sample: "false"

The client accepts inbound TCP connections, and thus can perform p2p WebRTC connections.

summary.inboundUdp

Type: Summary.Values Sample: "true"

The client accepts inbound UDP connections, and thus can perform p2p WebRTC connections.

summary.outboundTcp

Type: Summary.Values Sample: "true"

The client can perform outbound TCP connections to the WebRTC TURN server, and thus can perform a relayed TURN WebRTC session.

summary.outboundUdp

Type: Summary.Values Sample: "true"

The client can perform outbound UDP connections to the WebRTC TURN server, and thus can perform a relayed TURN WebRTC session.

summary.behindNat

Type: Summary.Values Sample: "true"

If the client is behind a NAT configuration.

summary.canPerformWebrtc

Type: Summary.Values Sample: "true"

If the client can perform a WebRTC connection, this gets inferred based on inbound and outbound connectivity, if any of them is true then connectivity can be established.

summary.canPerformWebrtcP2P

Type: Summary.Values Sample: "true"

If the client can perform a peer to peer (p2p) connection with another client, this is inferred by the inbound connectivity tests.

summary.websocketsConnect

Type: Summary.Values Sample: "true"

If there was a websocket connection on any protocol (ws or wss).

summary.latency

Type: Object Contains latency tests summary, look below.

Summary Latency Properties

ICMP, XHR and Websockets latency tests are summarized in this object.

Summary of ICMP Latency tests

  • summary.latency.icmp.hasTest Type: Boolean Sample: true If an ICMP latency test has been successfully performed.
  • summary.latency.icmp.packetLoss Type: Number Sample: 0 The packet loss expressed as a percentage.
  • summary.latency.icmp.avgTime Type: Number Sample: 125 The average ping time in milliseconds.

Summary of XHR Latency tests

  • summary.latency.xhrHttp.hasTest Type: Boolean Sample: true If an XHR latency test has been successfully performed.
  • summary.latency.xhrHttp.avgTime Type: Number Sample: 125 The average ping time in milliseconds.

Summary of TLS XHR Latency tests

  • summary.latency.xhrHttps.hasTest Type: Boolean Sample: true If an XHR TLS latency test has been successfully performed.
  • summary.latency.xhrHttps.avgTime Type: Number Sample: 125 The average ping time in milliseconds.

Summary of Websockets Latency tests

  • summary.latency.ws.hasTest Type: Boolean Sample: true If a WebSocket latency test has been successfully performed.
  • summary.latency.ws.avgTime Type: Number Sample: 125 The average ping time in milliseconds.

Summary of Websockets over TLS Latency tests

  • summary.latency.wss.hasTest Type: Boolean Sample: true If a WebSocket secure latency test has been successfully performed.
  • summary.latency.wss.avgTime Type: Number Sample: 125 The average ping time in milliseconds.

⬆ back to TOC


Root Results Properties

All of these properties are under the object results which is at the root of the Results Data Object (RDO).

results.creatorIp

Type: String Sample: "0.0.0.0"

The IP of the client.

results.hasProxy

Type: Boolean Sample: false

If the client is behind a proxy, this can only report on proxies that enrich the HTTP Headers with their footprint. Invisible proxies are undetectable.

results.latencyCount

Type: Number Sample: 1

How many latency counts were performed.

results.latencyTimedout

Type: Boolean Sample: false

Becomes true when a latency timeout has timed out.

results.clientFinished

Type: Boolean Sample: true

If the client has successfully finished all tests.

results.latencyFinished

Type: Boolean Sample: true

If the ICMP latency tests have finished.

results.turnServer

Type: String Sample: "turn:turn.netscan.co:3478?transport=udp"

Indicates which TURN server was used.

results.hasCustomIce

Type: Boolean Sample: true

Indicates if custom TURN server property has been passed from the setup function of the SDK or from the dashboard settings.

⬆ back to TOC


The Results Objects

Under the results Object you can find the following objects with diagnostic data:

⬆ back to TOC


Screen Results

In the path results.screen you will find the following properties related to screen resolution:

  • results.screen.width Type: Number Sample: 1440 The screen total width in pixels.
  • results.screen.height Type: Number Sample: 900 The screen height in pixels.
  • results.screen.pixelDepth Type: Number Sample: 24 The pixels depth in bits.
  • results.screen.colorDepth Type: Number Sample: 24 The color depth in bits.
  • results.screen.availWidth Type: Number Sample: 1394 The available (browser's) width in pixels.
  • results.screen.availHeight Type: Number Sample: 877 The available (browser's) height in pixels.
  • results.screen.availTop Type: Number Sample: 23 The top side of the area on the screen that is available for application windows, read more.
  • results.screen.availLeft Type: Number Sample: 0 The left available side for application windows, read more.

⬆ back to TOC


Browser Capabilities

In the path results.supports you will find a comprehensive list of the browser's capabilities.

  • results.supports.webrtc Type: Boolean Sample: true If the browser is WebRTC Capable.
  • results.supports.cors Type: Boolean Sample: true If the browser supports CORS.
  • results.supports.webgl Type: Boolean Sample: true If the browser is WebGL Capable.
  • results.supports.websockets Type: Boolean Sample: true If the browser supports WebSockets.
  • results.supports.video Type: Boolean Sample: true If the browser supports the HTML5 video element.
  • results.supports.touchevents Type: Boolean Sample: false If the browser supports touch events.
  • results.supports.json Type: Boolean Sample: true If the browser has the JSON library.
  • results.supports.history Type: Boolean Sample: true If the browser supports the HTML5 History feature.
  • results.supports.geolocation Type: Boolean Sample: false If the browser supports the HTML5 Geolocation feature.
  • results.supports.flash Type: Boolean Sample: true If the browser has Adobe Flash Player installed and available.
  • results.supports.flashBlocked Type: Boolean Sample: false If the browser has Adobe Flash Player installed but is blocking it from operating.
  • results.supports.filesystem Type: Boolean Sample: false If the browser supports the HTML5 Filesystem feature.
  • results.supports.filereader Type: Boolean Sample: false If the browser supports the HTML5 Filereader feature.
  • results.supports.eventlistener Type: Boolean Sample: true If the browser has the addEventListener method on window.
  • results.supports.es5string Type: Boolean Sample: true If the browser supports the ES5 String type.
  • results.supports.es5object Type: Boolean Sample: true If the browser supports the ES5 Object type.
  • results.supports.es5function Type: Boolean Sample: true If the browser supports the ES5 Function type.
  • results.supports.es5date Type: Boolean Sample: true If the browser supports the ES5 Date type.
  • results.supports.es5array Type: Boolean Sample: true If the browser supports the ES5 Array type.
  • results.supports.es5strictmode Type: Boolean Sample: false If the browser supports ES5 string mode.
  • results.supports.cookies Type: Boolean Sample: true If the browser has cookies enabled.

⬆ back to TOC


There are more in-depth groups of Browser Supports available tn the results.supports path.

Video Codecs Browser Supports

Netscan queries the browser for support on major video codecs, this is performed using the canPlayType() method of the Video Element as explained in the MDN article for the HTMLMediaElement.

Codecs Queried

  • results.supports.videoCodecs.h264 Type String
  • results.supports.videoCodecs.ogg Type String
  • results.supports.videoCodecs.vp9 Type String
  • results.supports.videoCodecs.webm Type String

Possible Values

As per MDN the possible values for the codec queries are:

  • probably If the specified type appears to be playable.
  • maybe if it's impossible to tell whether the type is playable without playing it.
  • The empty string, if the specified type definitely cannot be played.

⬆ back to TOC


WebRTC Features the Browser Supports

results.supports.webrtcFeatures.video

Type: Boolean Sample: true

If the browser supports WebRTC Video transporting.

results.supports.webrtcFeatures.audio

Type: Boolean Sample: true

If the browser supports WebRTC Audio transporting.

results.supports.webrtcFeatures.data

Type: Boolean Sample: true

If the browser supports WebRTC data transporting.

results.supports.webrtcFeatures.mediastream

Type: Boolean Sample: false

If the browser supports WebRTC the VideoStream.

results.supports.webrtcFeatures.isPlugin

Type: Boolean Sample: false

Detects if a WebRTC plugin is installed, used on browsers that don't support WebRTC, yet, like Internet Explorer and Safari. Supported plugins:

results.supports.webrtcFeatures.pluginVersion

Type: String Sample: ""

If a plugin was detected this property will contain the plugin version.

results.supports.webrtcFeatures.vendor

Type: String Sample: "webkit"

The vendor responsible for the WebRTC Implementation. Possible Values are:

  • webkit
  • mozilla

⬆ back to TOC


Request Headers

The client's request headers as captured by the Netscan server can be found in the results.headers path.

Here's a sample of data from the headers path:

"results.headers.content-length": "5683",
"results.headers.total-route-time": "0",
"results.headers.x-request-start": "1422983455123",
"results.headers.connect-time": "1",
"results.headers.via": "1.1 vegur",
"results.headers.x-request-id": "e4a6dc05-8452-46ed-861b-bf6c6dc7e3e5",
"results.headers.accept-language": "en,el-GR;q=0.8,el;q=0.6",
"results.headers.accept-encoding": "gzip, deflate",
"results.headers.referer": "http://www.netscan.co/",
"results.headers.content-type": "application/json",
"results.headers.user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36",
"results.headers.x-api-token": "xxxx",
"results.headers.origin": "https://www.netscan.co",
"results.headers.accept": "application/json",
"results.headers.connection": "close",
"results.headers.host": "check-connectivity.herokuapp.com"

⬆ back to TOC


Browser Type Information

In results.useragent you will find a set of handy properties that identify the browser type, Operating System and more:

All results in this group are inferred from the User-Agent request header as sent from the client. The NPM Useragent library is used to parse this string and infer all of those properties.

  • results.useragent.browserVersion Type: String Sample: "40.0.2214" The exact browser version string.
  • results.useragent.browser Type: String Sample: "Chrome" The generic browser family.
  • results.useragent.isTablet Type: Boolean Sample: false If the client is a tablet device.
  • results.useragent.isPhone Type: Boolean Sample: false If the client is a phone device.
  • results.useragent.isMobile Type: Boolean Sample: false If the client is a mobile device.
  • results.useragent.deviceVersion Type: String Sample: "Other" The device's version, where available.
  • results.useragent.device Type: String Sample: "Other" The device type where available.
  • results.useragent.osVersion Type: String Sample: "10.10.2" The Operating System Version.
  • results.useragent.os Type: String Sample: "Mac OS X" The Operating System type.

⬆ back to TOC


XMLHttpRequest Connectivity (TCP) Tests

In the results.xhr path you will find the performed XMLHttpRequest (XHR) tests organized by the port number used, currently we use two ports:

  • results.xhr["80"] for normal HTTP requests.
  • results.xhr["443"] for HTTPS TLS (SSL) requests.

Each one of those objects contain the following properties:

results.xhr["80"].retries

Type: Number: Sample: 1

How many retries were performed, if value is 1 no retries where performed.

results.xhr["80"].latency

Type: Number: Sample: 565

The time in milliseconds that elapsed from when the request was first sent and the moment we received the response.

results.xhr["80"].connected

Type: Boolean: Sample: true

If the connectivity test was eventually successful or not.

results.xhr["80"].port

Type: Number: Sample: 80

The port number of the current result object.

⬆ back to TOC


WebSocket Connectivity Tests

The WebSocket connectivity tests are in the results.websockets path, you will find two objects there ws and wss:

  • results.websockets.ws Object containing connectivity data for WebSockets over HTTP.
  • results.websockets.wss Object containing connectivity data for WebSockets over HTTPS (TLS / SSL).

Both objects contain the following properties:

results.websockets.ws.status

Type: String Sample: "success"

The status of the test, possible values are:

  • init You will never see that state, it's when the test is booting up.
  • success The test completed successfully.
  • timeout The test timed out.
  • canNotConnect Could not connect to the server (blocked by firewall or proxy or some other factor).
  • unknown Could not perform the test either because of no connectivity or websockets not supported.

results.websockets.ws.avgLatency

Type: Number Sample: 130

The average latency in milliseconds, Netscan performs 5 echo tests between the client and the server, this property represents the average response time between those tests.

results.websockets.ws.open

Type: Boolean Sample: true

The test was able to open a connection with the server over a WebSocket.

results.websockets.ws.connected

Type: Boolean Sample: true

The test was able to establish a connection with the server and receive a response, the whole transaction is complete.

results.websockets.ws.receive

Type: Boolean Sample: true

The test was able to receive data from the server over a WebSocket.

results.websockets.ws.send

Type: Boolean Sample: true

The test was able to send data from the server over a WebSocket.

results.websockets.ws.ssl

Type: Boolean Sample: false

Indicates if current object is over TLS (SSL), false means it's not.

⬆ back to TOC


WebRTC Connectivity Tests

The WebRTC connectivity tests are in the results.webrtc path. Netscan employs its own TURN server to perform an ICE Connectivity handshake between the client and the TURN server. This enables Netscan to reliably determine if the client is able to perform a WebRTC connection.

The values of the properties are inferred by analyzing the ICE Candidates emitted by the browser during the signaling operation.

results.webrtc.nat

Type: Boolean Sample: false

Determines if the client is behind a Network Address Translation (NAT) setup then this property is set to true.

results.webrtc.ipv6

Type: Boolean Sample: false

If the client supports IPv6.

results.webrtc.hasTurn

Type: Boolean Sample: true

Indicates if a TURN server was present during the ICE Connectivity tests, if this value is set to false then the tcpTurn and udpTurn properties should not be considered.

results.webrtc.tcp

Type: Boolean Sample: false

Determines if the client can accept incoming TCP connections to establish a WebRTC connection.

results.webrtc.udp

Type: Boolean Sample: true

Determines if the client can accept incoming UDP connections to establish a WebRTC connection.

results.webrtc.tcpTurn

Type: Boolean Sample: true

The client was able to perform an outbout TCP connection to the TURN server.

results.webrtc.udpTurn

Type: Boolean Sample: true

The client was able to perform an outbout UDP connection to the TURN server.


results.webrtc.iceServers

In case user passes the turnServer property from the setup function of the SDK, the iceServers array shows the custom ICE servers that were used.

results.webrtc.iceServers.[].username

Type: String Sample: "netscan"

Username for access purposes on the ICE server.

results.webrtc.iceServers.[].credential

Type: String Sample: xxx

Credential for access purposes on the ICE server.

results.webrtc.iceServers.[].urls

Type: Array<String> Sample: ["turn:turn.example.com:3478?transport=tcp"]

Array of string with the urls of ICE servers.


results.webrtc.candidates

Netscan will also offer the analyzed ICE Candidate items in an array of objects that exists in the path results.webrtc.candidates, the following properties are available:

results.webrtc.candidates.[].time

Type: String Sample: "1422983453902"

Unix timestamp of the time the Candidate was received.

results.webrtc.candidates.[].isIpv6

Type: Boolean Sample: false

If the client supports IPv6.

results.webrtc.candidates.[].medium

Type: String Sample: "audio"

The type of medium used for WebRTC, possible values are audio or video.

results.webrtc.candidates.[].protocol

Type: String Sample: "udp"

The protocol used, can be either udp or tcp.

results.webrtc.candidates.[].ip

Type: String Sample: "192.168.150"

The IP Produced from the ICE Candidate.

results.webrtc.candidates.[].isLocal

Type: String Sample: "true"

If the IP is of a LAN range, non Internet IP.

results.webrtc.candidates.[].candidate

Type: String Sample: "candidate:109713448 2 udp 2122260223 192.168.1.50 52110 typ host generation 0"

The raw Candidate string as emitted by the browser.

results.webrtc.candidates.[].type

Type: String Sample: "host"

The type of the Candidate, possible values are:

  • stun ICE Candidate produced from the STUN Server.
  • turn ICE Candidate produced from the TURN Server.
  • host ICE Candidate produced from the local machine.
  • unknown Unknown ICE Candidate produced.

results.webrtc.candidates.[].transportProtocol

Type: String Sample: "tcp"

Can be either tcp or udp, indicates the transporting protocol that was used when initiating the ICE Candidates protocol. When launching the ICE Candidates we provide specific TURN and STUN servers, a TURN server's format is like so: turn:turn.netscan.co:3478?transport=udp by defining a transport option in the url query we advise the TURN server to allocate candidates for that protocol. That way we can be more specific about protocol connectivity detection.

⬆ back to TOC


Browser Plugins

Browser Plugins detection does not work on Internet Explorer, but for the browsers that do work the results.plugins path will populate with an Array of Plugin Items which have the following properties:

  • results.plugins.[].description Type: String Sample: "Shockwave Flash 17.0 r0" A description of the plugin.
  • results.plugins.[].filename Type: String Sample: "PepperFlashPlayer.plugin" The filename of the plugin.
  • results.plugins.[].name Type: String Sample: "Shockwave Flash" The name of the plugin.

⬆ back to TOC


ICMP Latency Tests

With each new scan an ICMP system ping test is triggered from the server towards the client's IP. The results of that test are presented in the results.latency path, an Array of Latency Items.

So long as the results.latencyFinished is true there will be Latency Items populated in the results.latency Array.

Latency Item Root Properties

results.latency.[].server

Type: String Sample: "us-east"

The Server location from which the ping tests were performed.

results.latency.[].ip

Type: String Sample: "127.0.0.1"

The IP that was pinged.

results.latency.[].pingParams

Type: Object Parameters used for performing the ping.

results.latency.[].latencyResults

Type: Object The ping results.

Latency Parameters

All ping tests are configurable from the user profile, the exact configuration options used for each test are stored in the results.latency.[].pingParams path.

results.latency.[].pingParams.wait

Type: Number Sample: 0.5

Time to wait between pings in seconds.

results.latency.[].pingParams.waitTime

Type: Number Sample: 5000

Time in milliseconds to wait for a reply for each packet sent.

results.latency.[].pingParams.packets

Type: Number Sample: 5

Total ICMP packets to dispatch for testing.

results.latency.[].pingParams.timeout

Type: Number Sample: 8

Ultimate timeout for the whole ping operation in seconds.

Latency Results

The ICMP ping latency results are available in the results.latency.[].latencyResults path.

results.latency.[].latencyResults.rawOutput

Type: Number Sample: "...raw result..."

The raw output of the ping operation.

results.latency.[].latencyResults.packetsSent

Type: Number Sample: 5

How many ICMP packets were sent.

results.latency.[].latencyResults.packetsReceived

Type: Number Sample: 5

How many ICMP packets were received.

results.latency.[].latencyResults.avg

Type: Number Sample: 63

The average ping time in milliseconds.

results.latency.[].latencyResults.max

Type: Number Sample: 120

Maximum ping time received.

results.latency.[].latencyResults.min

Type: Number Sample: 34

The smallest ping time received.

results.latency.[].latencyResults.time

Type: Number Sample: 4005

Total time of the ping operation in milliseconds.

results.latency.[].latencyResults.packetLoss

Type: String Sample: "0.0%"

Packet loss as a string.

results.latency.[].latencyResults.packetLossFlt

Type: Number Sample: 0

Packet loss as a float representing percentage, possible values are from 0 to 100.

⬆ back to TOC


Geo IP Query

results.hasGeoip

Type: Boolean Sample: true

Indicates that the Geo IP query has been run, this will be false in all plans that do not have the Geo IP feature.

results.geoipFinished

Type: Boolean Sample: true

Indicates the Geo IP query has finished, regardless of outcome (successful or failed).

results.geoipFinished

Type: Boolean Sample: true

Indicates the Geo IP query has finished, regardless of outcome (successful or failed).

results.geoipError

Type: Boolean Sample: false

Indicates an error came up during the Geo IP query.

results.geoipErrorMessage

Type: String Sample: "API Error"

If an error occurred this attribute will contain an error message.

results.geoipTimedout

Type: Boolean Sample: false

Indicates that the Geo IP query has timed out.

results.geoip

Type: Object

Contains the Geo IP results.

results.geoip.ip

Type: String Sample: "127.0.0.1"

The IP address that was queried (the client's).

results.geoip.lat

Type: String Sample: "10.1234"

The estimated latitude of the client decimally expressed.

results.geoip.lng

Type: String Sample: "10.1234"

The estimated longitude of the client decimally expressed.

results.geoip.timezone

Type: String Sample: "America/New_York"

The time zone associated with location, as specified by the IANA Time Zone Database.

results.geoip.postalCode

Type: String Sample: "55555"

The postal code associated with the IP address. These are available for some IP addresses in Australia, Canada, France, Germany, Italy, Spain, Switzerland, United Kingdom, and the US.

results.geoip.city

Type: String Sample: "New York"

Indicates that the Geo IP query has timed out.

results.geoip.region1Name

Type: String Sample: "New York"

The name of the 1st topmost region of the country in which the IP address resides. Regions are arranged from largest to smallest (1 to 4).

results.geoip.region1Iso

Type: String Sample: "NY"

A string of up to three characters containing the region-portion of the ISO 3166-2 code for the region associated with the IP address.

results.geoip.region2Name

Type: String Sample: ""

The name of the 2nd topmost region of the country in which the IP address resides. Regions are arranged from largest to smallest (1 to 4).

results.geoip.region2Iso

Type: String Sample: ""

A string of up to three characters containing the region-portion of the ISO 3166-2 code for the region associated with the IP address.

results.geoip.region3Name

Type: String Sample: ""

The name of the 3rd topmost region of the country in which the IP address resides. Regions are arranged from largest to smallest (1 to 4).

results.geoip.region3Iso

Type: String Sample: ""

A string of up to three characters containing the region-portion of the ISO 3166-2 code for the region associated with the IP address.

results.geoip.region4Name

Type: String Sample: ""

The name of the 4th topmost region of the country in which the IP address resides. Regions are arranged from largest to smallest (1 to 4).

results.geoip.region4Iso

Type: String Sample: ""

A string of up to three characters containing the region-portion of the ISO 3166-2 code for the region associated with the IP address.

results.geoip.countryName

Type: String Sample: "United States of America"

The country the IP belongs to.

results.geoip.countryIso

Type: String Sample: "US"

A two-character ISO 3166-1 country code for the country associated with the IP address.

results.geoip.continentName

Type: String Sample: "North America"

The Continent this IP belongs to.

results.geoip.continentCode

Type: String Sample: "NA"

A two-character code for the continent associated with this IP address, the possible codes are:

  • AF - Africa
  • AN - Antarctica
  • AS - Asia
  • EU - Europe
  • NA - North America
  • OC - Oceania
  • SA - South America

results.geoip.organization

Type: String Sample: "Comcast Cable"

The name of the organization associated with the IP address.

results.geoip.domain

Type: String Sample: "example.com"

The second level domain associated with the IP address.

results.geoip.isp

Type: String Sample: "Comcast Cable"

The name of the ISP associated with the IP address.

⬆ back to TOC