IP Intelligence API
Popular APIs
IP Intelligence API
Abstract’s IP Intelligence API is a fast, reliable, and RESTful JSON API that provides advanced security and geographical insights about IP addresses worldwide. It identifies VPNs, proxies, TOR usage, abuse potential, hosting services, relays, and mobile IPs.
GET
IP Intelligence API
It is very simple to use: you only need to submit your API key and an IP address, and the API will respond with the location of that IP and security details, including VPN detection, proxy status, TOR usage, abuse potential, hosting services, relay status, and mobile IP identification.
When using header-based authentication, omit
When using the Bearer token with POST, the body only needs to contain the
The response would look like this:
Getting started
REST
The IP Intelligence API, like all of Abstract’s APIs, is organized around REST. It is designed to use predictable, resource-oriented URLs and to use HTTP status codes to indicate errors.HTTPS
The IP Intelligence API requires all communications to be secured with TLS 1.2 or greater.API Versions
All of Abstract’s APIs are versioned. The IP Intelligence API is currently on Version 1.Your API Key
Your API key is your unique authentication key to be used to access Abstract’s IP Intelligence API. Note that each of Abstract’s APIs has a unique API key, so you will need different keys to access the IP Intelligence and Email Validation APIs, for example. You can send it as a query parameter or in anAuthorization header: see Authentication methods.
Base URL
Authentication methods
The IP Intelligence API supports multiple ways to authenticate your requests. You can use whichever method best fits your application.Query parameter (default)
Pass your API key as a query parameter. This is the simplest method and is shown in the Getting Started example above.Bearer token header
Instead of passingapi_key as a query parameter, you can send it in the Authorization header as a Bearer token. This keeps your API key out of URLs and server logs.
api_key from the query string. Only the ip_address parameter is needed.
Validation endpoint
Abstract’s IP Intelligence API simply requires your unique API key and will automatically detect the IP address from the client where it is called. You can also append the “ip_address” parameter to specify the IP to analyze:POST method
In addition to GET requests, you can send POST requests to the IP Intelligence API. This is useful when you prefer to send parameters in the request body rather than the URL.POST with form-encoded data
Send bothapi_key and ip_address as form-encoded fields in the request body:
POST with Bearer token and JSON body
Authenticate via theAuthorization header and send ip_address in a JSON request body:
ip_address field. Send the Content-Type: application/json header with a JSON body, otherwise the body is read as form data and ip_address is not detected.
Request parameters
String
required
Your unique API key. Note that each user has unique API keys for each of Abstract’s APIs, so your IP Intelligence API key will not work for your Email Validation API, for example.
String
The IP address to analyze. Both IPv4 and IPv6 addresses are supported. Note that if you leave this parameter blank, the service will geolocate the IP address from which the request was made.
String
You can chose to only receive a few fields from the JSON response. To do so, you can include a fields value in the query parameters with a comma separated list of the top-level keys you want to be returned. For example, adding ?fields=city will return only the city in the JSON response.
Response parameters
The API response is returned in a universal and lightweight JSON format.String
The IP address submitted for geolocation.
Boolean
Whether the IP address is being used from a VPN.
Boolean
Whether the IP address is being used from a Proxy.
Boolean
Whether the IP address is part of the TOR network.
Boolean
Whether the IP address is an internet service hosting IP address.
Boolean
Whether the IP address is being used as a relay server.
Boolean
Whether the IP address belongs to a mobile network.
Boolean
Whether the IP address has been flagged for abusive behavior.
Integer
The Autonomous System Number (ASN) associated with the IP address.
String
The name of the organization or ISP associated with the ASN.
String
The domain associated with the ASN.
String
The type of organization, such as ISP or hosting.
String
The name of the company associated with the IP address.
String
The company’s domain name.
String
The type of company, such as ISP or hosting.
Array
A list of domains associated with the IP address.
String
City’s name.
Integer
City’s geoname ID.
String
State or province in which the the city is located.
Char[2]
State or province’s ISO 3166-2 code.
Integer
State or province’s geoname ID.
String
ZIP or postal code.
String
Country’s name.
Char[2]
Country’s ISO 3166-1 alpha-2 code.
Integer
Country’s geoname ID.
Boolean
True if the country is in the EU, false if it is not.
String
Continent’s name.
Char[2]
2 letter continent code: AF, AS, EU, NA, OC, SA, AN.
Integer
Continent’s geoname ID.
Float
Decimal of the longitude.
Float
Decimal of the latitude.
String
Timezone’s name from the IANA Time Zone Database.
String
Timezone’s abbreviation, also from the IANA Time Zone Database.
String
The UTC offset for the timezone.
String
Current time in the local time zone.
Boolean
True if the location is currently in Daylight Savings Time (DST).
String
Country’s flag as an emoji.
String
Country’s flag in unicode.
String
Link to a hosted version of the country’s flag in PNG format.
String
Link to a hosted version of the country’s flag in SVG format.
String
The currency’s name.
String
The currency’s code in ISO 4217 format.
String
The currency’s symbol (e.g. ”$”, ”€”, ”¥”).