Overview of vSphere APIs and SDKs
Last Updated December 16, 2024

VMware vSphere® is VMware's virtualization platform, which transforms data centers into aggregated computing infrastructures that include CPU, storage, and networking resources. vSphere manages these infrastructures as a unified operating environment, and provides you with the tools to administer the data centers that participate in that environment. VMware offers a number of powerful APIs and SDKs to help you manage your virtualization infrastructure.
VMware provides APIs for managing different aspects of VMware vCenter Server® and the data center. This publication describes APIs in vSphere release 8.0 and later.
The following table provides a quick comparison of vSphere APIs with respect to functional capabilities and language bindings. Each row of the table indicates protocol and language support for an API. Language support can be a full SDK, an add-on library, or in some cases partial library support for the API.
vSphere APIs Compared
API
function
SOAP
JSON
Java
Python
Golang
vSphere Automation API
datacenter management advanced features
Yes
SDK
SDK
govmomi (partial)
VIM API
datacenter management basic features
Yes
Yes
SDK
pyvmomi
govmomi
vCenter Server Management API
vCenter Server Appliance admin
Yes
SDK
SDK
govmomi
Storage Policy API
storage affinity profiles
Yes
SDK
pyvmomi
govmomi
Storage Monitoring
manage storage arrays
Yes
SDK
pyvmomi
govmomi
vSAN API
pooling ESXi attached storage
Yes
SDK
SDK + pyvmomi
SDK
Virtual Storage Lifecycle Management
manage standalone virtual disks
Yes
SDK
build from WSDL
ESX Agent Manager (EAM)
vSphere extensions & services
Yes
SDK
pyvmomi
govmomi
Virtual Disk Development Kit (VDDK)
operate on virtual disks, C language and Java
local
local
VADP
For reference, the following diagram shows key service endpoints used by different vSphere APIs.
vCenter Server endpoints