The DroneBL RPC WebService v2

Highly available querying and manipulation of the DroneBL database.


The DroneBL RPC WebService is used to connect the DroneBL to other codebases and scripts. Mostly it is used internally to add and remove entries in the database on demand. To use the WebService, you will need an RPCKEY, which you can get by contacting us. Our BOPM reporting service is an example of possible usage of the RPC webservice.

List of tools

As follows are some scripts that employ the RPC2 methods described below. Use these as they are, modify them, or take them apart to see how they work.


Url to send requests to: http(s)://

A request looks something like this, where METHOD and METHOD-PARAMS belong to the list below:

    <?xml version="1.0"?>
    <request key='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' [staging='1' [debug='1']]>

request: Perform a request.

Errors look like this:

    <?xml version="1.0"?>
    <response type="error">


Once you have acquired an RPCKEY, you can use these methods. Note that some methods may not be available depending on what level of access your RPCKEY has. If you want to test your script, but do not actually want to execute add/remove requests, add the staging parameter to the REQUEST tag. The value does not matter, it only needs to exist.

typelist: Returns the available types possible.

    <typelist />


    <typelist type="**type**" description="**description**" />

    <debug data="typelist: <secs>." />

lookup: Looks up an IP or range in DroneBL. You must specify either ip or id.

    <lookup ip="ip or cidr" (or) id="id" [type="type" [listed="0|1|2" [start="unixtime" [stop="unixtime" [own="1" [limit="0-1000"]]]]]] />

add: Adds a new entry to the DroneBL.

    <add ip="ip" type="type" [port="1-65535" [comment="comment"]] />

remove: Removes a listing in DroneBL.

    <remove id="**id**" />

Using RPC2

You will need to sign up for an RPCKEY. This is now a public process, and the RPCKEY will work for RPC1 too, which is a bit easier than RPC2, but less powerful.

We are working on standardizing RPC2 as a DNSBL provider interaction protocol. Hopefully other providers will start supporting it.

View Markdown Source