Information for Developers – KBase SDK

The KBase Software Development Kit (SDK) allows third-party developers to wrap open source tools into KBase as Apps. KBase users can then run these Apps on their own data in their Narratives and cite the use of these tools in their publications.

Get Started

Sign up for a user account

You need a user account to be able to access KBase’s user interfaces, APIs, workspaces, and more.

Get the code

Nearly all KBase software is publicly available through GitHub. You may reuse KBase code under the terms of our open source license.

Read the SDK Documentation

Learn to use KBase SDK to begin crafting your tools to add to the KBase App Catalog.

Develop and release your App

If you want to develop apps using the SDK, please apply for a KBase developer account by going to If you are a US citizen, your account can be created within a few days. For foreign nationals, it may take several weeks (and, in a few cases, you may not be able to get a developer account). Non-US citizens will be asked for additional information in order to process their application.Once your account is approved, contact us with your username and ask to be added to the developer list.

Software Development Kit (SDK)

SDK_iconThe KBase SDK offers members of the KBase community a mechanism to add open-source, open-license (as defined by OSI at analysis tools to KBase so that they run on KBase’s computational architecture and are available through the KBase Narrative Interface. Community developers can even write new tools that take advantage of the KBase Structured Data Types and large KBase Reference Data Resources. Check which tools have already been made available in our App Catalog and add your own!


KBase System Architecture


At left is a conceptual overview of KBase high-level architecture. KBase is based loosely on a service-oriented architecture that bundles related functionality into a set of independently scalable services that are managed to provide responsive interaction via the Narrative Interface.

For more details, please see the KBase architecture overview, which outlines the components and relationships between KBase’s user interfaces, services and databases.