Today, we’re excited to announce the IDA Domain API, a new open-source Python API designed to make scripting in IDA simpler, more consistent, and more approachable.
This is v0.1.0 - the first step in a longer journey. It’s not the finish line, but rather a foundation for ongoing collaboration between Hex-Rays and the reversing community.
The Domain API is available now for IDA 9.1 and will also work with the upcoming IDA 9.2 release.
If you’ve scripted in IDA before, you know the power of the IDA Python SDK, but you also know it can be verbose, and that common tasks sometimes require more boilerplate than you’d like.
The “Domain” in Domain API refers to the domain of reverse engineering - the core problem space we work in. In this domain, concepts like functions, types, xrefs, and more are central. The Domain API makes these concepts first-class citizens, giving you a cleaner, more natural way to work with them.
The Domain API sits on top of the IDA Python SDK, offering a cleaner, domain-focused abstraction for frequent tasks. It’s designed to complement, not replace, the SDK. You can use both side by side, combining the simplicity of Domain API calls with the full flexibility of the SDK when needed.
This first release is intentionally focused. You’ll find:
The Domain API is available on PyPI:
pip install ida-domain
If idalib cannot automatically locate your IDA installation, set the IDADIR
environment variable to point to it and you’re ready to go.
-> Read the Getting Started Guide for installation details, code samples, and usage tips.
We’re treating this as an open-ended collaboration. Over the next weeks, we’ll share:
This is the start of a faster, more transparent development cycle where community input directly shapes the tool.
We want to hear from you:
-> Join the discussion on the Hex-Rays forum
-> Explore the Domain API on GitHub
-> Check out the reference documentation