Abuse Lookup API


Overview

The Abuse Contact API provides essential contact information to report abusive activity associated with IP addresses. By querying an IP address (IPv4 or IPv6), users receive detailed abuse contact data, including the responsible organization, abuse handling role, contact emails, phone numbers, and registered address. This enables users to swiftly take action to report and mitigate threats such as spam, DDoS attacks, and phishing.

In addition to abuse-specific contacts, the API also includes registration metadata like the registered country and abuse handle. This empowers cybersecurity teams, hosting providers, and compliance entities to take appropriate legal or administrative action.


Lookup Abuse Contact

Abuse contact details of an IP address (IPv4 or IPv6) can be obtained using the endpoint mentioned below:
The URL for this API is https://api.ipgeolocation.io/v3/abuse?apiKey=API_KEY&ip=1.0.0.0 and it's default JSON response below:

curl -X GET 'https://api.ipgeolocation.io/v3/abuse?apiKey=API_KEY&ip=1.0.0.0'
Response Preview
1{
2  "ip": "1.0.0.0",
3  "abuse": {
4    "route": "1.0.0.0/24",
5    "country": "AU",
6    "name": "IRT-APNICRANDNET-AU",
7    "organization": "",
8    "kind": "group",
9    "address": "PO Box 3646\nSouth Brisbane, QLD 4101\nAustralia",
10    "emails": [
11      "helpdesk@apnic.net"
12    ],
13    "phone_numbers": [
14      "+61 7 3858 3100"
15    ]
16  }
17}

Get Specific Fields

You can customize the API response by using the fields parameter to include only the specific data you need. For example, to retrieve only the role and emails, specify these keys in the fields parameter as shown below.

curl -X GET 'https://api.ipgeolocation.io/v3/abuse?apiKey=API_KEY&ip=1.0.0.0&fields=abuse.emails'
Response Preview
1{
2  "ip": "1.0.0.0",
3  "abuse": {
4    "emails": [
5      "helpdesk@apnic.net"
6    ]
7  }
8}

Excluding Fields

You can exclude specific fields from the API response (except the ip field) by listing them in the excludes parameter as a comma-separated list. For example, you want to remove emails api response, you can put the keys in excludes parameter like this.

curl -X GET 'https://api.ipgeolocation.io/v3/abuse?apiKey=API_KEY&ip=1.0.0.0&excludes=abuse.emails'
Response Preview
1{
2  "ip": "1.0.0.0",
3  "abuse": {
4    "route": "1.0.0.0/24",
5    "country": "AU",
6    "name": "IRT-APNICRANDNET-AU",
7    "organization": "",
8    "kind": "group",
9    "address": "PO Box 3646\nSouth Brisbane, QLD 4101\nAustralia",
10    "phone_numbers": [
11      "+61 7 3858 3100"
12    ]
13  }
14}

Abuse Contact Details in Main IPGeolocation Endpoint

Abuse contact data is available only on the Paid plan of the IP Geolocation API. See the Pricing page for plan details.

You can retrieve Abuse details using the /v3/ipgeo endpoint by explicitly including include=abuse in the query parameters. When requested, the response includes abuse contact information along with location, security, timezone, ASN data, user-agent, network, company and other fields described in the IP Location API documentation.

Abuse contact details are returned in the /v3/ipgeo response once the abuse object is enabled, as shown below.

