JetBrains Marketplace Help

Plugin repository REST client

JetBrains is maintaining an official client and CLI (command line interface) for JetBrains Marketplace.

You can find it in the plugin-repository-rest-client GitHub repository.


The code snippet below will initiate the instance of JetBrains Marketplace.

val instance = PluginRepositoryFactory.create("", "authToken")

Download plugin"org.jetbrains.plugins.go", version, into, channel)

Upload update and new plugins

The code snippet below will init the instance of JetBrains Marketplace. You need to provide a permanent hub token to authorize.

// upload update to existing plugin instance.uploader.uploadPlugin("org.jetbrains.kotlin", file, channel, notes) // upload new plugin to JetBrains Marketplace instance.uploader.uploadNewPlugin(file, categoryId, licenseUrl)

Plugin info

val pluginMeta = instance.pluginUpdateManager.getIntellijUpdateMetadata(pluginId, updateId) val updateInfo = instance.pluginUpdateManager.getUpdatesByVersionAndFamily("org.jetbrains.kotlin", version, family) val plugin = instance.pluginManager.getPlugin(pluginId)


MARKETPLACE_MAX_PARALLEL_CONNECTIONS system property - The maximum number of requests to execute concurrently. Default: 16.


The org.jetbrains.intellij.pluginRepository.Client main class provides command line interface for uploading, downloading and listing plugins on the plugin repository.

Last modified: 04 April 2024