Loading
Loading
Fast, reliable, and RESTful JSON API for geolocating IP addresses worldwide. Get detailed location data, network information, and more with a single API call.
The IP Location API allows you to track IP address locations with precision, providing detailed information such as country, region, city, coordinates, postal code, and timezone. Perfect for enhancing user insights, improving geographic analysis, and powering location-based features in your applications.
Authorize every request with your API key, passed either as a header or as a query parameter:
X-apiKeyapiKeyThis is version 2.0 of the API.
The following parameters can be used in your API requests. All parameters are passed as query string parameters.
formatoptionalStringdefault: jsonResponse format: 'json' (default) or 'xml'.
ipoptionalStringIPv4, IPv6, or hostname whose geolocation lookup is required
langoptionalStringdefault: enResponse language. Possible values are:
fieldsoptionalArrayComma separated list of fields to be included in the response. For example, `location` includes all location fields, `location.city` is a specific field. See the response fields section for more details.
excludesoptionalArrayComma separated list of fields except ip to be excluded in the response
includeoptionalArrayPossible values are:
A successful request returns a 200 OK response with a JSON object containing the geolocation data. The response includes the top-level fields listed below. See the response preview on the right for the full JSON structure.
ipThe IP address used for the lookup (IPv4 or IPv6).
domainThe input domain, returned only for domain-based lookups.
hostnameReverse DNS hostname (PTR) for the input IP; returns the input IP if not resolvable.
continent_code (String), continent_name (String), country_code2 (String), country_code3 (String), country_name (String), …
calling_code (String), tld (String), languages (Array)
connection_type (String), route (String), is_anycast (Boolean)
as_number (String), organization (String), country (String), type (String), domain (String), …
name (String), type (String), domain (String)
code (String), name (String), symbol (String)
threat_score (Integer), is_tor (Boolean), is_proxy (Boolean), proxy_provider_names (Array<String>), proxy_confidence_score (Integer), …
route (String), country (String), name (String), organization (String), kind (String), …
name (String), offset (Float), offset_with_dst (Float), current_time (String), current_time_unix (Float), …
user_agent_string (String), name (String), type (String), version (String), version_major (String), …
Besides the response body, every response carries custom headers you can use to track credit usage, and concurrency usage on endpoints that enforce a concurrency limit. See the Custom Response Headers documentation and the endpoints with concurrency limits for more details.
X-Concurrent-Threadsheaderconcurrency-limited endpointsSpecifies the maximum number of concurrent requests allowed.
X-Concurrent-Threads-Activeheaderconcurrency-limited endpointsIndicates the number of active concurrent requests being processed.
X-AF-Credits-Costheaderall responsesSpecifies the number of credits consumed by the current request.
See the HTTP Status Codes documentation for a complete reference of common API errors and HTTP status codes.
The request was unacceptable. Typically due to missing or invalid parameters.
Provided IP address '255.255.255.255' doesn't exist in our database.
'127.0.0.1' is a bogon (Internet Assigned Numbers Authority) IP address.