Skip to content

Using the Binary Ninja API

Welcome to the Binary Ninja API documentation. Much like the User Guide, some larger sections have been split off into their own sections on the left, while the table of contents for this documentation is on the right.

Language Specific Bindings

The Binary Ninja API is available through a Core API, through the C++ API, through a Python API, and a Rust API.

Python API

The Python API is the most common third-party API and is used in many public plugins. Here's a list of the most important Python API documentation resources:

Core API

The Core API is designed to only be used as a shim from other languages and is not currently intended to be used to build C plugins directly.

  • Header (used by all other bindings)

C++ API

The C++ API is what the Binary Ninja UI itself is built using so it's a robust and fully feature-complete interface to the core, however, it does not have the same level of detail in the documentation.

Rust API

The Rust API is still experimental and lacks complete coverage for all core APIs. Documentation is available at: