AbuseIPDB 1.0.0

.NET 6.0
There is a newer version of this package available.
See the version list below for details.
dotnet add package AbuseIPDB --version 1.0.0
NuGet\Install-Package AbuseIPDB -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AbuseIPDB" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AbuseIPDB --version 1.0.0
#r "nuget: AbuseIPDB, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AbuseIPDB as a Cake Addin
#addin nuget:?package=AbuseIPDB&version=1.0.0

// Install AbuseIPDB as a Cake Tool
#tool nuget:?package=AbuseIPDB&version=1.0.0

AbuseIPDB ⛔

alternate text is missing from this package README image

An async C# library for interacting with the v2 AbuseIPDB API.


Available on NuGet as AbuseIPDB, methods can be found under the class AbuseIPDBClient.

You will need to create your own API key: https://www.abuseipdb.com/account/api



  • Made with .NET 6
  • Fully async
  • Full coverage of the FREE and Premium v2 API
  • Deep documentation
  • No external dependencies (uses integrated HTTP and JSON)
  • Easily lookup IP addresses and report abuse
  • Custom exceptions (AbuseIPDBException) for advanced catching
  • Parsing of server errors
  • Automatic request retries
  • Example project to demonstrate all capabilities of the library


Under the Example directory you can find a working demo project that implements this library.

Code Samples

Creating a new AbuseIPDB API client

AbuseIPDBClient client = new("API KEY");

Checking an IP

IpCheckResult check = await client.Check("", true, 90);

Reporting an abusive IP

IpReportResult report = await client.Report("", new IpReportCategory[] { IpReportCategory.WebSpam, IpReportCategory.SSH }, "Test Report");

Bulk-reporting many IPs at once

BulkReportResult bulkReport = await client.BulkReport(stream);

Requesting reports for an IP

IpReport[] reports = await client.GetReports("", 300, 90);

Downloading a blacklist

BlacklistedIp[] ips = await client.GetBlacklist(10000);

Checking a CIDR block for recently reported IPs

CheckBlockResult checkBlock = await client.CheckBlock("", 30);

Clearing reports on an IP

ClearAddressResult clearAddress = await client.ClearAddress("");

Available methods

  • Task<BlacklistedIp[]> GetBlacklist(int limit = 10000, int? confidenceMinimum = null, string[] onlyCountries = null, string[] exceptCountries = null)
  • Task<BulkReportResult> BulkReport(Stream csvStream)
  • Task<CheckBlockResult> CheckBlock(string network, int maxAge)
  • Task<ClearAddressResult> ClearAddress(string ip)
  • Task<IpCheckResult> Check(string ip, bool verbose = true, int maxAge = 90)
  • Task<IpReportResult> Report(string ip, IpReportCategory[] categories, string comment)
  • Task<IpReport[]> GetReports(string ip, int limit = 100, int maxAge = 90)


Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.3 255 2/19/2023
1.2.2 402 11/17/2022
1.2.1 274 11/15/2022
1.2.0 325 10/28/2022
1.1.0 362 9/23/2022
1.0.0 378 9/18/2022