Implementing the IPWarner API is quite simple. First of all, it is necessary to have an API key in order to send requests to them. The answers are returned in JSON format, which can be easily read, decoded and transformed into an object in PHP, Java and other programming languages using internal functions and specific libraries. We use these methods to return the data since it is the easiest to handle for the customer and to implement in all types of existing projects. We ensure the quality of the responses returned by the API every day. Requests are sent to front-end servers that request a response from the back-end servers closest to your location, to provide you with the answer as quickly as possible through synchronized databases.

How to call the API?

API requests are sent in a specific form. There is no need to send a POST request or send particular headers such as your API key. The API key is sent directly to the URL, as is the IP address from which you want to retrieve the information. This is the form of the URL called.

https://api.ipwarner.com/API-KEY/IP

  • API-KEY : The API key available from the customer area, which you generated after payment or during the trial.
  • IP : IP address from which you wish to retrieve information related to it (position, IP trust level)
For example, you want to retrieve the information from the IP address 8.8.8.8 (Google DNS) and your API key is, for example, foo. So the URL of the request will be
https://api.ipwarner.com/foo/8.8.8.8

This will allow you to process and interpret the results of the query manually or from your application. This makes it a second part of the documentation to be read below.

API result documentation

The API returns explicit results that you can interpret to block, for example, bad IPs (from proxies, VPNs or host addresses). We use advanced technologies to consider an IP address to be dangerous, malicious or non-residential. To do this, we rely on artificial intelligence, the actions we have recorded with this IP address on the Internet but also autonomous systems. Using these methods, our crawlers must regularly recalculate the dangerousness of IP addresses since addresses move a lot. We are now indexing hundreds of millions of IPv4 addresses but we are also starting to index a lot of new IPv6 addresses, which are being used more and more. Thus, our API is compatible with IPv6 addresses.

Variables returned by the API

  • ip : IP address of the request.
  • Hostname : Public hostname related to the IP address.
  • Country name : Name of the IP address country location.
  • Country ISO : Country ISO (ISO 3166-1 alpha-2) of the IP address country location (like US).
  • Continent name : Name of the continent where the IP address is located (like Europe).
  • Continent code : Continent code (like NA, EU...)
  • Postal code : Postal code where the IP address is located (n/a if no data).
  • City name : Name of the city where the IP address is located (like London, n/a if no data).
  • Response time : API response time excluding latency of the client sending the request (in milliseconds)
  • ASN id : the unique Autonoumous System number (like 16276).
  • ASN name : name of the Autonoumous System (like OVH SAS).
  • Organization name : name of the organization who registered the IP address (like OVH SAS). Can be the same of the AS name or/and the ISP.
  • ISP : name of the internet service provider who registered the IP address (like OVH SAS). Can be the same of the AS name or/and Organization name.
  • goodIp : 1 = Good IP. 0 = Bad IP.
  • error : Variable describing the error that can be returned in case of a problem (invalid, expired API key etc.)
Example of information returned from the IP address 8.8.8.8 (Google DNS).

{
   "ip": "8.8.8.8",
   "hostname": "google-public-dns-a.google.com",
   "countryName": "United States",
   "countryIso": "US",
   "continentName": "North America",
   "continentCode": "NA",
   "postalCode": "n/a",
   "cityName": "n/a",
   "responseTime": 1,
   "asnId": 15169,
   "asnName": "Google LLC",
   "organization": "Google",
   "isp": "Google",
   "plan": "Entreprise",
   "goodIp": 0
}