curl -X GET 'https://api.ipgeolocation.io/v3/ipgeo?apiKey=API_KEY&ip=49.12.0.0&include=abuse'
Response Preview
1{
2  "ip": "49.12.0.0",
3  "abuse": {
4    "route": "49.12.0.0/20",
5    "country": "DE",
6    "name": "Hetzner Online GmbH - Contact Role",
7    "organization": "ORG-HOA1-RIPE",
8    "kind": "group",
9    "address": "Hetzner Online GmbH\nIndustriestrasse 25\nD-91710 Gunzenhausen\nGermany",
10    "emails": [
11      "abuse@hetzner.com"
12    ],
13    "phone_numbers": [
14      "+49 9831 505-3",
15      " +49 9831 505-0"
16    ]
17  },
18  "location": {
19    "continent_code": "EU",
20    "continent_name": "Europe",
21    "country_code2": "DE",
22    "country_code3": "DEU",
23    "country_name": "Germany",
24    "country_name_official": "Federal Republic of Germany",
25    "country_capital": "Berlin",
26    "state_prov": "Bavaria",
27    "state_code": "DE-BY",
28    "district": "Cham",
29    "city": "Falkenstein",
30    "zipcode": "93167",
31    "latitude": "49.09745",
32    "longitude": "12.48637",
33    "is_eu": true,
34    "country_flag": "https://ipgeolocation.io/static/flags/de_64.png",
35    "geoname_id": "2927917",
36    "country_emoji": "🇩🇪"
37  },
38  "country_metadata": {
39    "calling_code": "+49",
40    "tld": ".de",
41    "languages": [
42      "de"
43    ]
44  },
45  "network": {
46    "connection_type": "",
47    "route": "49.12.0.0/16",
48    "is_anycast": false
49  },
50  "currency": {
51    "code": "EUR",
52    "name": "Euro",
53    "symbol": "€"
54  },
55  "asn": {
56    "as_number": "AS24940",
57    "organization": "Hetzner Online GmbH",
58    "country": "DE",
59    "type": "HOSTING",
60    "domain": "hetzner.com",
61    "date_allocated": "2002-06-03",
62    "rir": "RIPE"
63  },
64  "company": {
65    "name": "Hetzner Online GmbH",
66    "type": "HOSTING",
67    "domain": "hetzner.com"
68  },
69  "time_zone": {
70    "name": "Europe/Berlin",
71    "offset": 1,
72    "offset_with_dst": 1,
73    "current_time": "2026-03-07 10:37:40.895+0100",
74    "current_time_unix": 1772876260.895,
75    "current_tz_abbreviation": "CET",
76    "current_tz_full_name": "Central European Standard Time",
77    "standard_tz_abbreviation": "CET",
78    "standard_tz_full_name": "Central European Standard Time",
79    "is_dst": false,
80    "dst_savings": 0,
81    "dst_exists": true,
82    "dst_tz_abbreviation": "CEST",
83    "dst_tz_full_name": "Central European Summer Time",
84    "dst_start": {
85      "utc_time": "2026-03-29 TIME 01:00",
86      "duration": "+1.00H",
87      "gap": true,
88      "date_time_after": "2026-03-29 TIME 03:00",
89      "date_time_before": "2026-03-29 TIME 02:00",
90      "overlap": false
91    },
92    "dst_end": {
93      "utc_time": "2026-10-25 TIME 01:00",
94      "duration": "-1.00H",
95      "gap": false,
96      "date_time_after": "2026-10-25 TIME 02:00",
97      "date_time_before": "2026-10-25 TIME 03:00",
98      "overlap": true
99    }
100  }
101}

Reference to Abuse Contact API Response

Below, we provide separate tables for each JSON object in the response, listing all possible fields available across the abuse contact endpoint.

FieldTypeDescriptionCan be empty?
ipstring

The IP address for which abuse contact details are returned.

Yes
abuse.routestring

Abuse-handling IP range in CIDR notation ( <ip>/<prefix_length> ), like 195.39.4.200/29 , when available.

Yes
abuse.countrystring

The ISO 3166-1 alpha-2 country code (two uppercase letters) representing the country where the abuse contact is registered, for example CZ .

Yes
abuse.namestring

The name/title of the abuse contact role or team.

Yes
abuse.organizationstring

The name of the organization managing provided IP Address.

Yes
abuse.kindstring

Contact type from registry data, possible values group , individual .

