Geo Location API

Retrieves geographical location information about IPv4 or IPv6 addresses for Studio DRM Standalone.

https://geo-location.vudrm.tech/ip_lookup/{client}/{ip_address}
Retrieves geographical location information about IPv4 or IPv6 addresses.

👍

All queries to this API require a Geo Location API key: -H 'X-Auth-Key: {geo-location-api-key}'. This key is not the same as a Studio DRM token API key.

Please contact your JW Player representative for more information on how to obtain this key.


Request

var client = new RestClient("https://geo-location.vudrm.tech/ip_lookup/vualto-demo/188.39.163.11");
var request = new RestRequest(Method.GET);
request.AddHeader("X_AUTH_KEY", "{geo_location_api_key}");
IRestResponse response = client.Execute(request);
curl -X GET https://geo-location.vudrm.tech/ip_lookup/vualto-demo/188.39.163.11 \
     -H 'X_AUTH_KEY: {geo_location_api_key}'
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://geo-location.vudrm.tech/ip_lookup/vualto-demo/188.39.163.11"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("X_AUTH_KEY", "{geo_location_api_key}")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
<?php

$request = new HttpRequest();
$request->setUrl('https://geo-location.vudrm.tech/ip_lookup/vualto-demo/188.39.163.11');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'X_AUTH_KEY' => '{geo_location_api_key}'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
import requests

url = "https://geo-location.vudrm.tech/ip_lookup/vualto-demo/188.39.163.11"

headers = {
    'X_AUTH_KEY': "{geo_location_api_key}",
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
require 'uri'
require 'net/http'

url = URI("https://geo-location.vudrm.tech/ip_lookup/vualto-demo/188.39.163.11")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["X_AUTH_KEY"] = '{geo_location_api_key}'

response = http.request(request)
puts response.read_body

Path Parameters

Parameter Description
client Client name
ip_address IPv4 or IPv6 address for which to perform a geographic lookup

Response

{
    "ip": "188.39.163.11",
    "geo": {
        "timezone_name": "europe/london",
        "country": "gbr",
        "country_code": 826,
        "country_confidence_percentage": 99,
        "two_letter_country_code": "uk",
        "continent_code": 5,
        "region": "ply",
        "region_code": 25486,
        "region_confidence_percentage": null,
        "area_codes": null,
        "metro_code": 826046,
        "postal_code": "pl1 1ab",
        "postal_confidence_percentage": 30,
        "city": "plymouth",
        "city_code": 12140,
        "city_confidence_percentage": 60,
        "longitude": 0,
        "latitude": 50,
        "gmt_offset": "+0",
        "in_dst": false,
        "connection_speed": "xdsl"
    },
    "proxy": {
        "identification": null,
        "type": null
    }
}

Response Parameters

Parameter Description
geo object See: geo object
ip string Internet protocol address
proxy string See: proxy object

geo

All of the following keys can accept null values.

Parameter Description
area_codes string Series of number preceding a phone number that identify a telephone area
city string Name of the city
city_code integer Code of the city
city_confidence_percentage1 integer Confidence percentage that the city code is correct
connection_speed string Category of speed to transfer data between a device and the internet

Possible values:
   • broadband (non-specific high-speed connection)
   • cable
   • dialup
   • DSL
   • mobile
   • oc3
   • oc12
   • satellite
   • t1
   • t3
   • wireless
continent_code string Two-letter continent code
country string Name of the country
country_code integer ISO-3166-1 numeric country code
country_confidence_percentage1 integer Confidence percentage that the country is correct
gmt_offset string Current GMT/UTC offset in the following format: +hhmm
in_dst boolean Determines whether daylight saving time is observed
latitude integer North-south geographic coordinate
longitude integer East-west geographic coordinate
metro_code integer Metro codes including the following locales:
• Department Codes (FR)
• Diji Shi Cities (China)
• DMAs (US)
• Federal Districts (Russia)
• Greater Capital City Statistical Area and Significant Urban Area (Australia)
• ITV regions (UK)
• Municipalities (Norway)
• Nielsen TV Markets (Germany)
• Si/Gun/Gu (South Korea)
• Urban areas (New Zealand)
postal_code string Postal location identifier
postal_confidence_percentage1 integer Confidence percentage that the postal code is correct
region string Name of the region
region_code integer Unique, ISO 3166-2 standardized identifier for a region that includes AOL country IDs, reserve ranges, and RFC-1918 reserved ranges
region_confidence_percentage1 integer Confidence percentage that the region code is correct
timezone_name string Name of the timezone
two_letter_country_code string Two-letter ISO 3166-1 country code

1 Confidence values range from 0 to 100, with 0 representing least confidence in data sources and 100 representing total confidence in data sources.


proxy

Parameter Description
identification string Proxy type subcategory

Possible values:
cloud: Enables ubiquitous network access to a shared pool of configurable computing resources.

cloud_security: A host accessing the Internet via a web security and data protection cloud provider. Example providers with this type of service are Zscaler, Scansafe, and Onavo.

dns: A proxy used by overriding the client’s DNS value for an endpoint host to that of the proxy instead of the actual DNS value.

null: The IP has not been identified as a proxy.

tor_exit: The gateway nodes where encrypted/anonymous Tor traffic hits the Internet.

tor_relay: Receives traffic on the Tor network and passes it along. Also referred to as "routers".

vpn: Virtual private network that encrypts and routes all traffic through the VPN server, including programs and applications.

web_browser: This value will indicate connectivity that is taking place through mobile device web browser software that proxies the user through a centralized location. A couple of examples of this type of connectivity are Opera mobile browsers and UCBrowser.
type string Type of proxy

Possible values:
aol: AOL proxy

anonymous: Actual IP address of client is not available. Includes services that change location to beat DRM, TOR points, temporary proxies and other masking services.

blackberry: This value will identify an IP address owned by RIM (Research In Motion) who is responsible for Blackberry mobile devices. All Blackberry users go through a centralized proxy location and thus cannot be accurately geo-targeted.

corporate: Generally considered harmless, but location can be a concern. Can identify if multiple users are proxied through a central location or locations, and thus share a single network apparent IP address.

edu: Proxied users from an educational institution.

hosting: Address belongs to a hosting facility or cloud provider and is likely to be a proxy as end users are not typically located in a hosting facility.

null: Not determined to be a proxy.

public: Multiple users proxied from a location allowing public Internet access.

transparent: Actual IP address of client is available via HTTP headers, though value is not necessarily reliable (for example, it can be spoofed).