domaintools-api
DomainTools Official Python API
What it is and what it does
The DomainTools API wrapper is an official Python client for accessing DomainTools' cybersecurity and domain intelligence services. It exposes endpoints from Iris Investigate (complex domain searches via IrisQL query language), Iris Enrich (domain enrichment and metadata), and Iris Detect (threat detection) as methods on an API object, handling authentication, request formatting, and response parsing automatically.
The package supports both synchronous and asynchronous usage patterns, with results accessible as native Python objects, JSON, XML, or HTML. It includes a command-line interface for direct API calls and handles exceptions with detailed error information. Runtime dependencies (httpx, pyyaml, rich, typer) provide HTTP transport, configuration parsing, formatted output, and CLI scaffolding.
Use it for:
- Query domain risk scores and threat intelligence data for security investigations or incident response.
- Enrich domain metadata (WHOIS, DNS, SSL certificate data) for automated threat analysis workflows.
- Execute complex multi-field domain searches using IrisQL for phishing, malware, or suspicious domain discovery.
- Build command-line tools or scripts to check domain reputation without writing HTTP requests manually.
- Integrate domain threat feeds into security monitoring or SIEM platforms via Python automation.
- Perform bulk domain lookups asynchronously to reduce latency in high-throughput security scanning.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python interface to DomainTools cybersecurity APIs (Iris Investigate, Iris Enrich, Iris Detect) for querying domain data, threat intelligence, and risk scoring.
Yes, if you have DomainTools API credentials and need to query domain threat intelligence or enrichment data from Python. The package is actively maintained, has low install friction, uses permissive MIT licensing, and supports current Python versions (3.9+). No known vulnerabilities. Install only if you have a valid DomainTools subscription or API access.
Install
domaintools-api on PyPI
pip
pip install domaintools-apiuv
uv add domaintools-apipoetry
poetry add domaintools-apiInstalling domaintools-api
Before you install
Low friction installation via pip with a pure-Python wheel. Actively maintained as of 2026-07-29 with recent releases. Depends on httpx, pyyaml, rich, and typer—all stable, widely-used libraries.
License in practice
MIT license (permissive). You may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install domaintools_api
from domaintools import API
api = API(username, api_key)
result = api.iris_enrich('example.com')
print(result.response())
Requires valid DomainTools API credentials (username and API key) to make requests; unauthenticated calls will fail.
Verify before relying
- Whether the package supports all current DomainTools API endpoints beyond those shown in the description excerpt.
- Rate limiting or quota behavior when making high-volume requests.
- Whether async operations have performance benefits or are primarily for non-blocking I/O.
- Specific error handling and retry strategies for network failures or API timeouts.
Package facts
| License | The MIT License (MIT) Copyright (c) 2016 DomainTools Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — httpx, pyyaml, rich, typer |
| Maintenance | actively maintained — 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,799/month — #9,166 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: domaintools_api-2.9.0-py2.py3-none-any.whl
Keywords: Python, Python3
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
dnstwistGenerates domain name permutations to detect…
permissive · top 15,000 on PyPI
OTXv2OTXv2 is a Python client for AlienVault's Open…
unclear · top 15,000 on PyPI
intersystems-irispythonProvides Python bindings to connect to and…
unclear · top 15,000 on PyPI
proxycurl-pyA Python client for the Proxycurl API that…
unclear · top 15,000 on PyPI
ipinfoQueries the IPinfo.io API to retrieve…
permissive · top 15,000 on PyPI
vt-pyOfficial Python client for the VirusTotal REST…
permissive · top 15,000 on PyPI
threatwirethreatwire provides real-time network packet…
permissive · top 15,000 on PyPI
whoisRetrieves WHOIS information for domain names by…
permissive · top 15,000 on PyPI
taxii2-clientA minimal client library for querying and…
permissive · top 15,000 on PyPI
python-whoisQueries WHOIS servers directly to retrieve and…
permissive · top 5,000 on PyPI