DomainTools 101: The Art of Tracking Threat Actors

As a long time software engineer, I know how time consuming and frustrating it can be to integrate with an external service. First, you need to wade through their (hopefully existent) documentation and gain a decent grasp of what services provide the information you’re after. Then, you need to identify what authentication system is in place to make calls. Finally, you need to determine input and output formats. Your reward at the end of all of this, beyond access to information, is a bunch of integration code that you need to test and maintain for the life of your agreement. I want to make it easier. To that end, I’m proud to announce our new Python API wrapper and CLI client available today here:

At DomainTools we have lots of exceptional data and provide an abundance of useful services around it. With this new API wrapper I’ve aimed to make integration with these resources as simple and painless as possible. Whether you are using the latest and greatest Python 3.5 with a fully async IO system or prefer the maturity and familiarity of Python 2.6+, installation is just a `pip install domaintools_api` away.

Once installed, simply instantiate the domaintools API object with your username and key to access any of our services:



From there you can easily retrieve documentation for every API we have available using Python’s built in help command:



Authentication, serialization, and rate limiting has all been taken care of by the library. Making a call to any of our services is just a method call, which returns results in a Python object. Beyond that, we’ve ensured every line of code has been thoroughly unit tested, so you can be assured it’s a rock solid library to add to your requirements.

From a CLI client, to async support, there’s a lot to explore and leverage in the new API wrapper! I hope you’ll take the time to fully explore it on our GitHub page. The wrapper is fully open source under the MIT license so you can feel free to fork it, contribute improvements, extend it, report issues, and become involved.