Yes
abuse.addressstring

Registered address of the organization owning the queried IP.

Yes
abuse.emailsarray

List of email addresses for contacting the abuse team.

Yes
abuse.phone_numbersarray

List of phone numbers for abuse contact.

Yes

Error Codes

IP Abuse Contact API returns HTTP status code 200 for a successful API request along with the response.

In case of a bad or invalid request, IP Abuse Contact API returns 4xx HTTP status code along with a descriptive message explaining the reason for the error.

Below is a detailed explanation of the specific HTTP status codes and their corresponding error conditions:

HTTP StatusDescription
400
Bad Request

It is returned for one of the following reasons:

  • If the provided IPv4 or IPv6 address is invalid.

  • If special character(s) ( ) [ ] { } | ^ ` is passed in the API URL either as parameter or its value. Specially in case of API key.

401
Unauthorized

It is returned for one of the following reasons:

  • If API key (as apiKey URL parameter) is missing from the request to IP Abuse Contact API.

  • If an invalid (a random value) API key is provided.

  • If your account has been disabled or locked to use due to abuse or illegal activity.

  • When the request to IP Abuse Contact API is made using API key for a database subscription

  • When the request to IP Abuse Contact API is made on the 'paused' subscription.

  • If you’re making API requests after your subscription trial has been expired.

  • If your account’s active-until date has passed and you need to renew or upgrade your subscription.

  • If IP-Abuse lookup is called using free subsciption API key.

404
Not Found

It is returned for one of the following reasons:

  • If the IPv4 or IPv6 does not exist in our database.

  • If the IPv4 or IPv6 is passed as a path variable, instead of URL parameter as ip= .

  • If the wrong endpoint is called, that does not exist in our API.

405
Method Not Allowed
  • If wrong HTTP request method is used for calling the endpoints. Only GET method is allowed.

423
Locked
  • If the passed IP address is from a  Bogon ip ranges, or is part of a private network.

429
Too Many Requests

It is returned for one of the following reasons:

  • If the API usage limit has reached for the paid subscriptions with the status 'past due', 'deleted' or 'trial expired'.

  • If the surcharge API usage limit has reached against the subscribed plan.

499
Client Closed Request
  • If the client has set the very short request or connection timeout, leading to the server closing the request prematurely.

5XX
Server Side Error
  • If a 500 (Internal Server Error), 502 (Bad Gateway), 503 (Service Unavailable), 504 (Gateway Timeout), or 505 (HTTP Version Not Supported) status code is returned, it indicates an issue on our end. Please contact us with your request at  support@ipgeolocation.io for further assistance.


API SDKs

To facilitate the developers, we have added some SDKs for various programming languages. The detailed documentation on how to use these SDKs is available in the respective SDK's documentation page linked below.

Our SDKs are also available on Github. Feel free to help us improve them. Following are the available SDKs:


Frequently Asked Questions

IP address abuse refers to the misuse of IP addresses for harmful activities such as spamming, phishing, DDoS attacks, and unauthorized access attempts.
You can report abusive IP addresses by contacting the responsible organization managing those IPs using the abuse contact information associated with the IP address.
The abuse data is updated daily to ensure accuracy and provide the most current information available.
Abuse contact information allows organizations to report malicious activities directly to responsible parties. It enables them to take swift action to mitigate threats.
Common forms of abuse include activities such as spamming, phishing, DDoS attacks, IP spoofing, and unauthorized IP address scanning and open ports.
IP spoofing involves falsifying IP addresses to disguise malicious activities, making it challenging to trace and prevent unauthorized access.
IP hijacking, also known as prefix hijacking, occurs when unauthorized entities take control of IP address blocks and redirect traffic.
Businesses can implement security measures like firewalls, intrusion detection systems, and monitor network traffic to prevent IP abuse.

Subscribe to Our Newsletter

Get the latest in geolocation tech, straight to your inbox.